aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorKyrylo Tkachov <kyrylo.tkachov@arm.com>2016-04-27 14:38:10 +0000
committerKyrylo Tkachov <ktkachov@gcc.gnu.org>2016-04-27 14:38:10 +0000
commit317d98872b3c9173d4a9f82693bbdcc84cdeb03c (patch)
treeb70dc1bae57d8dd8a731c09733e5c72bd0c35a6f /gcc
parent72ed2b9c767f9dc230b97a5cde0d43d36d06ba40 (diff)
downloadgcc-317d98872b3c9173d4a9f82693bbdcc84cdeb03c.zip
gcc-317d98872b3c9173d4a9f82693bbdcc84cdeb03c.tar.gz
gcc-317d98872b3c9173d4a9f82693bbdcc84cdeb03c.tar.bz2
[rtlanal.c] Convert conditional compilation on WORD_REGISTER_OPERATIONS
* rtlanal.c (nonzero_bits1): Convert preprocessor check for WORD_REGISTER_OPERATIONS to runtime check. From-SVN: r235512
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/rtlanal.c11
2 files changed, 11 insertions, 5 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index cbfae1f..c97041a 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2016-04-27 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ * rtlanal.c (nonzero_bits1): Convert preprocessor check
+ for WORD_REGISTER_OPERATIONS to runtime check.
+
2016-04-27 Richard Biener <rguenther@suse.de>
PR ipa/70760
diff --git a/gcc/rtlanal.c b/gcc/rtlanal.c
index b4dff86..0b6e1e0 100644
--- a/gcc/rtlanal.c
+++ b/gcc/rtlanal.c
@@ -4584,13 +4584,14 @@ nonzero_bits1 (const_rtx x, machine_mode mode, const_rtx known_x,
nonzero &= cached_nonzero_bits (SUBREG_REG (x), mode,
known_x, known_mode, known_ret);
-#if WORD_REGISTER_OPERATIONS && defined (LOAD_EXTEND_OP)
+#ifdef LOAD_EXTEND_OP
/* If this is a typical RISC machine, we only have to worry
about the way loads are extended. */
- if ((LOAD_EXTEND_OP (inner_mode) == SIGN_EXTEND
- ? val_signbit_known_set_p (inner_mode, nonzero)
- : LOAD_EXTEND_OP (inner_mode) != ZERO_EXTEND)
- || !MEM_P (SUBREG_REG (x)))
+ if (WORD_REGISTER_OPERATIONS
+ && ((LOAD_EXTEND_OP (inner_mode) == SIGN_EXTEND
+ ? val_signbit_known_set_p (inner_mode, nonzero)
+ : LOAD_EXTEND_OP (inner_mode) != ZERO_EXTEND)
+ || !MEM_P (SUBREG_REG (x))))
#endif
{
/* On many CISC machines, accessing an object in a wider mode