aboutsummaryrefslogtreecommitdiff
path: root/gcc/config/vax
diff options
context:
space:
mode:
authorJames Greenhalgh <james.greenhalgh@arm.com>2015-06-19 16:43:04 +0000
committerJames Greenhalgh <jgreenhalgh@gcc.gnu.org>2015-06-19 16:43:04 +0000
commit590f5d5125c96aa8e6e29463e37f23502f0bd673 (patch)
tree3f5a2ca22d4abc74f850a2b4c9ce2b736a0266ec /gcc/config/vax
parent590d172b1cf7d3359ec161bc441601bd93170398 (diff)
downloadgcc-590f5d5125c96aa8e6e29463e37f23502f0bd673.zip
gcc-590f5d5125c96aa8e6e29463e37f23502f0bd673.tar.gz
gcc-590f5d5125c96aa8e6e29463e37f23502f0bd673.tar.bz2
[Patch Vax] zero/sign extend patterns need to be SUBREG aware
gcc/ * config/vax/vax.md: Adjust sign/zero extend patterns to handle SUBREGs in operands[1]. gcc/testsuite/ * gcc.target/vax/bswapdi-1.c: New. From-SVN: r224672
Diffstat (limited to 'gcc/config/vax')
-rw-r--r--gcc/config/vax/vax.md6
1 files changed, 3 insertions, 3 deletions
diff --git a/gcc/config/vax/vax.md b/gcc/config/vax/vax.md
index 44d162f..d5caa15 100644
--- a/gcc/config/vax/vax.md
+++ b/gcc/config/vax/vax.md
@@ -780,7 +780,7 @@
(match_operand:SI 3 "general_operand" "g"))]
"(INTVAL (operands[1]) == 8 || INTVAL (operands[1]) == 16)
&& INTVAL (operands[2]) % INTVAL (operands[1]) == 0
- && (REG_P (operands[0])
+ && (!MEM_P (operands[0])
|| ! mode_dependent_address_p (XEXP (operands[0], 0),
MEM_ADDR_SPACE (operands[0])))"
"*
@@ -809,7 +809,7 @@
(match_operand:SI 3 "const_int_operand" "n")))]
"(INTVAL (operands[2]) == 8 || INTVAL (operands[2]) == 16)
&& INTVAL (operands[3]) % INTVAL (operands[2]) == 0
- && (REG_P (operands[1])
+ && (!MEM_P (operands[1])
|| ! mode_dependent_address_p (XEXP (operands[1], 0),
MEM_ADDR_SPACE (operands[1])))"
"*
@@ -837,7 +837,7 @@
(match_operand:SI 3 "const_int_operand" "n")))]
"(INTVAL (operands[2]) == 8 || INTVAL (operands[2]) == 16)
&& INTVAL (operands[3]) % INTVAL (operands[2]) == 0
- && (REG_P (operands[1])
+ && (!MEM_P (operands[1])
|| ! mode_dependent_address_p (XEXP (operands[1], 0),
MEM_ADDR_SPACE (operands[1])))"
"*