]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
re PR target/55642 (Invalid thumb code generated ("thumb conditional instruction...
authorKyrylo Tkachov <kyrylo.tkachov@arm.com>
Tue, 11 Dec 2012 14:17:28 +0000 (14:17 +0000)
committerKyrylo Tkachov <ktkachov@gcc.gnu.org>
Tue, 11 Dec 2012 14:17:28 +0000 (14:17 +0000)
gcc/ChangeLog

2012-12-11  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>

PR target/55642
* config/arm/thumb2.md (*thumb2_abssi2):
Set ce_count attribute to 2.
(*thumb2_neg_abssi2): Likewise.

gcc/testsuite/ChangeLog

2012-12-11  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
PR target/55642
* gcc.target/arm/pr55642.c: New testcase.

From-SVN: r194398

gcc/ChangeLog
gcc/config/arm/thumb2.md
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/arm/pr55642.c [new file with mode: 0644]

index 4766eb2aba9de3637d0cc4bf6aab28a512111cb1..c815e9f2d20bc86da7ab98ab2b6279a4bc00d4d9 100644 (file)
@@ -1,3 +1,10 @@
+2012-12-11  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+       PR target/55642
+       * config/arm/thumb2.md (*thumb2_abssi2):
+       Set ce_count attribute to 2.
+       (*thumb2_neg_abssi2): Likewise.
+
 2012-12-11  Jakub Jelinek  <jakub@redhat.com>
 
        * varasm.c (get_variable_section): Don't return lcomm_section
index de573ca08104f9d875966a6411177cf850442d8c..f22666cf9a99d46b1491c8894c9e80f16964088f 100644 (file)
   [(set_attr "conds" "clob,*")
    (set_attr "shift" "1")
    (set_attr "predicable" "no, yes")
+   (set_attr "ce_count" "2")
    (set_attr "length" "10,8")]
 )
 
   [(set_attr "conds" "clob,*")
    (set_attr "shift" "1")
    (set_attr "predicable" "no, yes")
+   (set_attr "ce_count" "2")
    (set_attr "length" "10,8")]
 )
 
index fff359b5021b268aadcc80524d3c502563aac127..c4aace46b638dfa403c53e94a148c426636f6488 100644 (file)
@@ -1,3 +1,7 @@
+2012-12-11  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+       PR target/55642
+       * gcc.target/arm/pr55642.c: New testcase.
+
 2012-12-11  Jakub Jelinek  <jakub@redhat.com>
 
        PR middle-end/43631
diff --git a/gcc/testsuite/gcc.target/arm/pr55642.c b/gcc/testsuite/gcc.target/arm/pr55642.c
new file mode 100644 (file)
index 0000000..10f2daa
--- /dev/null
@@ -0,0 +1,15 @@
+/* { dg-options "-mthumb -O2" }  */
+/* { dg-do compile } */
+/* { dg-require-effective-target arm_thumb2_ok } */
+
+int
+foo (int v)
+{
+  register int i asm ("r0");
+  register int j asm ("r1");
+  if (v > 1)
+    i = abs (j);
+
+  return i;
+}
+