From 7d0a3bab485ec3c7349a9b8c01655a9b35ed814c Mon Sep 17 00:00:00 2001 From: mgretton Date: Wed, 11 Jan 2012 16:14:14 +0000 Subject: [PATCH] * gcc/config/arm/arm.md (mov_notscc): Use MVN for false condition. * 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 | 4 ++++ gcc/config/arm/arm.md | 2 +- gcc/testsuite/ChangeLog | 4 ++++ gcc/testsuite/gcc.c-torture/execute/20120111-1.c | 18 ++++++++++++++++++ 4 files changed, 27 insertions(+), 1 deletion(-) create mode 100644 gcc/testsuite/gcc.c-torture/execute/20120111-1.c diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 54063373aec..5df5bccdb81 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,7 @@ +2012-01-11 Matthew Gretton-Dann + + * config/arm/arm.md (mov_notscc): Use MVN for false condition. + 2012-01-11 Nick Clifton * config/rx/rx.md (return): Define pattern. diff --git a/gcc/config/arm/arm.md b/gcc/config/arm/arm.md index 0e4bc3e50a1..5620d7da34f 100644 --- a/gcc/config/arm/arm.md +++ b/gcc/config/arm/arm.md @@ -7726,7 +7726,7 @@ (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")] diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index f41975cfa2e..4fafc8a4585 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,7 @@ +2012-01-11 Matthew Gretton-Dann + + * gcc.c-torture/execute/20120110-1.c: New testcase. + 2012-01-10 Jason Merrill 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 index 00000000000..eac086e3b51 --- /dev/null +++ b/gcc/testsuite/gcc.c-torture/execute/20120111-1.c @@ -0,0 +1,18 @@ +#include +#include + +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; +} -- 2.11.0