10
10
11
11
// CHECK-LE-LABEL: @test_vcreateq_f16(
12
12
// CHECK-LE-NEXT: entry:
13
- // CHECK-LE-NEXT: [[TMP0:%.*]] = insertelement <2 x i64> undef , i64 [[A:%.*]], i64 0
13
+ // CHECK-LE-NEXT: [[TMP0:%.*]] = insertelement <2 x i64> poison , i64 [[A:%.*]], i64 0
14
14
// CHECK-LE-NEXT: [[TMP1:%.*]] = insertelement <2 x i64> [[TMP0]], i64 [[B:%.*]], i64 1
15
15
// CHECK-LE-NEXT: [[TMP2:%.*]] = bitcast <2 x i64> [[TMP1]] to <8 x half>
16
16
// CHECK-LE-NEXT: ret <8 x half> [[TMP2]]
17
17
//
18
18
// CHECK-BE-LABEL: @test_vcreateq_f16(
19
19
// CHECK-BE-NEXT: entry:
20
- // CHECK-BE-NEXT: [[TMP0:%.*]] = insertelement <2 x i64> undef , i64 [[A:%.*]], i64 0
20
+ // CHECK-BE-NEXT: [[TMP0:%.*]] = insertelement <2 x i64> poison , i64 [[A:%.*]], i64 0
21
21
// CHECK-BE-NEXT: [[TMP1:%.*]] = insertelement <2 x i64> [[TMP0]], i64 [[B:%.*]], i64 1
22
22
// CHECK-BE-NEXT: [[TMP2:%.*]] = call <8 x half> @llvm.arm.mve.vreinterpretq.v8f16.v2i64(<2 x i64> [[TMP1]])
23
23
// CHECK-BE-NEXT: ret <8 x half> [[TMP2]]
@@ -29,14 +29,14 @@ float16x8_t test_vcreateq_f16(uint64_t a, uint64_t b)
29
29
30
30
// CHECK-LE-LABEL: @test_vcreateq_f32(
31
31
// CHECK-LE-NEXT: entry:
32
- // CHECK-LE-NEXT: [[TMP0:%.*]] = insertelement <2 x i64> undef , i64 [[A:%.*]], i64 0
32
+ // CHECK-LE-NEXT: [[TMP0:%.*]] = insertelement <2 x i64> poison , i64 [[A:%.*]], i64 0
33
33
// CHECK-LE-NEXT: [[TMP1:%.*]] = insertelement <2 x i64> [[TMP0]], i64 [[B:%.*]], i64 1
34
34
// CHECK-LE-NEXT: [[TMP2:%.*]] = bitcast <2 x i64> [[TMP1]] to <4 x float>
35
35
// CHECK-LE-NEXT: ret <4 x float> [[TMP2]]
36
36
//
37
37
// CHECK-BE-LABEL: @test_vcreateq_f32(
38
38
// CHECK-BE-NEXT: entry:
39
- // CHECK-BE-NEXT: [[TMP0:%.*]] = insertelement <2 x i64> undef , i64 [[A:%.*]], i64 0
39
+ // CHECK-BE-NEXT: [[TMP0:%.*]] = insertelement <2 x i64> poison , i64 [[A:%.*]], i64 0
40
40
// CHECK-BE-NEXT: [[TMP1:%.*]] = insertelement <2 x i64> [[TMP0]], i64 [[B:%.*]], i64 1
41
41
// CHECK-BE-NEXT: [[TMP2:%.*]] = call <4 x float> @llvm.arm.mve.vreinterpretq.v4f32.v2i64(<2 x i64> [[TMP1]])
42
42
// CHECK-BE-NEXT: ret <4 x float> [[TMP2]]
@@ -48,14 +48,14 @@ float32x4_t test_vcreateq_f32(uint64_t a, uint64_t b)
48
48
49
49
// CHECK-LE-LABEL: @test_vcreateq_s16(
50
50
// CHECK-LE-NEXT: entry:
51
- // CHECK-LE-NEXT: [[TMP0:%.*]] = insertelement <2 x i64> undef , i64 [[A:%.*]], i64 0
51
+ // CHECK-LE-NEXT: [[TMP0:%.*]] = insertelement <2 x i64> poison , i64 [[A:%.*]], i64 0
52
52
// CHECK-LE-NEXT: [[TMP1:%.*]] = insertelement <2 x i64> [[TMP0]], i64 [[B:%.*]], i64 1
53
53
// CHECK-LE-NEXT: [[TMP2:%.*]] = bitcast <2 x i64> [[TMP1]] to <8 x i16>
54
54
// CHECK-LE-NEXT: ret <8 x i16> [[TMP2]]
55
55
//
56
56
// CHECK-BE-LABEL: @test_vcreateq_s16(
57
57
// CHECK-BE-NEXT: entry:
58
- // CHECK-BE-NEXT: [[TMP0:%.*]] = insertelement <2 x i64> undef , i64 [[A:%.*]], i64 0
58
+ // CHECK-BE-NEXT: [[TMP0:%.*]] = insertelement <2 x i64> poison , i64 [[A:%.*]], i64 0
59
59
// CHECK-BE-NEXT: [[TMP1:%.*]] = insertelement <2 x i64> [[TMP0]], i64 [[B:%.*]], i64 1
60
60
// CHECK-BE-NEXT: [[TMP2:%.*]] = call <8 x i16> @llvm.arm.mve.vreinterpretq.v8i16.v2i64(<2 x i64> [[TMP1]])
61
61
// CHECK-BE-NEXT: ret <8 x i16> [[TMP2]]
@@ -67,14 +67,14 @@ int16x8_t test_vcreateq_s16(uint64_t a, uint64_t b)
67
67
68
68
// CHECK-LE-LABEL: @test_vcreateq_s32(
69
69
// CHECK-LE-NEXT: entry:
70
- // CHECK-LE-NEXT: [[TMP0:%.*]] = insertelement <2 x i64> undef , i64 [[A:%.*]], i64 0
70
+ // CHECK-LE-NEXT: [[TMP0:%.*]] = insertelement <2 x i64> poison , i64 [[A:%.*]], i64 0
71
71
// CHECK-LE-NEXT: [[TMP1:%.*]] = insertelement <2 x i64> [[TMP0]], i64 [[B:%.*]], i64 1
72
72
// CHECK-LE-NEXT: [[TMP2:%.*]] = bitcast <2 x i64> [[TMP1]] to <4 x i32>
73
73
// CHECK-LE-NEXT: ret <4 x i32> [[TMP2]]
74
74
//
75
75
// CHECK-BE-LABEL: @test_vcreateq_s32(
76
76
// CHECK-BE-NEXT: entry:
77
- // CHECK-BE-NEXT: [[TMP0:%.*]] = insertelement <2 x i64> undef , i64 [[A:%.*]], i64 0
77
+ // CHECK-BE-NEXT: [[TMP0:%.*]] = insertelement <2 x i64> poison , i64 [[A:%.*]], i64 0
78
78
// CHECK-BE-NEXT: [[TMP1:%.*]] = insertelement <2 x i64> [[TMP0]], i64 [[B:%.*]], i64 1
79
79
// CHECK-BE-NEXT: [[TMP2:%.*]] = call <4 x i32> @llvm.arm.mve.vreinterpretq.v4i32.v2i64(<2 x i64> [[TMP1]])
80
80
// CHECK-BE-NEXT: ret <4 x i32> [[TMP2]]
@@ -86,7 +86,7 @@ int32x4_t test_vcreateq_s32(uint64_t a, uint64_t b)
86
86
87
87
// CHECK-LABEL: @test_vcreateq_s64(
88
88
// CHECK-NEXT: entry:
89
- // CHECK-NEXT: [[TMP0:%.*]] = insertelement <2 x i64> undef , i64 [[A:%.*]], i64 0
89
+ // CHECK-NEXT: [[TMP0:%.*]] = insertelement <2 x i64> poison , i64 [[A:%.*]], i64 0
90
90
// CHECK-NEXT: [[TMP1:%.*]] = insertelement <2 x i64> [[TMP0]], i64 [[B:%.*]], i64 1
91
91
// CHECK-NEXT: ret <2 x i64> [[TMP1]]
92
92
//
@@ -97,14 +97,14 @@ int64x2_t test_vcreateq_s64(uint64_t a, uint64_t b)
97
97
98
98
// CHECK-LE-LABEL: @test_vcreateq_s8(
99
99
// CHECK-LE-NEXT: entry:
100
- // CHECK-LE-NEXT: [[TMP0:%.*]] = insertelement <2 x i64> undef , i64 [[A:%.*]], i64 0
100
+ // CHECK-LE-NEXT: [[TMP0:%.*]] = insertelement <2 x i64> poison , i64 [[A:%.*]], i64 0
101
101
// CHECK-LE-NEXT: [[TMP1:%.*]] = insertelement <2 x i64> [[TMP0]], i64 [[B:%.*]], i64 1
102
102
// CHECK-LE-NEXT: [[TMP2:%.*]] = bitcast <2 x i64> [[TMP1]] to <16 x i8>
103
103
// CHECK-LE-NEXT: ret <16 x i8> [[TMP2]]
104
104
//
105
105
// CHECK-BE-LABEL: @test_vcreateq_s8(
106
106
// CHECK-BE-NEXT: entry:
107
- // CHECK-BE-NEXT: [[TMP0:%.*]] = insertelement <2 x i64> undef , i64 [[A:%.*]], i64 0
107
+ // CHECK-BE-NEXT: [[TMP0:%.*]] = insertelement <2 x i64> poison , i64 [[A:%.*]], i64 0
108
108
// CHECK-BE-NEXT: [[TMP1:%.*]] = insertelement <2 x i64> [[TMP0]], i64 [[B:%.*]], i64 1
109
109
// CHECK-BE-NEXT: [[TMP2:%.*]] = call <16 x i8> @llvm.arm.mve.vreinterpretq.v16i8.v2i64(<2 x i64> [[TMP1]])
110
110
// CHECK-BE-NEXT: ret <16 x i8> [[TMP2]]
@@ -116,14 +116,14 @@ int8x16_t test_vcreateq_s8(uint64_t a, uint64_t b)
116
116
117
117
// CHECK-LE-LABEL: @test_vcreateq_u16(
118
118
// CHECK-LE-NEXT: entry:
119
- // CHECK-LE-NEXT: [[TMP0:%.*]] = insertelement <2 x i64> undef , i64 [[A:%.*]], i64 0
119
+ // CHECK-LE-NEXT: [[TMP0:%.*]] = insertelement <2 x i64> poison , i64 [[A:%.*]], i64 0
120
120
// CHECK-LE-NEXT: [[TMP1:%.*]] = insertelement <2 x i64> [[TMP0]], i64 [[B:%.*]], i64 1
121
121
// CHECK-LE-NEXT: [[TMP2:%.*]] = bitcast <2 x i64> [[TMP1]] to <8 x i16>
122
122
// CHECK-LE-NEXT: ret <8 x i16> [[TMP2]]
123
123
//
124
124
// CHECK-BE-LABEL: @test_vcreateq_u16(
125
125
// CHECK-BE-NEXT: entry:
126
- // CHECK-BE-NEXT: [[TMP0:%.*]] = insertelement <2 x i64> undef , i64 [[A:%.*]], i64 0
126
+ // CHECK-BE-NEXT: [[TMP0:%.*]] = insertelement <2 x i64> poison , i64 [[A:%.*]], i64 0
127
127
// CHECK-BE-NEXT: [[TMP1:%.*]] = insertelement <2 x i64> [[TMP0]], i64 [[B:%.*]], i64 1
128
128
// CHECK-BE-NEXT: [[TMP2:%.*]] = call <8 x i16> @llvm.arm.mve.vreinterpretq.v8i16.v2i64(<2 x i64> [[TMP1]])
129
129
// CHECK-BE-NEXT: ret <8 x i16> [[TMP2]]
@@ -135,14 +135,14 @@ uint16x8_t test_vcreateq_u16(uint64_t a, uint64_t b)
135
135
136
136
// CHECK-LE-LABEL: @test_vcreateq_u32(
137
137
// CHECK-LE-NEXT: entry:
138
- // CHECK-LE-NEXT: [[TMP0:%.*]] = insertelement <2 x i64> undef , i64 [[A:%.*]], i64 0
138
+ // CHECK-LE-NEXT: [[TMP0:%.*]] = insertelement <2 x i64> poison , i64 [[A:%.*]], i64 0
139
139
// CHECK-LE-NEXT: [[TMP1:%.*]] = insertelement <2 x i64> [[TMP0]], i64 [[B:%.*]], i64 1
140
140
// CHECK-LE-NEXT: [[TMP2:%.*]] = bitcast <2 x i64> [[TMP1]] to <4 x i32>
141
141
// CHECK-LE-NEXT: ret <4 x i32> [[TMP2]]
142
142
//
143
143
// CHECK-BE-LABEL: @test_vcreateq_u32(
144
144
// CHECK-BE-NEXT: entry:
145
- // CHECK-BE-NEXT: [[TMP0:%.*]] = insertelement <2 x i64> undef , i64 [[A:%.*]], i64 0
145
+ // CHECK-BE-NEXT: [[TMP0:%.*]] = insertelement <2 x i64> poison , i64 [[A:%.*]], i64 0
146
146
// CHECK-BE-NEXT: [[TMP1:%.*]] = insertelement <2 x i64> [[TMP0]], i64 [[B:%.*]], i64 1
147
147
// CHECK-BE-NEXT: [[TMP2:%.*]] = call <4 x i32> @llvm.arm.mve.vreinterpretq.v4i32.v2i64(<2 x i64> [[TMP1]])
148
148
// CHECK-BE-NEXT: ret <4 x i32> [[TMP2]]
@@ -154,7 +154,7 @@ uint32x4_t test_vcreateq_u32(uint64_t a, uint64_t b)
154
154
155
155
// CHECK-LABEL: @test_vcreateq_u64(
156
156
// CHECK-NEXT: entry:
157
- // CHECK-NEXT: [[TMP0:%.*]] = insertelement <2 x i64> undef , i64 [[A:%.*]], i64 0
157
+ // CHECK-NEXT: [[TMP0:%.*]] = insertelement <2 x i64> poison , i64 [[A:%.*]], i64 0
158
158
// CHECK-NEXT: [[TMP1:%.*]] = insertelement <2 x i64> [[TMP0]], i64 [[B:%.*]], i64 1
159
159
// CHECK-NEXT: ret <2 x i64> [[TMP1]]
160
160
//
@@ -165,14 +165,14 @@ uint64x2_t test_vcreateq_u64(uint64_t a, uint64_t b)
165
165
166
166
// CHECK-LE-LABEL: @test_vcreateq_u8(
167
167
// CHECK-LE-NEXT: entry:
168
- // CHECK-LE-NEXT: [[TMP0:%.*]] = insertelement <2 x i64> undef , i64 [[A:%.*]], i64 0
168
+ // CHECK-LE-NEXT: [[TMP0:%.*]] = insertelement <2 x i64> poison , i64 [[A:%.*]], i64 0
169
169
// CHECK-LE-NEXT: [[TMP1:%.*]] = insertelement <2 x i64> [[TMP0]], i64 [[B:%.*]], i64 1
170
170
// CHECK-LE-NEXT: [[TMP2:%.*]] = bitcast <2 x i64> [[TMP1]] to <16 x i8>
171
171
// CHECK-LE-NEXT: ret <16 x i8> [[TMP2]]
172
172
//
173
173
// CHECK-BE-LABEL: @test_vcreateq_u8(
174
174
// CHECK-BE-NEXT: entry:
175
- // CHECK-BE-NEXT: [[TMP0:%.*]] = insertelement <2 x i64> undef , i64 [[A:%.*]], i64 0
175
+ // CHECK-BE-NEXT: [[TMP0:%.*]] = insertelement <2 x i64> poison , i64 [[A:%.*]], i64 0
176
176
// CHECK-BE-NEXT: [[TMP1:%.*]] = insertelement <2 x i64> [[TMP0]], i64 [[B:%.*]], i64 1
177
177
// CHECK-BE-NEXT: [[TMP2:%.*]] = call <16 x i8> @llvm.arm.mve.vreinterpretq.v16i8.v2i64(<2 x i64> [[TMP1]])
178
178
// CHECK-BE-NEXT: ret <16 x i8> [[TMP2]]
0 commit comments