mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-03-19 05:20:25 +08:00
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
This commit is contained in:
parent
6231646a02
commit
fb3249eff2
@ -1,3 +1,10 @@
|
||||
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)
|
||||
|
Loading…
x
Reference in New Issue
Block a user