* config/sparc/sparc.c (sparc_emit_probe_stack_range): Fix small
authorebotcazou <ebotcazou@138bc75d-0d04-0410-961f-82ee72b054a4>
Sat, 23 Mar 2013 11:32:40 +0000 (11:32 +0000)
committerebotcazou <ebotcazou@138bc75d-0d04-0410-961f-82ee72b054a4>
Sat, 23 Mar 2013 11:32:40 +0000 (11:32 +0000)
inaccuracy in the probing code.

* config/sparc/sparc.md (ctrapsi4): Add predicate for operand #3.
(ctrapdi4): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@197004 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/config/sparc/sparc.c
gcc/config/sparc/sparc.md

index ee8685b..95531e1 100644 (file)
@@ -1,5 +1,13 @@
 2013-03-23  Eric Botcazou  <ebotcazou@adacore.com>
 
+       * config/sparc/sparc.c (sparc_emit_probe_stack_range): Fix small
+       inaccuracy in the probing code.
+
+       * config/sparc/sparc.md (ctrapsi4): Add predicate for operand #3.
+       (ctrapdi4): Likewise.
+
+2013-03-23  Eric Botcazou  <ebotcazou@adacore.com>
+
        * calls.c (expand_call): Add missing guard to code handling return
        of non-BLKmode structures in MSB.
        * function.c (expand_function_end): Likewise.
index 08c2894..f4ac6e4 100644 (file)
@@ -4777,7 +4777,7 @@ sparc_emit_probe_stack_range (HOST_WIDE_INT first, HOST_WIDE_INT size)
         probes at FIRST + N * PROBE_INTERVAL for values of N from 1
         until it is equal to ROUNDED_SIZE.  */
 
-      if (TARGET_64BIT)
+      if (TARGET_ARCH64)
        emit_insn (gen_probe_stack_rangedi (g1, g1, g4));
       else
        emit_insn (gen_probe_stack_rangesi (g1, g1, g4));
index b60af43..933991c 100644 (file)
   [(trap_if (match_operator 0 "noov_compare_operator"
             [(match_operand:SI 1 "compare_operand" "")
              (match_operand:SI 2 "arith_operand" "")])
-          (match_operand 3 ""))]
+          (match_operand 3 "arith_operand"))]
   ""
   "operands[1] = gen_compare_reg (operands[0]);
    if (GET_MODE (operands[1]) != CCmode && GET_MODE (operands[1]) != CCXmode)
   [(trap_if (match_operator 0 "noov_compare_operator"
             [(match_operand:DI 1 "compare_operand" "")
              (match_operand:DI 2 "arith_operand" "")])
-          (match_operand 3 ""))]
+          (match_operand 3 "arith_operand"))]
   "TARGET_ARCH64"
   "operands[1] = gen_compare_reg (operands[0]);
    if (GET_MODE (operands[1]) != CCmode && GET_MODE (operands[1]) != CCXmode)