@@ -37,6 +37,8 @@ __m128h test_mm_set_sh(_Float16 __h) {
37
37
return _mm_set_sh (__h );
38
38
}
39
39
40
+ TEST_CONSTEXPR (match_m128h (_mm_set_sh (2.0 ), 2.0 , 0.0 , 0.0 , 0.0 , 0.0 , 0.0 , 0.0 , 0.0 ));
41
+
40
42
__m128h test_mm_set1_ph (_Float16 h ) {
41
43
// CHECK-LABEL: test_mm_set1_ph
42
44
// CHECK: insertelement <8 x half> {{.*}}, i32 0
@@ -84,6 +86,8 @@ __m128h test_mm_set1_pch(_Float16 _Complex h) {
84
86
return _mm_set1_pch (h );
85
87
}
86
88
89
+ TEST_CONSTEXPR (match_m128h (_mm_set1_pch (1.0 ), 1.0 , 0.0 , 1.0 , 0.0 , 1.0 , 0.0 , 1.0 , 0.0 ));
90
+
87
91
__m256h test_mm256_set1_pch (_Float16 _Complex h ) {
88
92
// CHECK-LABEL: test_mm256_set1_pch
89
93
// CHECK: insertelement <8 x float> {{.*}}, i32 0
@@ -97,6 +101,8 @@ __m256h test_mm256_set1_pch(_Float16 _Complex h) {
97
101
return _mm256_set1_pch (h );
98
102
}
99
103
104
+ TEST_CONSTEXPR (match_m256h (_mm256_set1_pch (1.0 ), 1.0 , 0.0 , 1.0 , 0.0 , 1.0 , 0.0 , 1.0 , 0.0 , 1.0 , 0.0 , 1.0 , 0.0 , 1.0 , 0.0 , 1.0 , 0.0 ));
105
+
100
106
__m128h test_mm_set_ph (_Float16 __h1 , _Float16 __h2 , _Float16 __h3 , _Float16 __h4 ,
101
107
_Float16 __h5 , _Float16 __h6 , _Float16 __h7 , _Float16 __h8 ) {
102
108
// CHECK-LABEL: test_mm_set_ph
@@ -110,6 +116,7 @@ __m128h test_mm_set_ph(_Float16 __h1, _Float16 __h2, _Float16 __h3, _Float16 __h
110
116
// CHECK: insertelement <8 x half> {{.*}}, i32 7
111
117
return _mm_set_ph (__h1 , __h2 , __h3 , __h4 , __h5 , __h6 , __h7 , __h8 );
112
118
}
119
+ TEST_CONSTEXPR (match_m128h (_mm_set_ph (1.0 , 2.0 , 3.0 , 4.0 , 5.0 , 6.0 , 7.0 , 8.0 ), 8.0 , 7.0 , 6.0 , 5.0 , 4.0 , 3.0 , 2.0 , 1.0 ));
113
120
114
121
__m256h test_mm256_set_ph (_Float16 __h1 , _Float16 __h2 , _Float16 __h3 , _Float16 __h4 ,
115
122
_Float16 __h5 , _Float16 __h6 , _Float16 __h7 , _Float16 __h8 ,
@@ -136,6 +143,8 @@ __m256h test_mm256_set_ph(_Float16 __h1, _Float16 __h2, _Float16 __h3, _Float16
136
143
__h9 , __h10 , __h11 , __h12 , __h13 , __h14 , __h15 , __h16 );
137
144
}
138
145
146
+ TEST_CONSTEXPR (match_m256h (_mm256_set_ph (1.0 , 2.0 , 3.0 , 4.0 , 5.0 , 6.0 , 7.0 , 8.0 , 1.0 , 2.0 , 3.0 , 4.0 , 5.0 , 6.0 , 7.0 , 8.0 ), 8.0 , 7.0 , 6.0 , 5.0 , 4.0 , 3.0 , 2.0 , 1.0 , 8.0 , 7.0 , 6.0 , 5.0 , 4.0 , 3.0 , 2.0 , 1.0 ));
147
+
139
148
__m128h test_mm_setr_ph (_Float16 __h1 , _Float16 __h2 , _Float16 __h3 , _Float16 __h4 ,
140
149
_Float16 __h5 , _Float16 __h6 , _Float16 __h7 , _Float16 __h8 ) {
141
150
// CHECK-LABEL: test_mm_setr_ph
@@ -150,6 +159,8 @@ __m128h test_mm_setr_ph(_Float16 __h1, _Float16 __h2, _Float16 __h3, _Float16 __
150
159
return _mm_setr_ph (__h1 , __h2 , __h3 , __h4 , __h5 , __h6 , __h7 , __h8 );
151
160
}
152
161
162
+ TEST_CONSTEXPR (match_m128h (_mm_setr_ph (1.0 , 2.0 , 3.0 , 4.0 , 5.0 , 6.0 , 7.0 , 8.0 ), 1.0 , 2.0 , 3.0 , 4.0 , 5.0 , 6.0 , 7.0 , 8.0 ));
163
+
153
164
__m256h test_mm256_setr_ph (_Float16 __h1 , _Float16 __h2 , _Float16 __h3 , _Float16 __h4 ,
154
165
_Float16 __h5 , _Float16 __h6 , _Float16 __h7 , _Float16 __h8 ,
155
166
_Float16 __h9 , _Float16 __h10 , _Float16 __h11 , _Float16 __h12 ,
@@ -175,6 +186,8 @@ __m256h test_mm256_setr_ph(_Float16 __h1, _Float16 __h2, _Float16 __h3, _Float16
175
186
__h9 , __h10 , __h11 , __h12 , __h13 , __h14 , __h15 , __h16 );
176
187
}
177
188
189
+ TEST_CONSTEXPR (match_m256h (_mm256_setr_ph (1.0 , 2.0 , 3.0 , 4.0 , 5.0 , 6.0 , 7.0 , 8.0 , 1.0 , 2.0 , 3.0 , 4.0 , 5.0 , 6.0 , 7.0 , 8.0 ), 1.0 , 2.0 , 3.0 , 4.0 , 5.0 , 6.0 , 7.0 , 8.0 , 1.0 , 2.0 , 3.0 , 4.0 , 5.0 , 6.0 , 7.0 , 8.0 ));
190
+
178
191
__m256h test_mm256_add_ph (__m256h __A , __m256h __B ) {
179
192
// CHECK-LABEL: test_mm256_add_ph
180
193
// CHECK: %{{.*}} = fadd <16 x half> %{{.*}}, %{{.*}}
0 commit comments