aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog7
-rw-r--r--gcc/config/arm/thumb2.md2
-rw-r--r--gcc/testsuite/ChangeLog4
-rw-r--r--gcc/testsuite/gcc.target/arm/pr55642.c15
4 files changed, 28 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 4766eb2..c815e9f 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -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
diff --git a/gcc/config/arm/thumb2.md b/gcc/config/arm/thumb2.md
index de573ca0..f22666c 100644
--- a/gcc/config/arm/thumb2.md
+++ b/gcc/config/arm/thumb2.md
@@ -142,6 +142,7 @@
[(set_attr "conds" "clob,*")
(set_attr "shift" "1")
(set_attr "predicable" "no, yes")
+ (set_attr "ce_count" "2")
(set_attr "length" "10,8")]
)
@@ -156,6 +157,7 @@
[(set_attr "conds" "clob,*")
(set_attr "shift" "1")
(set_attr "predicable" "no, yes")
+ (set_attr "ce_count" "2")
(set_attr "length" "10,8")]
)
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index fff359b..c4aace4 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -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
index 0000000..10f2daa
--- /dev/null
+++ b/gcc/testsuite/gcc.target/arm/pr55642.c
@@ -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;
+}
+