aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSegher Boessenkool <segher@kernel.crashing.org>2017-06-13 19:06:37 +0200
committerSegher Boessenkool <segher@gcc.gnu.org>2017-06-13 19:06:37 +0200
commitafb0e4255a0a67aab004b2ce1bf781362e4055d7 (patch)
tree11ecbcfaea9cba2b45c8f9b129f7622be6fb9cab
parent5b1ebbca8dbba62d58f460bf119c63884238452a (diff)
downloadgcc-afb0e4255a0a67aab004b2ce1bf781362e4055d7.zip
gcc-afb0e4255a0a67aab004b2ce1bf781362e4055d7.tar.gz
gcc-afb0e4255a0a67aab004b2ce1bf781362e4055d7.tar.bz2
rs6000: Remove SPE_CONST_OFFSET_OK
* config/rs6000/rs6000.c (SPE_CONST_OFFSET_OK): Delete. (rs6000_legitimate_offset_address_p): Return false for anything in V2SImode or V2SFmode. From-SVN: r249163
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/config/rs6000/rs6000.c7
2 files changed, 8 insertions, 5 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 9e2bfa4..ba35929 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,11 @@
2017-06-13 Segher Boessenkool <segher@kernel.crashing.org>
+ * config/rs6000/rs6000.c (SPE_CONST_OFFSET_OK): Delete.
+ (rs6000_legitimate_offset_address_p): Return false for anything in
+ V2SImode or V2SFmode.
+
+2017-06-13 Segher Boessenkool <segher@kernel.crashing.org>
+
* config/rs6000/rs6000-modes.def: Remove all 8-byte vector modes
except V2SF and V2SI. Rearrange the vector modes, and add comments.
* config/rs6000/rs6000.c (rs6000_debug_reg_global): Remove V8QImode
diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c
index b51ffcc..a1005c0 100644
--- a/gcc/config/rs6000/rs6000.c
+++ b/gcc/config/rs6000/rs6000.c
@@ -8697,9 +8697,6 @@ legitimate_small_data_p (machine_mode mode, rtx x)
&& small_data_operand (x, mode));
}
-/* SPE offset addressing is limited to 5-bits worth of double words. */
-#define SPE_CONST_OFFSET_OK(x) (((x) & ~0xf8) == 0)
-
bool
rs6000_legitimate_offset_address_p (machine_mode mode, rtx x,
bool strict, bool worst_case)
@@ -8728,8 +8725,8 @@ rs6000_legitimate_offset_address_p (machine_mode mode, rtx x,
{
case V2SImode:
case V2SFmode:
- /* SPE vector modes. */
- return SPE_CONST_OFFSET_OK (offset);
+ /* Paired single modes: offset addressing isn't valid. */
+ return false;
case DFmode:
case DDmode: