@@ -1682,11 +1682,18 @@ entry:
1682
1682
}
1683
1683
1684
1684
define <4 x i32 > @test_vqdmlal_high_lane_s16 (<4 x i32 > %a , <8 x i16 > %b , <4 x i16 > %v ) {
1685
- ; CHECK-LABEL: test_vqdmlal_high_lane_s16:
1686
- ; CHECK: // %bb.0: // %entry
1687
- ; CHECK-NEXT: // kill: def $d2 killed $d2 def $q2
1688
- ; CHECK-NEXT: sqdmlal2 v0.4s, v1.8h, v2.h[3]
1689
- ; CHECK-NEXT: ret
1685
+ ; CHECK-SD-LABEL: test_vqdmlal_high_lane_s16:
1686
+ ; CHECK-SD: // %bb.0: // %entry
1687
+ ; CHECK-SD-NEXT: // kill: def $d2 killed $d2 def $q2
1688
+ ; CHECK-SD-NEXT: sqdmlal2 v0.4s, v1.8h, v2.h[3]
1689
+ ; CHECK-SD-NEXT: ret
1690
+ ;
1691
+ ; CHECK-GI-LABEL: test_vqdmlal_high_lane_s16:
1692
+ ; CHECK-GI: // %bb.0: // %entry
1693
+ ; CHECK-GI-NEXT: mov d1, v1.d[1]
1694
+ ; CHECK-GI-NEXT: // kill: def $d2 killed $d2 def $q2
1695
+ ; CHECK-GI-NEXT: sqdmlal v0.4s, v1.4h, v2.h[3]
1696
+ ; CHECK-GI-NEXT: ret
1690
1697
entry:
1691
1698
%shuffle.i = shufflevector <8 x i16 > %b , <8 x i16 > undef , <4 x i32 > <i32 4 , i32 5 , i32 6 , i32 7 >
1692
1699
%shuffle = shufflevector <4 x i16 > %v , <4 x i16 > undef , <4 x i32 > <i32 3 , i32 3 , i32 3 , i32 3 >
@@ -1696,11 +1703,18 @@ entry:
1696
1703
}
1697
1704
1698
1705
define <2 x i64 > @test_vqdmlal_high_lane_s32 (<2 x i64 > %a , <4 x i32 > %b , <2 x i32 > %v ) {
1699
- ; CHECK-LABEL: test_vqdmlal_high_lane_s32:
1700
- ; CHECK: // %bb.0: // %entry
1701
- ; CHECK-NEXT: // kill: def $d2 killed $d2 def $q2
1702
- ; CHECK-NEXT: sqdmlal2 v0.2d, v1.4s, v2.s[1]
1703
- ; CHECK-NEXT: ret
1706
+ ; CHECK-SD-LABEL: test_vqdmlal_high_lane_s32:
1707
+ ; CHECK-SD: // %bb.0: // %entry
1708
+ ; CHECK-SD-NEXT: // kill: def $d2 killed $d2 def $q2
1709
+ ; CHECK-SD-NEXT: sqdmlal2 v0.2d, v1.4s, v2.s[1]
1710
+ ; CHECK-SD-NEXT: ret
1711
+ ;
1712
+ ; CHECK-GI-LABEL: test_vqdmlal_high_lane_s32:
1713
+ ; CHECK-GI: // %bb.0: // %entry
1714
+ ; CHECK-GI-NEXT: mov d1, v1.d[1]
1715
+ ; CHECK-GI-NEXT: // kill: def $d2 killed $d2 def $q2
1716
+ ; CHECK-GI-NEXT: sqdmlal v0.2d, v1.2s, v2.s[1]
1717
+ ; CHECK-GI-NEXT: ret
1704
1718
entry:
1705
1719
%shuffle.i = shufflevector <4 x i32 > %b , <4 x i32 > undef , <2 x i32 > <i32 2 , i32 3 >
1706
1720
%shuffle = shufflevector <2 x i32 > %v , <2 x i32 > undef , <2 x i32 > <i32 1 , i32 1 >
@@ -1736,11 +1750,18 @@ entry:
1736
1750
}
1737
1751
1738
1752
define <4 x i32 > @test_vqdmlsl_high_lane_s16 (<4 x i32 > %a , <8 x i16 > %b , <4 x i16 > %v ) {
1739
- ; CHECK-LABEL: test_vqdmlsl_high_lane_s16:
1740
- ; CHECK: // %bb.0: // %entry
1741
- ; CHECK-NEXT: // kill: def $d2 killed $d2 def $q2
1742
- ; CHECK-NEXT: sqdmlsl2 v0.4s, v1.8h, v2.h[3]
1743
- ; CHECK-NEXT: ret
1753
+ ; CHECK-SD-LABEL: test_vqdmlsl_high_lane_s16:
1754
+ ; CHECK-SD: // %bb.0: // %entry
1755
+ ; CHECK-SD-NEXT: // kill: def $d2 killed $d2 def $q2
1756
+ ; CHECK-SD-NEXT: sqdmlsl2 v0.4s, v1.8h, v2.h[3]
1757
+ ; CHECK-SD-NEXT: ret
1758
+ ;
1759
+ ; CHECK-GI-LABEL: test_vqdmlsl_high_lane_s16:
1760
+ ; CHECK-GI: // %bb.0: // %entry
1761
+ ; CHECK-GI-NEXT: mov d1, v1.d[1]
1762
+ ; CHECK-GI-NEXT: // kill: def $d2 killed $d2 def $q2
1763
+ ; CHECK-GI-NEXT: sqdmlsl v0.4s, v1.4h, v2.h[3]
1764
+ ; CHECK-GI-NEXT: ret
1744
1765
entry:
1745
1766
%shuffle.i = shufflevector <8 x i16 > %b , <8 x i16 > undef , <4 x i32 > <i32 4 , i32 5 , i32 6 , i32 7 >
1746
1767
%shuffle = shufflevector <4 x i16 > %v , <4 x i16 > undef , <4 x i32 > <i32 3 , i32 3 , i32 3 , i32 3 >
@@ -1750,11 +1771,18 @@ entry:
1750
1771
}
1751
1772
1752
1773
define <2 x i64 > @test_vqdmlsl_high_lane_s32 (<2 x i64 > %a , <4 x i32 > %b , <2 x i32 > %v ) {
1753
- ; CHECK-LABEL: test_vqdmlsl_high_lane_s32:
1754
- ; CHECK: // %bb.0: // %entry
1755
- ; CHECK-NEXT: // kill: def $d2 killed $d2 def $q2
1756
- ; CHECK-NEXT: sqdmlsl2 v0.2d, v1.4s, v2.s[1]
1757
- ; CHECK-NEXT: ret
1774
+ ; CHECK-SD-LABEL: test_vqdmlsl_high_lane_s32:
1775
+ ; CHECK-SD: // %bb.0: // %entry
1776
+ ; CHECK-SD-NEXT: // kill: def $d2 killed $d2 def $q2
1777
+ ; CHECK-SD-NEXT: sqdmlsl2 v0.2d, v1.4s, v2.s[1]
1778
+ ; CHECK-SD-NEXT: ret
1779
+ ;
1780
+ ; CHECK-GI-LABEL: test_vqdmlsl_high_lane_s32:
1781
+ ; CHECK-GI: // %bb.0: // %entry
1782
+ ; CHECK-GI-NEXT: mov d1, v1.d[1]
1783
+ ; CHECK-GI-NEXT: // kill: def $d2 killed $d2 def $q2
1784
+ ; CHECK-GI-NEXT: sqdmlsl v0.2d, v1.2s, v2.s[1]
1785
+ ; CHECK-GI-NEXT: ret
1758
1786
entry:
1759
1787
%shuffle.i = shufflevector <4 x i32 > %b , <4 x i32 > undef , <2 x i32 > <i32 2 , i32 3 >
1760
1788
%shuffle = shufflevector <2 x i32 > %v , <2 x i32 > undef , <2 x i32 > <i32 1 , i32 1 >
@@ -4008,11 +4036,18 @@ entry:
4008
4036
}
4009
4037
4010
4038
define <4 x i32 > @test_vqdmlal_high_lane_s16_0 (<4 x i32 > %a , <8 x i16 > %b , <4 x i16 > %v ) {
4011
- ; CHECK-LABEL: test_vqdmlal_high_lane_s16_0:
4012
- ; CHECK: // %bb.0: // %entry
4013
- ; CHECK-NEXT: // kill: def $d2 killed $d2 def $q2
4014
- ; CHECK-NEXT: sqdmlal2 v0.4s, v1.8h, v2.h[0]
4015
- ; CHECK-NEXT: ret
4039
+ ; CHECK-SD-LABEL: test_vqdmlal_high_lane_s16_0:
4040
+ ; CHECK-SD: // %bb.0: // %entry
4041
+ ; CHECK-SD-NEXT: // kill: def $d2 killed $d2 def $q2
4042
+ ; CHECK-SD-NEXT: sqdmlal2 v0.4s, v1.8h, v2.h[0]
4043
+ ; CHECK-SD-NEXT: ret
4044
+ ;
4045
+ ; CHECK-GI-LABEL: test_vqdmlal_high_lane_s16_0:
4046
+ ; CHECK-GI: // %bb.0: // %entry
4047
+ ; CHECK-GI-NEXT: mov d1, v1.d[1]
4048
+ ; CHECK-GI-NEXT: // kill: def $d2 killed $d2 def $q2
4049
+ ; CHECK-GI-NEXT: sqdmlal v0.4s, v1.4h, v2.h[0]
4050
+ ; CHECK-GI-NEXT: ret
4016
4051
entry:
4017
4052
%shuffle.i = shufflevector <8 x i16 > %b , <8 x i16 > undef , <4 x i32 > <i32 4 , i32 5 , i32 6 , i32 7 >
4018
4053
%shuffle = shufflevector <4 x i16 > %v , <4 x i16 > undef , <4 x i32 > zeroinitializer
@@ -4022,11 +4057,18 @@ entry:
4022
4057
}
4023
4058
4024
4059
define <2 x i64 > @test_vqdmlal_high_lane_s32_0 (<2 x i64 > %a , <4 x i32 > %b , <2 x i32 > %v ) {
4025
- ; CHECK-LABEL: test_vqdmlal_high_lane_s32_0:
4026
- ; CHECK: // %bb.0: // %entry
4027
- ; CHECK-NEXT: // kill: def $d2 killed $d2 def $q2
4028
- ; CHECK-NEXT: sqdmlal2 v0.2d, v1.4s, v2.s[0]
4029
- ; CHECK-NEXT: ret
4060
+ ; CHECK-SD-LABEL: test_vqdmlal_high_lane_s32_0:
4061
+ ; CHECK-SD: // %bb.0: // %entry
4062
+ ; CHECK-SD-NEXT: // kill: def $d2 killed $d2 def $q2
4063
+ ; CHECK-SD-NEXT: sqdmlal2 v0.2d, v1.4s, v2.s[0]
4064
+ ; CHECK-SD-NEXT: ret
4065
+ ;
4066
+ ; CHECK-GI-LABEL: test_vqdmlal_high_lane_s32_0:
4067
+ ; CHECK-GI: // %bb.0: // %entry
4068
+ ; CHECK-GI-NEXT: mov d1, v1.d[1]
4069
+ ; CHECK-GI-NEXT: // kill: def $d2 killed $d2 def $q2
4070
+ ; CHECK-GI-NEXT: sqdmlal v0.2d, v1.2s, v2.s[0]
4071
+ ; CHECK-GI-NEXT: ret
4030
4072
entry:
4031
4073
%shuffle.i = shufflevector <4 x i32 > %b , <4 x i32 > undef , <2 x i32 > <i32 2 , i32 3 >
4032
4074
%shuffle = shufflevector <2 x i32 > %v , <2 x i32 > undef , <2 x i32 > zeroinitializer
@@ -4062,11 +4104,18 @@ entry:
4062
4104
}
4063
4105
4064
4106
define <4 x i32 > @test_vqdmlsl_high_lane_s16_0 (<4 x i32 > %a , <8 x i16 > %b , <4 x i16 > %v ) {
4065
- ; CHECK-LABEL: test_vqdmlsl_high_lane_s16_0:
4066
- ; CHECK: // %bb.0: // %entry
4067
- ; CHECK-NEXT: // kill: def $d2 killed $d2 def $q2
4068
- ; CHECK-NEXT: sqdmlsl2 v0.4s, v1.8h, v2.h[0]
4069
- ; CHECK-NEXT: ret
4107
+ ; CHECK-SD-LABEL: test_vqdmlsl_high_lane_s16_0:
4108
+ ; CHECK-SD: // %bb.0: // %entry
4109
+ ; CHECK-SD-NEXT: // kill: def $d2 killed $d2 def $q2
4110
+ ; CHECK-SD-NEXT: sqdmlsl2 v0.4s, v1.8h, v2.h[0]
4111
+ ; CHECK-SD-NEXT: ret
4112
+ ;
4113
+ ; CHECK-GI-LABEL: test_vqdmlsl_high_lane_s16_0:
4114
+ ; CHECK-GI: // %bb.0: // %entry
4115
+ ; CHECK-GI-NEXT: mov d1, v1.d[1]
4116
+ ; CHECK-GI-NEXT: // kill: def $d2 killed $d2 def $q2
4117
+ ; CHECK-GI-NEXT: sqdmlsl v0.4s, v1.4h, v2.h[0]
4118
+ ; CHECK-GI-NEXT: ret
4070
4119
entry:
4071
4120
%shuffle.i = shufflevector <8 x i16 > %b , <8 x i16 > undef , <4 x i32 > <i32 4 , i32 5 , i32 6 , i32 7 >
4072
4121
%shuffle = shufflevector <4 x i16 > %v , <4 x i16 > undef , <4 x i32 > zeroinitializer
@@ -4076,11 +4125,18 @@ entry:
4076
4125
}
4077
4126
4078
4127
define <2 x i64 > @test_vqdmlsl_high_lane_s32_0 (<2 x i64 > %a , <4 x i32 > %b , <2 x i32 > %v ) {
4079
- ; CHECK-LABEL: test_vqdmlsl_high_lane_s32_0:
4080
- ; CHECK: // %bb.0: // %entry
4081
- ; CHECK-NEXT: // kill: def $d2 killed $d2 def $q2
4082
- ; CHECK-NEXT: sqdmlsl2 v0.2d, v1.4s, v2.s[0]
4083
- ; CHECK-NEXT: ret
4128
+ ; CHECK-SD-LABEL: test_vqdmlsl_high_lane_s32_0:
4129
+ ; CHECK-SD: // %bb.0: // %entry
4130
+ ; CHECK-SD-NEXT: // kill: def $d2 killed $d2 def $q2
4131
+ ; CHECK-SD-NEXT: sqdmlsl2 v0.2d, v1.4s, v2.s[0]
4132
+ ; CHECK-SD-NEXT: ret
4133
+ ;
4134
+ ; CHECK-GI-LABEL: test_vqdmlsl_high_lane_s32_0:
4135
+ ; CHECK-GI: // %bb.0: // %entry
4136
+ ; CHECK-GI-NEXT: mov d1, v1.d[1]
4137
+ ; CHECK-GI-NEXT: // kill: def $d2 killed $d2 def $q2
4138
+ ; CHECK-GI-NEXT: sqdmlsl v0.2d, v1.2s, v2.s[0]
4139
+ ; CHECK-GI-NEXT: ret
4084
4140
entry:
4085
4141
%shuffle.i = shufflevector <4 x i32 > %b , <4 x i32 > undef , <2 x i32 > <i32 2 , i32 3 >
4086
4142
%shuffle = shufflevector <2 x i32 > %v , <2 x i32 > undef , <2 x i32 > zeroinitializer
0 commit comments