aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorRichard Kenner <kenner@gcc.gnu.org>1994-07-28 19:38:46 -0400
committerRichard Kenner <kenner@gcc.gnu.org>1994-07-28 19:38:46 -0400
commitbb14e22817b7bfb6773adc6945c9350ca8a47f84 (patch)
treee513048abfb910e7ea266981cd6dd6045165ad4b /gcc
parent1c63cc82d44816112e4dfdd0c7fbf24db20a0e2a (diff)
downloadgcc-bb14e22817b7bfb6773adc6945c9350ca8a47f84.zip
gcc-bb14e22817b7bfb6773adc6945c9350ca8a47f84.tar.gz
gcc-bb14e22817b7bfb6773adc6945c9350ca8a47f84.tar.bz2
(extv, extzv): In patterns that will use movb and movw, ensure size is
8 or 16. From-SVN: r7814
Diffstat (limited to 'gcc')
-rw-r--r--gcc/config/m68k/m68k.md2
1 files changed, 2 insertions, 0 deletions
diff --git a/gcc/config/m68k/m68k.md b/gcc/config/m68k/m68k.md
index d27064b..04f1d70 100644
--- a/gcc/config/m68k/m68k.md
+++ b/gcc/config/m68k/m68k.md
@@ -3798,6 +3798,7 @@
(match_operand:SI 2 "const_int_operand" "n")
(match_operand:SI 3 "const_int_operand" "n")))]
"TARGET_68020 && TARGET_BITFIELD
+ && (INTVAL (operands[2]) == 8 || INTVAL (operands[2]) == 16)
&& INTVAL (operands[3]) % INTVAL (operands[2]) == 0
&& (GET_CODE (operands[1]) == REG
|| ! mode_dependent_address_p (XEXP (operands[1], 0)))"
@@ -3851,6 +3852,7 @@
(match_operand:SI 2 "const_int_operand" "n")
(match_operand:SI 3 "const_int_operand" "n")))]
"TARGET_68020 && TARGET_BITFIELD
+ && (INTVAL (operands[2]) == 8 || INTVAL (operands[2]) == 16)
&& INTVAL (operands[3]) % INTVAL (operands[2]) == 0
&& (GET_CODE (operands[1]) == REG
|| ! mode_dependent_address_p (XEXP (operands[1], 0)))"