Hi,

This patch fixes the thumb2_mov_notscc pattern in the same way as the
ARM state mov_notscc pattern was fixed earlier in January.

This was highlighted by the gcc.target/arm/20120111-1.c testcase.

OK?

Thanks,

Matt

gcc/ChangeLog:

2012-01-30  Matthew Gretton-Dann  <matthew.gretton-d...@arm.com>

        config/arm/thumb2.md (thumb2_mov_notscc): Use MVN for true
        condition.
--
Matthew Gretton-Dann
Principal Engineer, PD Software, ARM Ltd.
diff --git a/gcc/config/arm/thumb2.md b/gcc/config/arm/thumb2.md
index 05585da..ad05feb 100644
--- a/gcc/config/arm/thumb2.md
+++ b/gcc/config/arm/thumb2.md
@@ -259,7 +259,7 @@
        (not:SI (match_operator:SI 1 "arm_comparison_operator"
                 [(match_operand 2 "cc_register" "") (const_int 0)])))]
   "TARGET_THUMB2"
-  "ite\\t%D1\;mov%D1\\t%0, #0\;mvn%d1\\t%0, #1"
+  "ite\\t%D1\;mvn%D1\\t%0, #0\;mvn%d1\\t%0, #1"
   [(set_attr "conds" "use")
    (set_attr "length" "10")]
 )

Reply via email to