This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug target/43698] Invalid code when building gentoo pax-utils-0.1.19 with -Os optimizations
- From: "ramana at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 9 Apr 2010 07:48:57 -0000
- Subject: [Bug target/43698] Invalid code when building gentoo pax-utils-0.1.19 with -Os optimizations
- References: <bug-43698-14457@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Comment #5 from ramana at gcc dot gnu dot org 2010-04-09 07:48 -------
Actually strike out the last patch - that's just wrong for Thumb1. This is what
I am testing currently.
Index: arm.md
===================================================================
--- arm.md (revision 158138)
+++ arm.md (working copy)
@@ -11200,12 +11200,18 @@
(define_insn "arm_rev"
[(set (match_operand:SI 0 "s_register_operand" "=r")
(bswap:SI (match_operand:SI 1 "s_register_operand" "r")))]
- "TARGET_EITHER && arm_arch6"
+ "TARGET_32BIT && arm_arch6"
+ "rev%?\t%0, %1"
+ [(set_attr "predicable" "yes")
+ (set_attr "length" "4")]
+)
+
+(define_insn "thumb1_rev"
+ [(set (match_operand:SI 0 "s_register_operand" "=l")
+ (bswap:SI (match_operand:SI 1 "s_register_operand" "l")))]
+ "TARGET_THUMB1 && arm_arch6"
"rev\t%0, %1"
- [(set (attr "length")
- (if_then_else (eq_attr "is_thumb" "yes")
- (const_int 2)
- (const_int 4)))]
+ [(set_attr "length" "2")]
)
(define_expand "arm_legacy_rev"
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43698