re PR c/8281 ([Sparc] ICE when compiling with -O2 -fPIC for Ultrasparc)

PR c/8281
	* config/sparc/sparc.md (movdi_insn_sp32_v9): Remove 'f-f' alternative.
	(movdi reg/reg split): Match only on sparc32, and v9 when int regs.

From-SVN: r64961
This commit is contained in:
Eric Botcazou 2003-03-28 09:55:04 +01:00 committed by Eric Botcazou
parent 0a418a9503
commit 239a66497f
3 changed files with 23 additions and 7 deletions

View File

@ -1,3 +1,9 @@
2003-03-28 Eric Botcazou <ebotcazou@libertysurf.fr>
PR c/8281
* config/sparc/sparc.md (movdi_insn_sp32_v9): Remove 'f-f' alternative.
(movdi reg/reg split): Match only on sparc32, and v9 when int regs.
2003-03-28 Eric Botcazou <ebotcazou@libertysurf.fr>
Richard Henderson <rth@redhat.com>

View File

@ -2531,9 +2531,9 @@
(define_insn "*movdi_insn_sp32_v9"
[(set (match_operand:DI 0 "nonimmediate_operand"
"=T,o,T,U,o,r,r,r,?T,?f,?f,?o,?f,?e,?e,?W")
"=T,o,T,U,o,r,r,r,?T,?f,?f,?o,?e,?e,?W")
(match_operand:DI 1 "input_operand"
" J,J,U,T,r,o,i,r, f, T, o, f, f, e, W, e"))]
" J,J,U,T,r,o,i,r, f, T, o, f, e, W, e"))]
"! TARGET_ARCH64 && TARGET_V9
&& (GET_CODE (operands[0]) != MEM || GET_CODE (operands[1]) != MEM)"
"@
@ -2549,13 +2549,12 @@
ldd\\t%1, %0
#
#
#
fmovd\\t%1, %0
ldd\\t%1, %0
std\\t%1, %0"
[(set_attr "type" "store,store,store,load,*,*,*,*,fpstore,fpload,*,*,*,fpmove,fpload,fpstore")
(set_attr "length" "*,2,*,*,2,2,2,2,*,*,2,2,2,*,*,*")
(set_attr "fptype" "*,*,*,*,*,*,*,*,*,*,*,*,*,double,*,*")])
[(set_attr "type" "store,store,store,load,*,*,*,*,fpstore,fpload,*,*,fpmove,fpload,fpstore")
(set_attr "length" "*,2,*,*,2,2,2,2,*,*,2,2,*,*,*")
(set_attr "fptype" "*,*,*,*,*,*,*,*,*,*,*,*,double,*,*")])
(define_insn "*movdi_insn_sp32"
[(set (match_operand:DI 0 "nonimmediate_operand"
@ -2899,7 +2898,14 @@
(define_split
[(set (match_operand:DI 0 "register_operand" "")
(match_operand:DI 1 "register_operand" ""))]
"! TARGET_ARCH64 && reload_completed"
"reload_completed
&& (! TARGET_V9
|| (! TARGET_ARCH64
&& ((GET_CODE (operands[0]) == REG
&& REGNO (operands[0]) < 32)
|| (GET_CODE (operands[0]) == SUBREG
&& GET_CODE (SUBREG_REG (operands[0])) == REG
&& REGNO (SUBREG_REG (operands[0])) < 32))))"
[(clobber (const_int 0))]
"
{

View File

@ -1,3 +1,7 @@
2003-03-28 Eric Botcazou <ebotcazou@libertysurf.fr>
* gcc.dg/ultrasp7.c: New test.
2003-03-28 Eric Botcazou <ebotcazou@libertysurf.fr>
* gcc.dg/sparc-dwarf2.c: New test.