From: Matthew Gretton-Dann Date: Thu, 12 Jan 2012 15:18:24 +0000 (+0000) Subject: backport: arm.md (mov_notscc): Use MVN for false condition. X-Git-Tag: releases/gcc-4.5.4~273 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=cda0ad907fc5c8f90908338b46502ea553fdb9f5;p=thirdparty%2Fgcc.git backport: arm.md (mov_notscc): Use MVN for false condition. Backport from mainline: 2012-01-11 Matthew Gretton-Dann * gcc/config/arm/arm.md (mov_notscc): Use MVN for false condition. * gcc/testsuite/gcc.c-torture/execute/20120110-1.c: New testcase. From-SVN: r183128 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index bb6cb4164546..4c52caf14455 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +2012-01-12 Matthew Gretton-Dann + + Backport from mainline: + 2012-01-11 Matthew Gretton-Dann + + * config/arm/arm.md (mov_notscc): Use MVN for false condition. + 2012-01-10 Joseph Myers Revert: diff --git a/gcc/config/arm/arm.md b/gcc/config/arm/arm.md index 032af3036edf..522e9848ab4f 100644 --- a/gcc/config/arm/arm.md +++ b/gcc/config/arm/arm.md @@ -7994,7 +7994,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 "length" "8")] ) diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 9cf5911482ec..9fb2ffadf735 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,10 @@ +2012-01-12 Matthew Gretton-Dann + + Backport from mainline: + 2011-01-11 Matthew Gretton-Dann + + * gcc.c-torture/execute/20120110-1.c: New testcase. + 2012-01-10 Joseph Myers * gcc.c-torture/execute/doloop-1.c, 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 000000000000..eac086e3b51b --- /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; +}