@@ -124,14 +124,29 @@ pub fn assert(shim_addr: usize, fnname: &str, expected: &str) {
124
124
// Intrinsics using `cvtpi2ps` are typically "composites" and
125
125
// in some cases exceed the limit.
126
126
"cvtpi2ps" => 25 ,
127
+ // core_arch/src/arm_shared/simd32
127
128
// vfmaq_n_f32_vfma : #instructions = 26 >= 22 (limit)
128
- "vfma" | "vfms" => 27 ,
129
+ "usad8" | "vfma" | "vfms" => 27 ,
130
+ "qadd8" | "qsub8" | "sadd8" | "sel" | "shadd8" | "shsub8" | "usub8" | "ssub8" => 29 ,
131
+ // core_arch/src/arm_shared/simd32
132
+ // vst1q_s64_x4_vst1 : #instructions = 27 >= 22 (limit)
133
+ "vld3" => 28 ,
134
+ // core_arch/src/arm_shared/simd32
135
+ // vld4q_lane_u32_vld4 : #instructions = 36 >= 22 (limit)
136
+ "vld4" => 37 ,
137
+ // core_arch/src/arm_shared/simd32
138
+ // vst1q_s64_x4_vst1 : #instructions = 40 >= 22 (limit)
139
+ "vst1" => 41 ,
140
+ // core_arch/src/arm_shared/simd32
141
+ // vst3q_u32_vst3 : #instructions = 25 >= 22 (limit)
142
+ "vst3" => 26 ,
143
+ // core_arch/src/arm_shared/simd32
144
+ // vst4q_u32_vst4 : #instructions = 33 >= 22 (limit)
145
+ "vst4" => 34 ,
146
+
129
147
// core_arch/src/arm_shared/simd32
130
- "usad8" | "qadd8" | "qsub8" | "sadd8" | "sel" | "shadd8" | "shsub8" | "usub8"
131
- | "ssub8" => 29 ,
132
- // core_arch/src/arm_shared/neon
133
- _ if fnname. contains ( "_vld" ) => 50 ,
134
- _ if fnname. contains ( "_vst" ) => 50 ,
148
+ // vst1q_p64_x4_nop : #instructions = 33 >= 22 (limit)
149
+ "nop" if fnname. contains ( "vst1q_p64" ) => 34 ,
135
150
136
151
// Original limit was 20 instructions, but ARM DSP Intrinsics
137
152
// are exactly 20 instructions long. So, bump the limit to 22
0 commit comments