diff options
author | Jakub Jelinek <jakub@redhat.com> | 2005-09-06 10:53:11 +0200 |
---|---|---|
committer | Jakub Jelinek <jakub@gcc.gnu.org> | 2005-09-06 10:53:11 +0200 |
commit | 1c653a41cf6b763a1506679082e4743641a5e3b5 (patch) | |
tree | 56b6457372e7ce447bcc0d30ab7f7fd8beeec6d3 /gcc/cse.c | |
parent | 70a640af36dabccba824de7661405b5667ea57c7 (diff) | |
download | gcc-1c653a41cf6b763a1506679082e4743641a5e3b5.zip gcc-1c653a41cf6b763a1506679082e4743641a5e3b5.tar.gz gcc-1c653a41cf6b763a1506679082e4743641a5e3b5.tar.bz2 |
re PR rtl-optimization/23098 (store of 0.0 to float)
PR rtl-optimization/23098
* cse.c (fold_rtx_mem): Call delegitimize_address target hook.
* simplify-rtx.c (constant_pool_reference_p): New function.
* rtl.h (constant_pool_reference_p): New prototype.
* config/i386/i386.md (pushf split, mov[sdx]f split): Use
constant_pool_reference_p in condition and
avoid_constant_pool_reference in preparation statements.
* gcc.target/i386/pr23098.c: New test.
From-SVN: r103935
Diffstat (limited to 'gcc/cse.c')
-rw-r--r-- | gcc/cse.c | 3 |
1 files changed, 3 insertions, 0 deletions
@@ -3462,6 +3462,9 @@ fold_rtx_mem (rtx x, rtx insn) addr = addr_ent->const_rtx; } + /* Call target hook to avoid the effects of -fpic etc.... */ + addr = targetm.delegitimize_address (addr); + /* If address is constant, split it into a base and integer offset. */ if (GET_CODE (addr) == SYMBOL_REF || GET_CODE (addr) == LABEL_REF) |