1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323
|
# Not implemented in stdarch yet
vbfdot_f32
vbfdot_lane_f32
vbfdot_laneq_f32
vbfdotq_f32
vbfdotq_lane_f32
vbfdotq_laneq_f32
vbfmlalbq_f32
vbfmlalbq_lane_f32
vbfmlalbq_laneq_f32
vbfmlaltq_f32
vbfmlaltq_lane_f32
vbfmlaltq_laneq_f32
vbfmmlaq_f32
vsudot_laneq_s32
vsudot_lane_s32
vsudotq_laneq_s32
vsudotq_lane_s32
vusdot_laneq_s32
vusdot_lane_s32
vusdotq_laneq_s32
vusdotq_lane_s32
vusdotq_s32
vusdot_s32
# Implemented in Clang and stdarch but missing from CSV
vtst_p16
vtstq_p16
# QEMU 6.0 doesn't support these instructions
vmmlaq_s32
vmmlaq_u32
vusmmlaq_s32
# Implemented in Clang and stdarch for A64 only even though CSV claims A32 support
__crc32d
__crc32cd
vaddq_p64
vbsl_p64
vbslq_p64
vceq_p64
vceqq_p64
vceqz_p64
vceqzq_p64
vcombine_p64
vcopy_lane_p64
vcopy_laneq_p64
vcopyq_lane_p64
vcopyq_laneq_p64
vcreate_p64
vdup_lane_p64
vdup_n_p64
vdupq_lane_p64
vdupq_n_p64
vext_p64
vextq_p64
vget_high_p64
vget_lane_p64
vget_low_p64
vgetq_lane_p64
vmovn_high_s16
vmovn_high_s32
vmovn_high_s64
vmovn_high_u16
vmovn_high_u32
vmovn_high_u64
vmull_high_p64
vmull_p64
vreinterpret_p16_p64
vreinterpret_p64_f32
vreinterpret_p64_p16
vreinterpret_p64_p8
vreinterpret_p64_s16
vreinterpret_p64_s32
vreinterpret_p64_s8
vreinterpret_p64_u16
vreinterpret_p64_u32
vreinterpret_p64_u64
vreinterpret_p64_u8
vreinterpret_p8_p64
vreinterpretq_f64_u64
vreinterpretq_p128_f32
vreinterpretq_p128_p16
vreinterpretq_p128_p8
vreinterpretq_p128_s16
vreinterpretq_p128_s32
vreinterpretq_p128_s64
vreinterpretq_p128_s8
vreinterpretq_p128_u16
vreinterpretq_p128_u32
vreinterpretq_p128_u64
vreinterpretq_p128_u8
vreinterpretq_p16_p64
vreinterpretq_p64_f32
vreinterpretq_p64_p16
vreinterpretq_p64_p8
vreinterpretq_p64_s16
vreinterpretq_p64_s32
vreinterpretq_p64_s64
vreinterpretq_p64_s8
vreinterpretq_p64_u16
vreinterpretq_p64_u32
vreinterpretq_p64_u64
vreinterpretq_p64_u8
vreinterpretq_p8_p64
vreinterpretq_s16_p64
vreinterpretq_s32_p64
vreinterpretq_s64_p64
vreinterpretq_s8_p64
vreinterpretq_u16_p64
vreinterpretq_u32_p64
vreinterpretq_u64_p64
vreinterpretq_u8_p64
vreinterpret_s16_p64
vreinterpret_s32_p64
vreinterpret_s64_p64
vreinterpret_s8_p64
vreinterpret_u16_p64
vreinterpret_u32_p64
vreinterpret_u64_p64
vreinterpret_u8_p64
vrndn_f64
vrndnq_f64
vset_lane_p64
vsetq_lane_p64
vsli_n_p64
vsliq_n_p64
vsri_n_p64
vsriq_n_p64
vtst_p64
vtstq_p64
# Present in Clang header but triggers an ICE due to lack of backend support.
vcmla_f32
vcmla_lane_f32
vcmla_laneq_f32
vcmla_rot180_f32
vcmla_rot180_lane_f32
vcmla_rot180_laneq_f32
vcmla_rot270_f32
vcmla_rot270_lane_f32
vcmla_rot270_laneq_f32
vcmla_rot90_f32
vcmla_rot90_lane_f32
vcmla_rot90_laneq_f32
vcmlaq_f32
vcmlaq_lane_f32
vcmlaq_laneq_f32
vcmlaq_rot180_f32
vcmlaq_rot180_lane_f32
vcmlaq_rot180_laneq_f32
vcmlaq_rot270_f32
vcmlaq_rot270_lane_f32
vcmlaq_rot270_laneq_f32
vcmlaq_rot90_f32
vcmlaq_rot90_lane_f32
vcmlaq_rot90_laneq_f32
# Implemented in stdarch for A64 only, Clang support both A32/A64
vadd_s64
vadd_u64
vcaddq_rot270_f32
vcaddq_rot90_f32
vcadd_rot270_f32
vcadd_rot90_f32
vcvtaq_s32_f32
vcvtaq_u32_f32
vcvta_s32_f32
vcvta_u32_f32
vcvtmq_s32_f32
vcvtmq_u32_f32
vcvtm_s32_f32
vcvtm_u32_f32
vcvtnq_s32_f32
vcvtnq_u32_f32
vcvtn_s32_f32
vcvtn_u32_f32
vcvtpq_s32_f32
vcvtpq_u32_f32
vcvtp_s32_f32
vcvtp_u32_f32
vdot_lane_s32
vdot_lane_u32
vdotq_lane_s32
vdotq_lane_u32
vdotq_s32
vdotq_u32
vdot_s32
vdot_u32
vqdmulh_lane_s16
vqdmulh_lane_s32
vqdmulhq_lane_s16
vqdmulhq_lane_s32
vrnda_f32
vrnda_f32
vrndaq_f32
vrndaq_f32
vrnd_f32
vrnd_f32
vrndi_f32
vrndi_f32
vrndiq_f32
vrndiq_f32
vrndm_f32
vrndm_f32
vrndmq_f32
vrndmq_f32
vrndns_f32
vrndp_f32
vrndpq_f32
vrndq_f32
vrndq_f32
vrndx_f32
vrndxq_f32
# LLVM select error in debug builds
vqrshrn_n_s16
vqrshrn_n_s32
vqrshrn_n_s64
vqrshrn_n_u16
vqrshrn_n_u32
vqrshrn_n_u64
vqrshrun_n_s16
vqrshrun_n_s32
vqrshrun_n_s64
vqshrn_n_s16
vqshrn_n_s32
vqshrn_n_s64
vqshrn_n_u16
vqshrn_n_u32
vqshrn_n_u64
vqshrun_n_s16
vqshrun_n_s32
vqshrun_n_s64
vrshrn_n_s16
vrshrn_n_s32
vrshrn_n_s64
vrshrn_n_u16
vrshrn_n_u32
vrshrn_n_u64
vshrq_n_u64
vshr_n_u64
# Failing tests: stdarch has incorrect results compared to Clang
vqshlu_n_s16
vqshlu_n_s32
vqshlu_n_s64
vqshlu_n_s8
vqshluq_n_s16
vqshluq_n_s32
vqshluq_n_s64
vqshluq_n_s8
vsli_n_p16
vsli_n_p8
vsli_n_s16
vsli_n_s32
vsli_n_s64
vsli_n_s8
vsli_n_u16
vsli_n_u32
vsli_n_u64
vsli_n_u8
vsliq_n_p16
vsliq_n_p8
vsliq_n_s16
vsliq_n_s32
vsliq_n_s64
vsliq_n_s8
vsliq_n_u16
vsliq_n_u32
vsliq_n_u64
vsliq_n_u8
vsri_n_p16
vsri_n_p8
vsri_n_s16
vsri_n_s32
vsri_n_s64
vsri_n_s8
vsri_n_u16
vsri_n_u32
vsri_n_u64
vsri_n_u8
vsriq_n_p16
vsriq_n_p8
vsriq_n_s16
vsriq_n_s32
vsriq_n_s64
vsriq_n_s8
vsriq_n_u16
vsriq_n_u32
vsriq_n_u64
vsriq_n_u8
# These produce a different result on Clang depending on the optimization level.
# This is definitely a bug in LLVM.
vadd_f32
vaddq_f32
vcvt_s32_f32
vcvt_u32_f32
vcvtq_s32_f32
vcvtq_u32_f32
vfma_f32
vfma_n_f32
vfmaq_f32
vfmaq_n_f32
vfms_f32
vfmsq_f32
vmla_f32
vmla_lane_f32
vmla_n_f32
vmlaq_f32
vmlaq_lane_f32
vmlaq_n_f32
vmls_f32
vmls_lane_f32
vmls_n_f32
vmlsq_f32
vmlsq_lane_f32
vmlsq_n_f32
vmul_lane_f32
vmul_n_f32
vmulq_lane_f32
vmulq_n_f32
|