[Patch AArch64] Restrict 16-bit sqrdml{sa}h instructions to FP_LO_REGS
authorJames Greenhalgh <james.greenhalgh@arm.com>
Tue, 16 Feb 2016 15:59:51 +0000 (15:59 +0000)
committerJames Greenhalgh <jgreenhalgh@gcc.gnu.org>
Tue, 16 Feb 2016 15:59:51 +0000 (15:59 +0000)
gcc/

* config/aarch64/aarch64.md
(arch64_sqrdml<SQRDMLH_AS:rdma_as>h_lane<mode>): Fix register
constraints for operand 3.
(aarch64_sqrdml<SQRDMLH_AS:rdma_as>h_laneq<mode>): Likewise.

From-SVN: r233460

gcc/ChangeLog
gcc/config/aarch64/aarch64-simd.md

index 0fcc1ee..90d91a7 100644 (file)
@@ -1,3 +1,10 @@
+2016-02-16  James Greenhalgh  <james.greenhalgh@arm.com>
+
+       * config/aarch64/aarch64.md
+       (arch64_sqrdml<SQRDMLH_AS:rdma_as>h_lane<mode>): Fix register
+       constraints for operand 3.
+       (aarch64_sqrdml<SQRDMLH_AS:rdma_as>h_laneq<mode>): Likewise.
+
 2016-02-16  Jakub Jelinek  <jakub@redhat.com>
            Richard Biener  <rguenther@suse.de>
 
index 3047841..d8497ab 100644 (file)
          [(match_operand:VDQHS 1 "register_operand" "0")
           (match_operand:VDQHS 2 "register_operand" "w")
           (vec_select:<VEL>
-            (match_operand:<VCOND> 3 "register_operand" "w")
+            (match_operand:<VCOND> 3 "register_operand" "<vwx>")
             (parallel [(match_operand:SI 4 "immediate_operand" "i")]))]
          SQRDMLH_AS))]
    "TARGET_SIMD_RDMA"
          [(match_operand:SD_HSI 1 "register_operand" "0")
           (match_operand:SD_HSI 2 "register_operand" "w")
           (vec_select:<VEL>
-            (match_operand:<VCOND> 3 "register_operand" "w")
+            (match_operand:<VCOND> 3 "register_operand" "<vwx>")
             (parallel [(match_operand:SI 4 "immediate_operand" "i")]))]
          SQRDMLH_AS))]
    "TARGET_SIMD_RDMA"
          [(match_operand:VDQHS 1 "register_operand" "0")
           (match_operand:VDQHS 2 "register_operand" "w")
           (vec_select:<VEL>
-            (match_operand:<VCONQ> 3 "register_operand" "w")
+            (match_operand:<VCONQ> 3 "register_operand" "<vwx>")
             (parallel [(match_operand:SI 4 "immediate_operand" "i")]))]
          SQRDMLH_AS))]
    "TARGET_SIMD_RDMA"
          [(match_operand:SD_HSI 1 "register_operand" "0")
           (match_operand:SD_HSI 2 "register_operand" "w")
           (vec_select:<VEL>
-            (match_operand:<VCONQ> 3 "register_operand" "w")
+            (match_operand:<VCONQ> 3 "register_operand" "<vwx>")
             (parallel [(match_operand:SI 4 "immediate_operand" "i")]))]
          SQRDMLH_AS))]
    "TARGET_SIMD_RDMA"