]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
arm.md (cbranchqi4): Fix array size.
authorBernd Schmidt <bernds@codesourcery.com>
Fri, 9 Jul 2010 21:51:16 +0000 (21:51 +0000)
committerBernd Schmidt <bernds@gcc.gnu.org>
Fri, 9 Jul 2010 21:51:16 +0000 (21:51 +0000)
* config/arm/arm.md (cbranchqi4): Fix array size.
(addsi3_cbranch): Also andle alternative 2 like alternative 3 when
calculating length.

From-SVN: r162022

gcc/ChangeLog
gcc/config/arm/arm.md

index 692c15d7ff9263c3d2f1c2a00c763ac1a112da2b..3aed4b505a74d10dc18f59a2bb20f55c2a966152 100644 (file)
 
        * config/arm/arm.md (Thumb-1 ldrsb peephole): New.
 
+       * config/arm/arm.md (cbranchqi4): Fix array size.
+       (addsi3_cbranch): Also andle alternative 2 like alternative 3 when
+       calculating length.
+
 2010-07-09  Richard Guenther  <rguenther@suse.de>
 
        * gimple.c (struct type_fixup_s): New struct and VEC type.
index 3461d3e901f9e5fcca3728340370edcb552c8f55..e597eb3a745d683c1aaf46c9ee157dae11bdd14f 100644 (file)
              (pc)))]
   "TARGET_THUMB1"
 {
-  rtx xops[3];
+  rtx xops[4];
   xops[1] = gen_reg_rtx (SImode);
   emit_insn (gen_zero_extendqisi2 (xops[1], operands[1]));
   xops[2] = GEN_INT (127);
      else if (which_alternative >= 4)
        output_asm_insn (\"str\\t%1, %0\", operands);
 
-     switch (get_attr_length (insn) - ((which_alternative >= 3) ? 2 : 0))
+     switch (get_attr_length (insn) - ((which_alternative >= 2) ? 2 : 0))
        {
         case 4:
           return \"b%d4\\t%l5\";
   [(set (attr "far_jump")
         (if_then_else
            (ior (and (lt (symbol_ref ("which_alternative"))
-                         (const_int 3))
+                         (const_int 2))
                      (eq_attr "length" "8"))
                 (eq_attr "length" "10"))
            (const_string "yes")
    (set (attr "length")
      (if_then_else
        (lt (symbol_ref ("which_alternative"))
-                      (const_int 3))
+                      (const_int 2))
        (if_then_else
         (and (ge (minus (match_dup 5) (pc)) (const_int -250))
              (le (minus (match_dup 5) (pc)) (const_int 256)))