aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorBernd Schmidt <bernds@codesourcery.com>2010-07-09 21:51:16 +0000
committerBernd Schmidt <bernds@gcc.gnu.org>2010-07-09 21:51:16 +0000
commit95da5cf9177a915c6c015468b822e402293dcf5e (patch)
treea968aff64cd638fca7f0f27ac8fb4ddef4f190a9 /gcc
parent1744c80034795a44ca69e795c30ddb36e8b22cbe (diff)
downloadgcc-95da5cf9177a915c6c015468b822e402293dcf5e.zip
gcc-95da5cf9177a915c6c015468b822e402293dcf5e.tar.gz
gcc-95da5cf9177a915c6c015468b822e402293dcf5e.tar.bz2
arm.md (cbranchqi4): Fix array size.
* config/arm/arm.md (cbranchqi4): Fix array size. (addsi3_cbranch): Also andle alternative 2 like alternative 3 when calculating length. From-SVN: r162022
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog4
-rw-r--r--gcc/config/arm/arm.md8
2 files changed, 8 insertions, 4 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 692c15d..3aed4b5 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -13,6 +13,10 @@
* 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.
diff --git a/gcc/config/arm/arm.md b/gcc/config/arm/arm.md
index 3461d3e..e597eb3a 100644
--- a/gcc/config/arm/arm.md
+++ b/gcc/config/arm/arm.md
@@ -6562,7 +6562,7 @@
(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);
@@ -7509,7 +7509,7 @@
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\";
@@ -7523,7 +7523,7 @@
[(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")
@@ -7531,7 +7531,7 @@
(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)))