[Patch Vax] zero/sign extend patterns need to be SUBREG aware
authorJames Greenhalgh <james.greenhalgh@arm.com>
Fri, 19 Jun 2015 16:43:04 +0000 (16:43 +0000)
committerJames Greenhalgh <jgreenhalgh@gcc.gnu.org>
Fri, 19 Jun 2015 16:43:04 +0000 (16:43 +0000)
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

gcc/ChangeLog
gcc/config/vax/vax.md
gcc/testsuite/ChangeLog

index bd9b856cdabd769529bd0cbc39dbd48bd6f18ac1..b94b85f432500c652bfc96f64970d1e978c39e54 100644 (file)
@@ -1,3 +1,8 @@
+2015-06-19  James Greenhalgh  <james.greenhalgh@arm.com>
+
+       * config/vax/vax.md: Adjust sign/zero extend patterns to
+       handle SUBREGs in operands[1].
+
 2015-06-19  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
 
        * config/i386/i386.c (ix86_function_versions): Use std::swap instead
index 44d162f891a55cc1b82a8394457e8e7acbe3c603..d5caa15637036e0f7b5ff5885b15eed2c7aa8226 100644 (file)
        (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])))"
   "*
                         (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])))"
   "*
                         (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])))"
   "*
index 7d77478c05140cea970133ede6c6f3176239e169..e117dee16cfb6638609a109f4537fc4973f0e90f 100644 (file)
@@ -1,3 +1,7 @@
+2015-06-19  James Greenhalgh  <james.greenhalgh@arm.com>
+
+       * gcc.target/vax/bswapdi-1.c: New.
+
 2015-06-19  Christophe Lyon  <christophe.lyon@linaro.org>
 
        * gcc.target/aarch64/advsimd-intrinsics/vtst.c: New file.