diff options
author | Kaz Kojima <kkojima@gcc.gnu.org> | 2015-09-17 00:12:57 +0000 |
---|---|---|
committer | Kaz Kojima <kkojima@gcc.gnu.org> | 2015-09-17 00:12:57 +0000 |
commit | a9a421e19912771fbf945624c8e878e4074f6b92 (patch) | |
tree | 079ddbd636fd95fb43ffae3bf968b586ddbc5dcd /gcc/config/sh/sh.md | |
parent | 30362998612b17c3e016d0fc8f0b3b2ead666927 (diff) | |
download | gcc-a9a421e19912771fbf945624c8e878e4074f6b92.zip gcc-a9a421e19912771fbf945624c8e878e4074f6b92.tar.gz gcc-a9a421e19912771fbf945624c8e878e4074f6b92.tar.bz2 |
re PR target/67573 ([SH] wrong code generated for libstdc++-v3/src/c++11/cxx11-shim_facets.cc at -mlra)
PR target/67573
* config/sh/sh.md: Add early clobber to scratch operand of *call_*pcrel
insn_and_split so not to CSE scratch reg.
From-SVN: r227837
Diffstat (limited to 'gcc/config/sh/sh.md')
-rw-r--r-- | gcc/config/sh/sh.md | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/gcc/config/sh/sh.md b/gcc/config/sh/sh.md index 4e7cd16..659c4c7 100644 --- a/gcc/config/sh/sh.md +++ b/gcc/config/sh/sh.md @@ -9464,7 +9464,7 @@ label: (use (reg:SI FPSCR_MODES_REG)) (use (reg:SI PIC_REG)) (clobber (reg:SI PR_REG)) - (clobber (match_scratch:SI 2 "=r"))] + (clobber (match_scratch:SI 2 "=&r"))] "TARGET_SH2" "#" "reload_completed" @@ -9595,7 +9595,7 @@ label: (use (reg:SI FPSCR_MODES_REG)) (use (reg:SI PIC_REG)) (clobber (reg:SI PR_REG)) - (clobber (match_scratch:SI 3 "=r"))] + (clobber (match_scratch:SI 3 "=&r"))] "TARGET_SH2" "#" "reload_completed" @@ -9993,7 +9993,7 @@ label: [(call (mem:SI (match_operand:SI 0 "symbol_ref_operand" "")) (match_operand 1 "" "")) (use (reg:SI FPSCR_MODES_REG)) - (clobber (match_scratch:SI 2 "=k")) + (clobber (match_scratch:SI 2 "=&k")) (return)] "TARGET_SH2" "#" @@ -10185,7 +10185,7 @@ label: (call (mem:SI (match_operand:SI 1 "symbol_ref_operand" "")) (match_operand 2 "" ""))) (use (reg:SI FPSCR_MODES_REG)) - (clobber (match_scratch:SI 3 "=k")) + (clobber (match_scratch:SI 3 "=&k")) (return)] "TARGET_SH2" "#" |