Skip to content

Commit 1cb71fa

Browse files
Add tests
1 parent 0a5a2e3 commit 1cb71fa

File tree

1 file changed

+47
-0
lines changed

1 file changed

+47
-0
lines changed

llvm/test/CodeGen/X86/pr124255.ll

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 5
2+
; RUN: llc < %s -mtriple=x86_64-- | FileCheck %s
3+
4+
define <4 x i32> @insert_i32_v2_in_v4_at_0(<4 x i32> %a, <2 x i32> %b) {
5+
; CHECK-LABEL: insert_i32_v2_in_v4_at_0:
6+
; CHECK: # %bb.0:
7+
; CHECK-NEXT: movsd {{.*#+}} xmm0 = xmm1[0],xmm0[1]
8+
; CHECK-NEXT: retq
9+
%result = tail call <4 x i32> @llvm.vector.insert.v4i32.v2i32(<4 x i32> %a, <2 x i32> %b, i64 0)
10+
ret <4 x i32> %result
11+
}
12+
13+
define <4 x i32> @insert_i32_v2_in_v4_at_2(<4 x i32> %a, <2 x i32> %b) {
14+
; CHECK-LABEL: insert_i32_v2_in_v4_at_2:
15+
; CHECK: # %bb.0:
16+
; CHECK-NEXT: movlhps {{.*#+}} xmm0 = xmm0[0],xmm1[0]
17+
; CHECK-NEXT: retq
18+
%result = tail call <4 x i32> @llvm.vector.insert.v4i32.v2i32(<4 x i32> %a, <2 x i32> %b, i64 2)
19+
ret <4 x i32> %result
20+
}
21+
22+
define <4 x float> @insert_f32_v2_in_v4_at_0(<4 x float> %a, <2 x float> %b) {
23+
; CHECK-LABEL: insert_f32_v2_in_v4_at_0:
24+
; CHECK: # %bb.0:
25+
; CHECK-NEXT: movsd {{.*#+}} xmm0 = xmm1[0],xmm0[1]
26+
; CHECK-NEXT: retq
27+
%result = tail call <4 x float> @llvm.vector.insert.v4float.v2float(<4 x float> %a, <2 x float> %b, i64 0)
28+
ret <4 x float> %result
29+
}
30+
31+
define <8 x i32> @insert_i32_v2_in_v8_at_0(<8 x i32> %a, <2 x i32> %b) {
32+
; CHECK-LABEL: insert_i32_v2_in_v8_at_0:
33+
; CHECK: # %bb.0:
34+
; CHECK-NEXT: movsd {{.*#+}} xmm0 = xmm2[0],xmm0[1]
35+
; CHECK-NEXT: retq
36+
%result = tail call <8 x i32> @llvm.vector.insert.v8i32.v2i32(<8 x i32> %a, <2 x i32> %b, i64 0)
37+
ret <8 x i32> %result
38+
}
39+
40+
define <8 x i32> @insert_i32_v2_in_v8_at_6(<8 x i32> %a, <2 x i32> %b) {
41+
; CHECK-LABEL: insert_i32_v2_in_v8_at_6:
42+
; CHECK: # %bb.0:
43+
; CHECK-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm2[0]
44+
; CHECK-NEXT: retq
45+
%result = tail call <8 x i32> @llvm.vector.insert.v8i32.v2i32(<8 x i32> %a, <2 x i32> %b, i64 6)
46+
ret <8 x i32> %result
47+
}

0 commit comments

Comments
 (0)