[Patch Vax] zero/sign extend patterns need to be SUBREG aware
authorjgreenhalgh <jgreenhalgh@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 19 Jun 2015 16:43:04 +0000 (16:43 +0000)
committerjgreenhalgh <jgreenhalgh@138bc75d-0d04-0410-961f-82ee72b054a4>
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@224672 138bc75d-0d04-0410-961f-82ee72b054a4

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

index bd9b856..b94b85f 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 44d162f..d5caa15 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 7d77478..e117dee 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.