diff mbox

[ARM] Fix for pr65924

Message ID CAD57uCf9ax1VUzJqFwqw_0mcFytwwzEg7Dj9AMbadX3abb8g+A@mail.gmail.com
State New
Headers show

Commit Message

Yvan Roux April 29, 2015, 8:57 a.m. UTC
Hi,

here is the patch for PR65924, only tested on the original testcase so far.

Thanks
Yvan

gcc/
2015-04-29  Yvan Roux  <yvan.roux@linaro.org>

    PR target/65924
    * config/arm/thumb2.md (*thumb2_addsi3_compare0_scratch): Fix operand
    number in type attribute expression.

gcc/testsuite/
2015-04-29  Yvan Roux  <yvan.roux@linaro.org>

    PR target/65924
    gcc.target/arm/pr65924.c: New test.

Comments

Yvan Roux April 29, 2015, 10:43 a.m. UTC | #1
Hi Kyrill,

On 29 April 2015 at 12:06, Kyrill Tkachov <kyrylo.tkachov@arm.com> wrote:
> Hi Yvan,
>
> On 29/04/15 09:57, Yvan Roux wrote:
>>
>> Hi,
>>
>> here is the patch for PR65924, only tested on the original testcase so
>> far.
>
>
> Can you please double check that the problem doesn't appear
> in the other patterns you touched with your cleanup patch?
> i.e. that you don't do match_operand on an out-of-bounds operand number?

Sure, I just re-check all the patterns and there is no other issue.

Cheers,
Yvan

> Thanks,
> Kyrill
>
>
>>
>> Thanks
>> Yvan
>>
>> gcc/
>> 2015-04-29  Yvan Roux  <yvan.roux@linaro.org>
>>
>>      PR target/65924
>>      * config/arm/thumb2.md (*thumb2_addsi3_compare0_scratch): Fix operand
>>      number in type attribute expression.
>>
>> gcc/testsuite/
>> 2015-04-29  Yvan Roux  <yvan.roux@linaro.org>
>>
>>      PR target/65924
>>      gcc.target/arm/pr65924.c: New test.
>
>
diff mbox

Patch

diff --git a/gcc/config/arm/thumb2.md b/gcc/config/arm/thumb2.md
index 4f9faac..2c91542 100644
--- a/gcc/config/arm/thumb2.md
+++ b/gcc/config/arm/thumb2.md
@@ -1305,7 +1305,7 @@ 
   "
   [(set_attr "conds" "set")
    (set_attr "length" "2,4")
-   (set (attr "type") (if_then_else (match_operand 2 "const_int_operand" "")
+   (set (attr "type") (if_then_else (match_operand 1 "const_int_operand" "")
                                     (const_string "alus_imm")
                                     (const_string "alus_sreg")))]
 )
diff --git a/gcc/testsuite/gcc.target/arm/pr65924.c b/gcc/testsuite/gcc.target/arm/pr65924.c
new file mode 100644
index 0000000..746749f
--- /dev/null
+++ b/gcc/testsuite/gcc.target/arm/pr65924.c
@@ -0,0 +1,8 @@ 
+/* { dg-do compile } */
+/* { dg-options "-O2 -mthumb" } */
+
+int a, b, c;
+int fn1() {
+  if (b + a < 0)
+    c = 0;
+}