This is the mail archive of the
mailing list for the GCC project.
[PATCH][ARM] Adjust arith_shiftsi for ARMv8-style
- From: Kyrill Tkachov <kyrylo dot tkachov at arm dot com>
- To: GCC Patches <gcc-patches at gcc dot gnu dot org>
- Cc: Ramana Radhakrishnan <ramana dot radhakrishnan at arm dot com>, Richard Earnshaw <Richard dot Earnshaw at arm dot com>
- Date: Thu, 15 May 2014 09:47:07 +0100
- Subject: [PATCH][ARM] Adjust arith_shiftsi for ARMv8-style
- Authentication-results: sourceware.org; auth=none
Shifted arithmetic operations can never be encoded in 16-bits in and therefore
can not appear in Thumb2 IT blocks under ARMv8-A rules (and the -mrestrict-it
rules). This patch adjusts the relevant pattern for that purpose.
Tested and bootstrapped on arm-none-linux-gnueabihf and made sure no performance
regressions on a number of benchmarks.
This is a bug (not wrong-code though) in -mrestrict-it that affects 4.9 as well
as trunk, so is it ok to backport it there?
2014-05-15 Kyrylo Tkachov <firstname.lastname@example.org>
* config/arm/arm.md (arith_shiftsi): Do not predicate for
Author: Kyrylo Tkachov <email@example.com>
Date: Fri Apr 4 16:10:39 2014 +0100
[ARM] Adjust arith_shiftsi for arm_restrict_it
diff --git a/gcc/config/arm/arm.md b/gcc/config/arm/arm.md
index 38ca058..9468c70 100644
@@ -9860,6 +9860,7 @@
"%i1%?\\t%0, %2, %4%S3"
[(set_attr "predicable" "yes")
+ (set_attr "predicable_short_it" "no")
(set_attr "shift" "4")
(set_attr "arch" "a,t2,t2,a")
;; Thumb2 doesn't allow the stack pointer to be used for