@@ -95,14 +95,6 @@ CHECK(sha2, {
9595 : : : "v0"
9696 );
9797})
98- CHECK (sha1 , {
99- asm volatile (
100- "fmov s0, #0" "\n"
101- // FIXME: sha1h is under +sha2 in clang, and +sha1 doesn't exist yet.
102- ".inst 0x5e280800" "\n" // sha1h s0, s0
103- : : : "v0"
104- );
105- })
10698CHECK (aes , {
10799 asm volatile (
108100 "fmov d0, #0" "\n"
@@ -111,13 +103,6 @@ CHECK(aes, {
111103 : : : "v0"
112104 );
113105})
114- CHECK (pmull , {
115- asm volatile (
116- "fmov d0, #0" "\n"
117- "pmull v0.1q, v0.1d, v0.1d" "\n"
118- : : : "v0"
119- );
120- })
121106CHECK (rcpc , {
122107 int x ;
123108 asm volatile (
@@ -174,46 +159,12 @@ CHECK(i8mm, {
174159 : : : "v0"
175160 );
176161})
177- CHECK (dit , {
178- asm volatile (
179- "msr DIT, x0"
180- : : : "x0"
181- );
182- })
183162CHECK (fp16 , {
184163 asm volatile (
185164 "fmov h0, #0"
186165 : : : "v0"
187166 );
188167})
189- CHECK (ssbs2 , {
190- asm volatile (
191- "mrs x0, SSBS" "\n"
192- "msr SSBS, x0" "\n"
193- : : : "x0"
194- );
195- })
196- CHECK (bti , {
197- // The only test for this requires reading a register that is only
198- // accessible to EL1.
199- #ifdef __linux__
200- // On linux, the kernel intercepts the trap, and emulates it for EL0 processes.
201- int val = 0 ;
202- asm volatile ("mrs %0, ID_AA64PFR1_EL1" : "=r" (val ));
203- // ID_AA64PFR1_EL1.BT, bits [3:0] = 0b0001 if Branch Target Identification
204- // mechanism implemented.
205- if ((val & 0xF ) != 0x1 )
206- return false;
207- #elif defined(__APPLE__ )
208- // On Apple platforms, we need to check a sysctl.
209- int32_t val = 0 ;
210- size_t size = sizeof (val );
211- if (sysctlbyname ("hw.optional.arm.FEAT_BTI" , & val , & size , NULL , 0 ) || val != 1 )
212- return false;
213- #else
214- // TODO: implement me on your platform to fix this test!
215- #endif
216- })
217168CHECK (simd , {
218169 asm volatile (
219170 "mov v0.B[0], w0"
@@ -263,9 +214,7 @@ int main(int, const char **) {
263214 check_rdm ();
264215 check_lse ();
265216 check_sha2 ();
266- check_sha1 ();
267217 check_aes ();
268- check_pmull ();
269218 check_rcpc ();
270219 check_rcpc2 ();
271220 check_fcma ();
@@ -274,10 +223,7 @@ int main(int, const char **) {
274223 check_dpb2 ();
275224 check_bf16 ();
276225 check_i8mm ();
277- check_dit ();
278226 check_fp16 ();
279- check_ssbs2 ();
280- check_bti ();
281227 check_simd ();
282228 check_fp ();
283229 check_crc ();
0 commit comments