@@ -199,6 +199,24 @@ define <16 x i32> @test15(<16 x i32> %a) {
199
199
%b = shufflevector <16 x i32 > %a , <16 x i32 > undef , <16 x i32 ><i32 1 , i32 0 , i32 3 , i32 2 , i32 5 , i32 4 , i32 7 , i32 6 , i32 9 , i32 8 , i32 11 , i32 10 , i32 13 , i32 12 , i32 15 , i32 14 >
200
200
ret <16 x i32 > %b
201
201
}
202
+
203
+ ; CHECK-LABEL: valign_test_v16f32
204
+ ; CHECK: valignd $2, %zmm0, %zmm0
205
+ ; CHECK: ret
206
+ define <16 x float > @valign_test_v16f32 (<16 x float > %a , <16 x float > %b ) nounwind {
207
+ %c = shufflevector <16 x float > %a , <16 x float > %b , <16 x i32 ><i32 2 , i32 3 , i32 undef , i32 undef , i32 6 , i32 7 , i32 undef , i32 undef , i32 10 , i32 11 , i32 undef , i32 undef , i32 14 , i32 15 , i32 undef , i32 undef >
208
+ ret <16 x float > %c
209
+ }
210
+
211
+ ; CHECK-LABEL: valign_test_v16i32
212
+ ; CHECK: valignd $2, %zmm0, %zmm0
213
+ ; CHECK: ret
214
+ define <16 x i32 > @valign_test_v16i32 (<16 x i32 > %a , <16 x i32 > %b ) nounwind {
215
+ %c = shufflevector <16 x i32 > %a , <16 x i32 > %b , <16 x i32 ><i32 2 , i32 3 , i32 undef , i32 undef , i32 6 , i32 7 , i32 undef , i32 undef , i32 10 , i32 11 , i32 undef , i32 undef , i32 14 , i32 15 , i32 undef , i32 undef >
216
+ ret <16 x i32 > %c
217
+ }
218
+
219
+
202
220
; CHECK-LABEL: test16
203
221
; CHECK: valignq $2, %zmm0, %zmm1
204
222
; CHECK: ret
0 commit comments