Commit fb3249ef by David Edelsohn Committed by David Edelsohn

re PR target/24007 (very weird register allocation, putting a fp in the ctr register)

        PR target/24007
        * config/rs6000/rs6000.md (movsf_hardfloat): Ignore special
        registers when choosing register preferences.
        (movdf_hardfloat): Same.

From-SVN: r104529
parent 6231646a
2005-09-22 David Edelsohn <edelsohn@gnu.org>
PR target/24007
* config/rs6000/rs6000.md (movsf_hardfloat): Ignore special
registers when choosing register preferences.
(movdf_hardfloat): Same.
2005-09-22 Andreas Krebbel <krebbel1@de.ibm.com>
* expmed.c (expand_shift): Don't use the target of the rotate as
......
......@@ -7400,7 +7400,7 @@
}")
(define_insn "*movsf_hardfloat"
[(set (match_operand:SF 0 "nonimmediate_operand" "=!r,!r,m,f,f,m,!cl,!q,!r,!h,!r,!r")
[(set (match_operand:SF 0 "nonimmediate_operand" "=!r,!r,m,f,f,m,*c*l,*q,!r,*h,!r,!r")
(match_operand:SF 1 "input_operand" "r,m,r,f,m,f,r,r,h,0,G,Fn"))]
"(gpc_reg_operand (operands[0], SFmode)
|| gpc_reg_operand (operands[1], SFmode))
......@@ -7682,7 +7682,7 @@
; ld/std require word-aligned displacements -> 'Y' constraint.
; List Y->r and r->Y before r->r for reload.
(define_insn "*movdf_hardfloat64"
[(set (match_operand:DF 0 "nonimmediate_operand" "=Y,r,!r,f,f,m,!cl,!r,!h,!r,!r,!r")
[(set (match_operand:DF 0 "nonimmediate_operand" "=Y,r,!r,f,f,m,*c*l,!r,*h,!r,!r,!r")
(match_operand:DF 1 "input_operand" "r,Y,r,f,m,f,r,h,0,G,H,F"))]
"TARGET_POWERPC64 && TARGET_HARD_FLOAT && TARGET_FPRS
&& (gpc_reg_operand (operands[0], DFmode)
......
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