Commit a9a421e1 by Kaz Kojima

re PR target/67573 ([SH] wrong code generated for…

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
parent 30362998
2015-09-16 Kaz Kojima <kkojima@gcc.gnu.org>
PR target/67573
* config/sh/sh.md (call_pcrel): Add early clobber to scratch
operand.
(call_value_pcrel, sibcall_pcrel, sibcall_value_pcrel): Likewise.
2015-09-16 Manuel López-Ibáñez <manu@gcc.gnu.org> 2015-09-16 Manuel López-Ibáñez <manu@gcc.gnu.org>
* toplev.h (check_global_declaration): Remove declaration. * toplev.h (check_global_declaration): Remove declaration.
......
...@@ -9464,7 +9464,7 @@ label: ...@@ -9464,7 +9464,7 @@ label:
(use (reg:SI FPSCR_MODES_REG)) (use (reg:SI FPSCR_MODES_REG))
(use (reg:SI PIC_REG)) (use (reg:SI PIC_REG))
(clobber (reg:SI PR_REG)) (clobber (reg:SI PR_REG))
(clobber (match_scratch:SI 2 "=r"))] (clobber (match_scratch:SI 2 "=&r"))]
"TARGET_SH2" "TARGET_SH2"
"#" "#"
"reload_completed" "reload_completed"
...@@ -9595,7 +9595,7 @@ label: ...@@ -9595,7 +9595,7 @@ label:
(use (reg:SI FPSCR_MODES_REG)) (use (reg:SI FPSCR_MODES_REG))
(use (reg:SI PIC_REG)) (use (reg:SI PIC_REG))
(clobber (reg:SI PR_REG)) (clobber (reg:SI PR_REG))
(clobber (match_scratch:SI 3 "=r"))] (clobber (match_scratch:SI 3 "=&r"))]
"TARGET_SH2" "TARGET_SH2"
"#" "#"
"reload_completed" "reload_completed"
...@@ -9993,7 +9993,7 @@ label: ...@@ -9993,7 +9993,7 @@ label:
[(call (mem:SI (match_operand:SI 0 "symbol_ref_operand" "")) [(call (mem:SI (match_operand:SI 0 "symbol_ref_operand" ""))
(match_operand 1 "" "")) (match_operand 1 "" ""))
(use (reg:SI FPSCR_MODES_REG)) (use (reg:SI FPSCR_MODES_REG))
(clobber (match_scratch:SI 2 "=k")) (clobber (match_scratch:SI 2 "=&k"))
(return)] (return)]
"TARGET_SH2" "TARGET_SH2"
"#" "#"
...@@ -10185,7 +10185,7 @@ label: ...@@ -10185,7 +10185,7 @@ label:
(call (mem:SI (match_operand:SI 1 "symbol_ref_operand" "")) (call (mem:SI (match_operand:SI 1 "symbol_ref_operand" ""))
(match_operand 2 "" ""))) (match_operand 2 "" "")))
(use (reg:SI FPSCR_MODES_REG)) (use (reg:SI FPSCR_MODES_REG))
(clobber (match_scratch:SI 3 "=k")) (clobber (match_scratch:SI 3 "=&k"))
(return)] (return)]
"TARGET_SH2" "TARGET_SH2"
"#" "#"
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment