diff mbox

[ARM] Fix predicable_short_it attribute for arm_movqi_insn

Message ID CAKdteOa=hPTwwyB9dLVofPpY=UF0VD7s-uBmOvi3dqeHtg4W1Q@mail.gmail.com
State New
Headers show

Commit Message

Christophe Lyon Aug. 23, 2016, 12:50 p.m. UTC
Hi,

While working on a larger patch for PR 67591 (ARM v8 Thumb IT blocks
deprecated),
I have noticed that the predicable_short_it attribute for
arm_movqi_insn is incorrect: the values for alternatives 3 and 4
should be swapped.

This is what this small patch does.

Validated on several arm* configurations, with improvements on:

  c-c++-common/torture/builtin-arith-overflow-18.c
  c-c++-common/torture/builtin-arith-overflow-p-18.c
  c-c++-common/torture/builtin-arith-overflow-p-19.c

for configurations involving armv8 and thumb mode.

OK for trunk?

Thanks,

Christophe
2016-08-23  Christophe Lyon  <christophe.lyon@linaro.org>

	* config/arm/arm.md (arm_movqi_insn): Swap predicable_short_it
	attribute for alternatives 3 and 4.
diff mbox

Patch

diff --git a/gcc/config/arm/arm.md b/gcc/config/arm/arm.md
index 04714a1..219b664 100644
--- a/gcc/config/arm/arm.md
+++ b/gcc/config/arm/arm.md
@@ -6518,7 +6518,7 @@ 
    strb%?\\t%1, %0"
   [(set_attr "type" "mov_reg,mov_reg,mov_imm,mov_imm,mvn_imm,load1,store1,load1,store1")
    (set_attr "predicable" "yes")
-   (set_attr "predicable_short_it" "yes,yes,yes,no,no,no,no,no,no")
+   (set_attr "predicable_short_it" "yes,yes,no,yes,no,no,no,no,no")
    (set_attr "arch" "t2,any,any,t2,any,t2,t2,any,any")
    (set_attr "length" "2,4,4,2,4,2,2,4,4")]
 )