@@ -26,15 +26,15 @@ __m256d test_mm256_insertf128_pd_0(__m256d a, __m128d b) {
26
26
return _mm256_insertf128_pd (a , b , 0 );
27
27
}
28
28
29
- // CIR-LABEL: @test_mm256_insertf128_pd_1 (
29
+ // CIR-LABEL: @test_mm256_insertf128_ps_0 (
30
30
// CIR: %{{.*}} = cir.vec.shuffle(%{{.*}}, %{{.*}} : !cir.vector<!cir.float x 4>) [#cir.int<0> : !s32i, #cir.int<1> : !s32i, #cir.int<2> : !s32i, #cir.int<3> : !s32i, #cir.int<4> : !s32i, #cir.int<5> : !s32i, #cir.int<6> : !s32i, #cir.int<7> : !s32i] : !cir.vector<!cir.float x 8>
31
31
// CIR-NEXT: %{{.*}} = cir.vec.shuffle(%{{.*}}, %{{.*}} : !cir.vector<!cir.float x 8>) [#cir.int<8> : !s32i, #cir.int<9> : !s32i, #cir.int<10> : !s32i, #cir.int<11> : !s32i, #cir.int<4> : !s32i, #cir.int<5> : !s32i, #cir.int<6> : !s32i, #cir.int<7> : !s32i] : !cir.vector<!cir.float x 8>
32
32
// CIR: cir.return %{{.*}} : !cir.vector<!cir.float x 8>
33
33
34
34
// LLVM-LABEL: @test_mm256_insertf128_ps_0(
35
- // LLVM-NEXT : %{{.*}} = shufflevector <4 x float> %{{.*}}, <4 x float> poison, <8 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
35
+ // LLVM: %{{.*}} = shufflevector <4 x float> %{{.*}}, <4 x float> poison, <8 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
36
36
// LLVM-NEXT: %{{.*}} = shufflevector <8 x float> %{{.*}}, <8 x float> %{{.*}}, <8 x i32> <i32 8, i32 9, i32 10, i32 11, i32 4, i32 5, i32 6, i32 7>
37
- // LLVM-NEXT : ret <8 x float> %{{.*}}
37
+ // LLVM: ret <8 x float> %{{.*}}
38
38
//
39
39
__m256 test_mm256_insertf128_ps_0 (__m256 a , __m128 b ) {
40
40
return _mm256_insertf128_ps (a , b , 0 );
@@ -57,18 +57,18 @@ __m256 test_mm256_insertf128_ps_1(__m256 a, __m128 b) {
57
57
// CIR-LABEL: @test_mm256_insertf128_si256_0(
58
58
// CIR: [[TMP0:%.*]] = cir.cast(bitcast, %{{.*}} : !cir.vector<!s64i x 4>), !cir.vector<!s32i x 8>
59
59
// CIR: [[TMP1:%.*]] = cir.cast(bitcast, %{{.*}} : !cir.vector<!s64i x 2>), !cir.vector<!s32i x 4>
60
- // CIR: %{{.*}} = cir.vec.shuffle([[TMP1]], %{{.*}} : !cir.vector<!cir.float x 4>) [#cir.int<0> : !s32i, #cir.int<1> : !s32i, #cir.int<2> : !s32i, #cir.int<3> : !s32i, #cir.int<4> : !s32i, #cir.int<5> : !s32i, #cir.int<6> : !s32i, #cir.int<7> : !s32i] : !cir.vector<!cir.float x 8>
61
- // CIR-NEXT: %{{.*}} = cir.vec.shuffle([[TMP0]], %{{.*}} : !cir.vector<!cir.float x 8>) [#cir.int<0 > : !s32i, #cir.int<1 > : !s32i, #cir.int<2 > : !s32i, #cir.int<3 > : !s32i, #cir.int<8 > : !s32i, #cir.int<9 > : !s32i, #cir.int<10 > : !s32i, #cir.int<11 > : !s32i] : !cir.vector<!cir.float x 8>
60
+ // CIR: %{{.*}} = cir.vec.shuffle([[TMP1]], %{{.*}} : !cir.vector<!s32i x 4>) [#cir.int<0> : !s32i, #cir.int<1> : !s32i, #cir.int<2> : !s32i, #cir.int<3> : !s32i, #cir.int<4> : !s32i, #cir.int<5> : !s32i, #cir.int<6> : !s32i, #cir.int<7> : !s32i] : !cir.vector<!s32i x 8>
61
+ // CIR-NEXT: %{{.*}} = cir.vec.shuffle([[TMP0]], %{{.*}} : !cir.vector<!s32i x 8>) [#cir.int<8 > : !s32i, #cir.int<9 > : !s32i, #cir.int<10 > : !s32i, #cir.int<11 > : !s32i, #cir.int<4 > : !s32i, #cir.int<5 > : !s32i, #cir.int<6 > : !s32i, #cir.int<7 > : !s32i] : !cir.vector<!s32i x 8>
62
62
// CIR: %{{.*}} = cir.cast(bitcast, %{{.*}} : !cir.vector<!s32i x 8>), !cir.vector<!s64i x 4>
63
63
// CIR: cir.return %{{.*}} : !cir.vector<!s64i x 4>
64
64
65
65
// LLVM-LABEL: @test_mm256_insertf128_si256_0
66
- // LLVM-NEXT : [[TMP0:%.*]] = bitcast <4 x i64> %{{.*}} to <8 x i32>
67
- // LLVM-NEXT : [[TMP1:%.*]] = bitcast <2 x i64> %{{.*}} to <4 x i32>
68
- // LLVM-NEXT : [[WIDEN:%.*]] = shufflevector <4 x i32> [[TMP1]], <4 x i32> poison, <8 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
66
+ // LLVM: [[TMP0:%.*]] = bitcast <4 x i64> %{{.*}} to <8 x i32>
67
+ // LLVM: [[TMP1:%.*]] = bitcast <2 x i64> %{{.*}} to <4 x i32>
68
+ // LLVM: [[WIDEN:%.*]] = shufflevector <4 x i32> [[TMP1]], <4 x i32> poison, <8 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
69
69
// LLVM-NEXT: [[INSERT:%.*]] = shufflevector <8 x i32> [[TMP0]], <8 x i32> [[WIDEN]], <8 x i32> <i32 8, i32 9, i32 10, i32 11, i32 4, i32 5, i32 6, i32 7>
70
- // LLVM-NEXT : [[TMP2:%.*]] = bitcast <8 x i32> [[INSERT]] to <4 x i64>
71
- // LLVM-NEXT : ret <4 x i64> %{{.*}}
70
+ // LLVM: [[TMP2:%.*]] = bitcast <8 x i32> [[INSERT]] to <4 x i64>
71
+ // LLVM: ret <4 x i64> %{{.*}}
72
72
//
73
73
__m256i test_mm256_insertf128_si256_0 (__m256i a , __m128i b ) {
74
74
return _mm256_insertf128_si256 (a , b , 0 );
@@ -77,18 +77,18 @@ __m256i test_mm256_insertf128_si256_0(__m256i a, __m128i b) {
77
77
// CIR-LABEL: @test_mm256_insertf128_si256_1(
78
78
// CIR: [[TMP0:%.*]] = cir.cast(bitcast, %{{.*}} : !cir.vector<!s64i x 4>), !cir.vector<!s32i x 8>
79
79
// CIR: [[TMP1:%.*]] = cir.cast(bitcast, %{{.*}} : !cir.vector<!s64i x 2>), !cir.vector<!s32i x 4>
80
- // CIR: %{{.*}} = cir.vec.shuffle([[TMP1]], %{{.*}} : !cir.vector<!cir.float x 4>) [#cir.int<0> : !s32i, #cir.int<1> : !s32i, #cir.int<2> : !s32i, #cir.int<3> : !s32i, #cir.int<4> : !s32i, #cir.int<5> : !s32i, #cir.int<6> : !s32i, #cir.int<7> : !s32i] : !cir.vector<!cir.float x 8>
81
- // CIR-NEXT: %{{.*}} = cir.vec.shuffle([[TMP0]], %{{.*}} : !cir.vector<!cir.float x 8>) [#cir.int<0> : !s32i, #cir.int<1> : !s32i, #cir.int<2> : !s32i, #cir.int<3> : !s32i, #cir.int<8> : !s32i, #cir.int<9> : !s32i, #cir.int<10> : !s32i, #cir.int<11> : !s32i] : !cir.vector<!cir.float x 8>
80
+ // CIR: %{{.*}} = cir.vec.shuffle([[TMP1]], %{{.*}} : !cir.vector<!s32i x 4>) [#cir.int<0> : !s32i, #cir.int<1> : !s32i, #cir.int<2> : !s32i, #cir.int<3> : !s32i, #cir.int<4> : !s32i, #cir.int<5> : !s32i, #cir.int<6> : !s32i, #cir.int<7> : !s32i] : !cir.vector<!s32i x 8>
81
+ // CIR-NEXT: %{{.*}} = cir.vec.shuffle([[TMP0]], %{{.*}} : !cir.vector<!s32i x 8>) [#cir.int<0> : !s32i, #cir.int<1> : !s32i, #cir.int<2> : !s32i, #cir.int<3> : !s32i, #cir.int<8> : !s32i, #cir.int<9> : !s32i, #cir.int<10> : !s32i, #cir.int<11> : !s32i] : !cir.vector<!s32i x 8>
82
82
// CIR: %{{.*}} = cir.cast(bitcast, %{{.*}} : !cir.vector<!s32i x 8>), !cir.vector<!s64i x 4>
83
83
// CIR: cir.return %{{.*}} : !cir.vector<!s64i x 4>
84
84
85
85
// LLVM-LABEL: @test_mm256_insertf128_si256_1
86
- // LLVM-NEXT : [[TMP0:%.*]] = bitcast <4 x i64> %{{.*}} to <8 x i32>
87
- // LLVM-NEXT : [[TMP1:%.*]] = bitcast <2 x i64> %{{.*}} to <4 x i32>
88
- // LLVM-NEXT : [[WIDEN:%.*]] = shufflevector <4 x i32> [[TMP1]], <4 x i32> poison, <8 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
86
+ // LLVM: [[TMP0:%.*]] = bitcast <4 x i64> %{{.*}} to <8 x i32>
87
+ // LLVM: [[TMP1:%.*]] = bitcast <2 x i64> %{{.*}} to <4 x i32>
88
+ // LLVM: [[WIDEN:%.*]] = shufflevector <4 x i32> [[TMP1]], <4 x i32> poison, <8 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
89
89
// LLVM-NEXT: [[INSERT:%.*]] = shufflevector <8 x i32> [[TMP0]], <8 x i32> [[WIDEN]], <8 x i32> <i32 0, i32 1, i32 2, i32 3, i32 8, i32 9, i32 10, i32 11>
90
- // LLVM-NEXT : [[TMP2:%.*]] = bitcast <8 x i32> [[INSERT]] to <4 x i64>
91
- // LLVM-NEXT : ret <4 x i64> %{{.*}}
90
+ // LLVM: [[TMP2:%.*]] = bitcast <8 x i32> [[INSERT]] to <4 x i64>
91
+ // LLVM: ret <4 x i64> %{{.*}}
92
92
//
93
93
__m256i test_mm256_insertf128_si256_1 (__m256i a , __m128i b ) {
94
94
return _mm256_insertf128_si256 (a , b , 1 );
0 commit comments