diff options
author | Richard Kenner <kenner@gcc.gnu.org> | 1994-08-29 17:50:48 -0400 |
---|---|---|
committer | Richard Kenner <kenner@gcc.gnu.org> | 1994-08-29 17:50:48 -0400 |
commit | d251be987e3f0613b287c5a712c6ba8d83a27bb3 (patch) | |
tree | cce25fc80fbb8370f7206da6d24dc3ef652fdb83 | |
parent | 35104543b46ef5653abac8358c1c4dd5c1e3a5ed (diff) | |
download | gcc-d251be987e3f0613b287c5a712c6ba8d83a27bb3.zip gcc-d251be987e3f0613b287c5a712c6ba8d83a27bb3.tar.gz gcc-d251be987e3f0613b287c5a712c6ba8d83a27bb3.tar.bz2 |
(extv, extzv): Don't use ROTL when field is outside boundaries of a
word.
From-SVN: r8000
-rw-r--r-- | gcc/config/vax/vax.md | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/gcc/config/vax/vax.md b/gcc/config/vax/vax.md index 96d7f91..d336862 100644 --- a/gcc/config/vax/vax.md +++ b/gcc/config/vax/vax.md @@ -1495,6 +1495,7 @@ if (GET_CODE (operands[0]) != REG || GET_CODE (operands[2]) != CONST_INT || GET_CODE (operands[3]) != CONST_INT || (INTVAL (operands[2]) != 8 && INTVAL (operands[2]) != 16) + || INTVAL (operands[2]) + INTVAL (operands[3]) > 32 || side_effects_p (operands[1]) || (GET_CODE (operands[1]) == MEM && mode_dependent_address_p (XEXP (operands[1], 0)))) @@ -1514,6 +1515,7 @@ { if (GET_CODE (operands[0]) != REG || GET_CODE (operands[2]) != CONST_INT || GET_CODE (operands[3]) != CONST_INT + || INTVAL (operands[2]) + INTVAL (operands[3]) > 32 || side_effects_p (operands[1]) || (GET_CODE (operands[1]) == MEM && mode_dependent_address_p (XEXP (operands[1], 0)))) |