Commit 833126ad by David Edelsohn Committed by David Edelsohn

re PR target/24772 (Lots of ICEs in vrsave_operation_1 while running the testsuite on powerpc)

        PR target/24772
        * config/rs6000/predicates.md (vrsave_operation): SET_SRC is a VEC.

        * config/rs6000/rs6000.md (btruncsf2, ceilsf2, floorsf2,
        roundsf2): Remove "s" from mnemonic.

From-SVN: r107085
parent 0d88914b
2005-11-16 David Edelsohn <edelsohn@gnu.org>
PR target/24772
* config/rs6000/predicates.md (vrsave_operation): SET_SRC is a VEC.
* config/rs6000/rs6000.md (btruncsf2, ceilsf2, floorsf2,
roundsf2): Remove "s" from mnemonic.
2005-11-16 Bernd Schmidt <bernd.schmidt@analog.com> 2005-11-16 Bernd Schmidt <bernd.schmidt@analog.com>
* config/bfin/crti.s (__init, __fini): Use appropriate prologue if * config/bfin/crti.s (__init, __fini): Use appropriate prologue if
......
...@@ -1038,10 +1038,9 @@ ...@@ -1038,10 +1038,9 @@
return 0; return 0;
dest_regno = REGNO (SET_DEST (XVECEXP (op, 0, 0))); dest_regno = REGNO (SET_DEST (XVECEXP (op, 0, 0)));
src_regno = REGNO (SET_SRC (XVECEXP (op, 0, 0))); src_regno = REGNO (XVECEXP (SET_SRC (XVECEXP (op, 0, 0)), 0, 1));
if (dest_regno != VRSAVE_REGNO if (dest_regno != VRSAVE_REGNO || src_regno != VRSAVE_REGNO)
&& src_regno != VRSAVE_REGNO)
return 0; return 0;
for (i = 1; i < count; i++) for (i = 1; i < count; i++)
......
...@@ -5332,7 +5332,7 @@ ...@@ -5332,7 +5332,7 @@
[(set (match_operand:SF 0 "gpc_reg_operand" "=f") [(set (match_operand:SF 0 "gpc_reg_operand" "=f")
(unspec:SF [(match_operand:SF 1 "gpc_reg_operand" "f")] UNSPEC_FRIZ))] (unspec:SF [(match_operand:SF 1 "gpc_reg_operand" "f")] UNSPEC_FRIZ))]
"TARGET_FPRND && TARGET_HARD_FLOAT && TARGET_FPRS" "TARGET_FPRND && TARGET_HARD_FLOAT && TARGET_FPRS"
"frizs %0,%1" "friz %0,%1"
[(set_attr "type" "fp")]) [(set_attr "type" "fp")])
(define_insn "ceildf2" (define_insn "ceildf2"
...@@ -5343,10 +5343,10 @@ ...@@ -5343,10 +5343,10 @@
[(set_attr "type" "fp")]) [(set_attr "type" "fp")])
(define_insn "ceilsf2" (define_insn "ceilsf2"
[(set (match_operand:SF 0 "gpc_reg_operand" "=f") [(set (match_operand:SF 0 "gpc_reg_operand" "=f")
(unspec:SF [(match_operand:SF 1 "gpc_reg_operand" "f")] UNSPEC_FRIP))] (unspec:SF [(match_operand:SF 1 "gpc_reg_operand" "f")] UNSPEC_FRIP))]
"TARGET_FPRND && TARGET_HARD_FLOAT && TARGET_FPRS" "TARGET_FPRND && TARGET_HARD_FLOAT && TARGET_FPRS"
"frips %0,%1" "frip %0,%1"
[(set_attr "type" "fp")]) [(set_attr "type" "fp")])
(define_insn "floordf2" (define_insn "floordf2"
...@@ -5360,7 +5360,7 @@ ...@@ -5360,7 +5360,7 @@
[(set (match_operand:SF 0 "gpc_reg_operand" "=f") [(set (match_operand:SF 0 "gpc_reg_operand" "=f")
(unspec:SF [(match_operand:SF 1 "gpc_reg_operand" "f")] UNSPEC_FRIM))] (unspec:SF [(match_operand:SF 1 "gpc_reg_operand" "f")] UNSPEC_FRIM))]
"TARGET_FPRND && TARGET_HARD_FLOAT && TARGET_FPRS" "TARGET_FPRND && TARGET_HARD_FLOAT && TARGET_FPRS"
"frims %0,%1" "frim %0,%1"
[(set_attr "type" "fp")]) [(set_attr "type" "fp")])
(define_insn "rounddf2" (define_insn "rounddf2"
...@@ -5374,7 +5374,7 @@ ...@@ -5374,7 +5374,7 @@
[(set (match_operand:SF 0 "gpc_reg_operand" "=f") [(set (match_operand:SF 0 "gpc_reg_operand" "=f")
(unspec:SF [(match_operand:SF 1 "gpc_reg_operand" "f")] UNSPEC_FRIN))] (unspec:SF [(match_operand:SF 1 "gpc_reg_operand" "f")] UNSPEC_FRIN))]
"TARGET_FPRND && TARGET_HARD_FLOAT && TARGET_FPRS" "TARGET_FPRND && TARGET_HARD_FLOAT && TARGET_FPRS"
"frins %0,%1" "frin %0,%1"
[(set_attr "type" "fp")]) [(set_attr "type" "fp")])
; An UNSPEC is used so we don't have to support SImode in FP registers. ; An UNSPEC is used so we don't have to support SImode in FP registers.
......
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