OSDN Git Service

* gcc/config/arm/arm.md (mov_notscc): Use MVN for false condition.
authormgretton <mgretton@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 11 Jan 2012 16:14:14 +0000 (16:14 +0000)
committermgretton <mgretton@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 11 Jan 2012 16:14:14 +0000 (16:14 +0000)
* gcc/testsuite/gcc.c-torture/execute/20120110-1.c: New testcase.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@183095 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/config/arm/arm.md
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.c-torture/execute/20120111-1.c [new file with mode: 0644]

index 5406337..5df5bcc 100644 (file)
@@ -1,3 +1,7 @@
+2012-01-11  Matthew Gretton-Dann  <matthew.gretton-dann@arm.com>
+
+       * config/arm/arm.md (mov_notscc): Use MVN for false condition.
+
 2012-01-11  Nick Clifton  <nickc@redhat.com>
 
        * config/rx/rx.md (return): Define pattern.
index 0e4bc3e..5620d7d 100644 (file)
        (not:SI (match_operator:SI 1 "arm_comparison_operator"
                 [(match_operand 2 "cc_register" "") (const_int 0)])))]
   "TARGET_ARM"
-  "mov%D1\\t%0, #0\;mvn%d1\\t%0, #1"
+  "mvn%D1\\t%0, #0\;mvn%d1\\t%0, #1"
   [(set_attr "conds" "use")
    (set_attr "insn" "mov")
    (set_attr "length" "8")]
index f41975c..4fafc8a 100644 (file)
@@ -1,3 +1,7 @@
+2012-01-11  Matthew Gretton-Dann  <matthew.gretton-dann@arm.com>
+
+       * gcc.c-torture/execute/20120110-1.c: New testcase.
+
 2012-01-10  Jason Merrill  <jason@redhat.com>
 
        PR c++/51614
diff --git a/gcc/testsuite/gcc.c-torture/execute/20120111-1.c b/gcc/testsuite/gcc.c-torture/execute/20120111-1.c
new file mode 100644 (file)
index 0000000..eac086e
--- /dev/null
@@ -0,0 +1,18 @@
+#include <stdlib.h>
+#include <stdint.h>
+
+uint32_t f0a (uint64_t arg2) __attribute__((noinline));
+
+uint32_t
+f0a (uint64_t arg)
+{
+  return ~(arg > -3);
+}
+
+int main() {
+  uint32_t r1;
+  r1 = f0a (12094370573988097329ULL);
+  if (r1 != ~0U)
+    abort ();
+  return 0;
+}