1// REQUIRES: aarch64-registered-target 2// RUN: %clang_cc1 -triple arm64-none-linux-gnu -target-feature +neon -S -O3 -o - %s | FileCheck %s 3 4// Test new aarch64 intrinsics and types 5 6#include <arm_neon.h> 7 8int8x8_t test_vand_s8(int8x8_t a, int8x8_t b) { 9 // CHECK-LABEL: test_vand_s8 10 return vand_s8(a, b); 11 // CHECK: and {{v[0-9]+}}.8b, {{v[0-9]+}}.8b, {{v[0-9]+}}.8b 12} 13 14int8x16_t test_vandq_s8(int8x16_t a, int8x16_t b) { 15 // CHECK-LABEL: test_vandq_s8 16 return vandq_s8(a, b); 17 // CHECK: and {{v[0-9]+}}.16b, {{v[0-9]+}}.16b, {{v[0-9]+}}.16b 18} 19 20int16x4_t test_vand_s16(int16x4_t a, int16x4_t b) { 21 // CHECK-LABEL: test_vand_s16 22 return vand_s16(a, b); 23 // CHECK: and {{v[0-9]+}}.8b, {{v[0-9]+}}.8b, {{v[0-9]+}}.8b 24} 25 26int16x8_t test_vandq_s16(int16x8_t a, int16x8_t b) { 27 // CHECK-LABEL: test_vandq_s16 28 return vandq_s16(a, b); 29 // CHECK: and {{v[0-9]+}}.16b, {{v[0-9]+}}.16b, {{v[0-9]+}}.16b 30} 31 32int32x2_t test_vand_s32(int32x2_t a, int32x2_t b) { 33 // CHECK-LABEL: test_vand_s32 34 return vand_s32(a, b); 35 // CHECK: and {{v[0-9]+}}.8b, {{v[0-9]+}}.8b, {{v[0-9]+}}.8b 36} 37 38int32x4_t test_vandq_s32(int32x4_t a, int32x4_t b) { 39 // CHECK-LABEL: test_vandq_s32 40 return vandq_s32(a, b); 41 // CHECK: and {{v[0-9]+}}.16b, {{v[0-9]+}}.16b, {{v[0-9]+}}.16b 42} 43 44int64x1_t test_vand_s64(int64x1_t a, int64x1_t b) { 45 // CHECK-LABEL: test_vand_s64 46 return vand_s64(a, b); 47 // CHECK: and {{v[0-9]+}}.8b, {{v[0-9]+}}.8b, {{v[0-9]+}}.8b 48} 49 50int64x2_t test_vandq_s64(int64x2_t a, int64x2_t b) { 51 // CHECK-LABEL: test_vandq_s64 52 return vandq_s64(a, b); 53 // CHECK: and {{v[0-9]+}}.16b, {{v[0-9]+}}.16b, {{v[0-9]+}}.16b 54} 55 56uint8x8_t test_vand_u8(uint8x8_t a, uint8x8_t b) { 57 // CHECK-LABEL: test_vand_u8 58 return vand_u8(a, b); 59 // CHECK: and {{v[0-9]+}}.8b, {{v[0-9]+}}.8b, {{v[0-9]+}}.8b 60} 61 62uint8x16_t test_vandq_u8(uint8x16_t a, uint8x16_t b) { 63 // CHECK-LABEL: test_vandq_u8 64 return vandq_u8(a, b); 65 // CHECK: and {{v[0-9]+}}.16b, {{v[0-9]+}}.16b, {{v[0-9]+}}.16b 66} 67 68uint16x4_t test_vand_u16(uint16x4_t a, uint16x4_t b) { 69 // CHECK-LABEL: test_vand_u16 70 return vand_u16(a, b); 71 // CHECK: and {{v[0-9]+}}.8b, {{v[0-9]+}}.8b, {{v[0-9]+}}.8b 72} 73 74uint16x8_t test_vandq_u16(uint16x8_t a, uint16x8_t b) { 75 // CHECK-LABEL: test_vandq_u16 76 return vandq_u16(a, b); 77 // CHECK: and {{v[0-9]+}}.16b, {{v[0-9]+}}.16b, {{v[0-9]+}}.16b 78} 79 80uint32x2_t test_vand_u32(uint32x2_t a, uint32x2_t b) { 81 // CHECK-LABEL: test_vand_u32 82 return vand_u32(a, b); 83 // CHECK: and {{v[0-9]+}}.8b, {{v[0-9]+}}.8b, {{v[0-9]+}}.8b 84} 85 86uint32x4_t test_vandq_u32(uint32x4_t a, uint32x4_t b) { 87 // CHECK-LABEL: test_vandq_u32 88 return vandq_u32(a, b); 89 // CHECK: and {{v[0-9]+}}.16b, {{v[0-9]+}}.16b, {{v[0-9]+}}.16b 90} 91 92uint64x1_t test_vand_u64(uint64x1_t a, uint64x1_t b) { 93 // CHECK-LABEL: test_vand_u64 94 return vand_u64(a, b); 95 // CHECK: and {{v[0-9]+}}.8b, {{v[0-9]+}}.8b, {{v[0-9]+}}.8b 96} 97 98uint64x2_t test_vandq_u64(uint64x2_t a, uint64x2_t b) { 99 // CHECK-LABEL: test_vandq_u64 100 return vandq_u64(a, b); 101 // CHECK: and {{v[0-9]+}}.16b, {{v[0-9]+}}.16b, {{v[0-9]+}}.16b 102} 103 104int8x8_t test_vorr_s8(int8x8_t a, int8x8_t b) { 105 // CHECK-LABEL: test_vorr_s8 106 return vorr_s8(a, b); 107 // CHECK: orr {{v[0-9]+}}.8b, {{v[0-9]+}}.8b, {{v[0-9]+}}.8b 108} 109 110int8x16_t test_vorrq_s8(int8x16_t a, int8x16_t b) { 111 // CHECK-LABEL: test_vorrq_s8 112 return vorrq_s8(a, b); 113 // CHECK: orr {{v[0-9]+}}.16b, {{v[0-9]+}}.16b, {{v[0-9]+}}.16b 114} 115 116int16x4_t test_vorr_s16(int16x4_t a, int16x4_t b) { 117 // CHECK-LABEL: test_vorr_s16 118 return vorr_s16(a, b); 119 // CHECK: orr {{v[0-9]+}}.8b, {{v[0-9]+}}.8b, {{v[0-9]+}}.8b 120} 121 122int16x8_t test_vorrq_s16(int16x8_t a, int16x8_t b) { 123 // CHECK-LABEL: test_vorrq_s16 124 return vorrq_s16(a, b); 125 // CHECK: orr {{v[0-9]+}}.16b, {{v[0-9]+}}.16b, {{v[0-9]+}}.16b 126} 127 128int32x2_t test_vorr_s32(int32x2_t a, int32x2_t b) { 129 // CHECK-LABEL: test_vorr_s32 130 return vorr_s32(a, b); 131 // CHECK: orr {{v[0-9]+}}.8b, {{v[0-9]+}}.8b, {{v[0-9]+}}.8b 132} 133 134int32x4_t test_vorrq_s32(int32x4_t a, int32x4_t b) { 135 // CHECK-LABEL: test_vorrq_s32 136 return vorrq_s32(a, b); 137 // CHECK: orr {{v[0-9]+}}.16b, {{v[0-9]+}}.16b, {{v[0-9]+}}.16b 138} 139 140int64x1_t test_vorr_s64(int64x1_t a, int64x1_t b) { 141 // CHECK-LABEL: test_vorr_s64 142 return vorr_s64(a, b); 143 // CHECK: orr {{v[0-9]+}}.8b, {{v[0-9]+}}.8b, {{v[0-9]+}}.8b 144} 145 146int64x2_t test_vorrq_s64(int64x2_t a, int64x2_t b) { 147 // CHECK-LABEL: test_vorrq_s64 148 return vorrq_s64(a, b); 149 // CHECK: orr {{v[0-9]+}}.16b, {{v[0-9]+}}.16b, {{v[0-9]+}}.16b 150} 151 152uint8x8_t test_vorr_u8(uint8x8_t a, uint8x8_t b) { 153 // CHECK-LABEL: test_vorr_u8 154 return vorr_u8(a, b); 155 // CHECK: orr {{v[0-9]+}}.8b, {{v[0-9]+}}.8b, {{v[0-9]+}}.8b 156} 157 158uint8x16_t test_vorrq_u8(uint8x16_t a, uint8x16_t b) { 159 // CHECK-LABEL: test_vorrq_u8 160 return vorrq_u8(a, b); 161 // CHECK: orr {{v[0-9]+}}.16b, {{v[0-9]+}}.16b, {{v[0-9]+}}.16b 162} 163 164uint16x4_t test_vorr_u16(uint16x4_t a, uint16x4_t b) { 165 // CHECK-LABEL: test_vorr_u16 166 return vorr_u16(a, b); 167 // CHECK: orr {{v[0-9]+}}.8b, {{v[0-9]+}}.8b, {{v[0-9]+}}.8b 168} 169 170uint16x8_t test_vorrq_u16(uint16x8_t a, uint16x8_t b) { 171 // CHECK-LABEL: test_vorrq_u16 172 return vorrq_u16(a, b); 173 // CHECK: orr {{v[0-9]+}}.16b, {{v[0-9]+}}.16b, {{v[0-9]+}}.16b 174} 175 176uint32x2_t test_vorr_u32(uint32x2_t a, uint32x2_t b) { 177 // CHECK-LABEL: test_vorr_u32 178 return vorr_u32(a, b); 179 // CHECK: orr {{v[0-9]+}}.8b, {{v[0-9]+}}.8b, {{v[0-9]+}}.8b 180} 181 182uint32x4_t test_vorrq_u32(uint32x4_t a, uint32x4_t b) { 183 // CHECK-LABEL: test_vorrq_u32 184 return vorrq_u32(a, b); 185 // CHECK: orr {{v[0-9]+}}.16b, {{v[0-9]+}}.16b, {{v[0-9]+}}.16b 186} 187 188uint64x1_t test_vorr_u64(uint64x1_t a, uint64x1_t b) { 189 // CHECK-LABEL: test_vorr_u64 190 return vorr_u64(a, b); 191 // CHECK: orr {{v[0-9]+}}.8b, {{v[0-9]+}}.8b, {{v[0-9]+}}.8b 192} 193 194uint64x2_t test_vorrq_u64(uint64x2_t a, uint64x2_t b) { 195 // CHECK-LABEL: test_vorrq_u64 196 return vorrq_u64(a, b); 197 // CHECK: orr {{v[0-9]+}}.16b, {{v[0-9]+}}.16b, {{v[0-9]+}}.16b 198} 199 200int8x8_t test_veor_s8(int8x8_t a, int8x8_t b) { 201 // CHECK-LABEL: test_veor_s8 202 return veor_s8(a, b); 203 // CHECK: eor {{v[0-9]+}}.8b, {{v[0-9]+}}.8b, {{v[0-9]+}}.8b 204} 205 206int8x16_t test_veorq_s8(int8x16_t a, int8x16_t b) { 207 // CHECK-LABEL: test_veorq_s8 208 return veorq_s8(a, b); 209 // CHECK: eor {{v[0-9]+}}.16b, {{v[0-9]+}}.16b, {{v[0-9]+}}.16b 210} 211 212int16x4_t test_veor_s16(int16x4_t a, int16x4_t b) { 213 // CHECK-LABEL: test_veor_s16 214 return veor_s16(a, b); 215 // CHECK: eor {{v[0-9]+}}.8b, {{v[0-9]+}}.8b, {{v[0-9]+}}.8b 216} 217 218int16x8_t test_veorq_s16(int16x8_t a, int16x8_t b) { 219 // CHECK-LABEL: test_veorq_s16 220 return veorq_s16(a, b); 221 // CHECK: eor {{v[0-9]+}}.16b, {{v[0-9]+}}.16b, {{v[0-9]+}}.16b 222} 223 224int32x2_t test_veor_s32(int32x2_t a, int32x2_t b) { 225 // CHECK-LABEL: test_veor_s32 226 return veor_s32(a, b); 227 // CHECK: eor {{v[0-9]+}}.8b, {{v[0-9]+}}.8b, {{v[0-9]+}}.8b 228} 229 230int32x4_t test_veorq_s32(int32x4_t a, int32x4_t b) { 231 // CHECK-LABEL: test_veorq_s32 232 return veorq_s32(a, b); 233 // CHECK: eor {{v[0-9]+}}.16b, {{v[0-9]+}}.16b, {{v[0-9]+}}.16b 234} 235 236int64x1_t test_veor_s64(int64x1_t a, int64x1_t b) { 237 // CHECK-LABEL: test_veor_s64 238 return veor_s64(a, b); 239 // CHECK: eor {{v[0-9]+}}.8b, {{v[0-9]+}}.8b, {{v[0-9]+}}.8b 240} 241 242int64x2_t test_veorq_s64(int64x2_t a, int64x2_t b) { 243 // CHECK-LABEL: test_veorq_s64 244 return veorq_s64(a, b); 245 // CHECK: eor {{v[0-9]+}}.16b, {{v[0-9]+}}.16b, {{v[0-9]+}}.16b 246} 247 248uint8x8_t test_veor_u8(uint8x8_t a, uint8x8_t b) { 249 // CHECK-LABEL: test_veor_u8 250 return veor_u8(a, b); 251 // CHECK: eor {{v[0-9]+}}.8b, {{v[0-9]+}}.8b, {{v[0-9]+}}.8b 252} 253 254uint8x16_t test_veorq_u8(uint8x16_t a, uint8x16_t b) { 255 // CHECK-LABEL: test_veorq_u8 256 return veorq_u8(a, b); 257 // CHECK: eor {{v[0-9]+}}.16b, {{v[0-9]+}}.16b, {{v[0-9]+}}.16b 258} 259 260uint16x4_t test_veor_u16(uint16x4_t a, uint16x4_t b) { 261 // CHECK-LABEL: test_veor_u16 262 return veor_u16(a, b); 263 // CHECK: eor {{v[0-9]+}}.8b, {{v[0-9]+}}.8b, {{v[0-9]+}}.8b 264} 265 266uint16x8_t test_veorq_u16(uint16x8_t a, uint16x8_t b) { 267 // CHECK-LABEL: test_veorq_u16 268 return veorq_u16(a, b); 269 // CHECK: eor {{v[0-9]+}}.16b, {{v[0-9]+}}.16b, {{v[0-9]+}}.16b 270} 271 272uint32x2_t test_veor_u32(uint32x2_t a, uint32x2_t b) { 273 // CHECK-LABEL: test_veor_u32 274 return veor_u32(a, b); 275 // CHECK: eor {{v[0-9]+}}.8b, {{v[0-9]+}}.8b, {{v[0-9]+}}.8b 276} 277 278uint32x4_t test_veorq_u32(uint32x4_t a, uint32x4_t b) { 279 // CHECK-LABEL: test_veorq_u32 280 return veorq_u32(a, b); 281 // CHECK: eor {{v[0-9]+}}.16b, {{v[0-9]+}}.16b, {{v[0-9]+}}.16b 282} 283 284uint64x1_t test_veor_u64(uint64x1_t a, uint64x1_t b) { 285 // CHECK-LABEL: test_veor_u64 286 return veor_u64(a, b); 287 // CHECK: eor {{v[0-9]+}}.8b, {{v[0-9]+}}.8b, {{v[0-9]+}}.8b 288} 289 290uint64x2_t test_veorq_u64(uint64x2_t a, uint64x2_t b) { 291 // CHECK-LABEL: test_veorq_u64 292 return veorq_u64(a, b); 293 // CHECK: eor {{v[0-9]+}}.16b, {{v[0-9]+}}.16b, {{v[0-9]+}}.16b 294} 295 296int8x8_t test_vbic_s8(int8x8_t a, int8x8_t b) { 297 // CHECK-LABEL: test_vbic_s8 298 return vbic_s8(a, b); 299 // CHECK: bic {{v[0-9]+}}.8b, {{v[0-9]+}}.8b, {{v[0-9]+}}.8b 300} 301 302int8x16_t test_vbicq_s8(int8x16_t a, int8x16_t b) { 303 // CHECK-LABEL: test_vbicq_s8 304 return vbicq_s8(a, b); 305 // CHECK: bic {{v[0-9]+}}.16b, {{v[0-9]+}}.16b, {{v[0-9]+}}.16b 306} 307 308int16x4_t test_vbic_s16(int16x4_t a, int16x4_t b) { 309 // CHECK-LABEL: test_vbic_s16 310 return vbic_s16(a, b); 311 // CHECK: bic {{v[0-9]+}}.8b, {{v[0-9]+}}.8b, {{v[0-9]+}}.8b 312} 313 314int16x8_t test_vbicq_s16(int16x8_t a, int16x8_t b) { 315 // CHECK-LABEL: test_vbicq_s16 316 return vbicq_s16(a, b); 317 // CHECK: bic {{v[0-9]+}}.16b, {{v[0-9]+}}.16b, {{v[0-9]+}}.16b 318} 319 320int32x2_t test_vbic_s32(int32x2_t a, int32x2_t b) { 321 // CHECK-LABEL: test_vbic_s32 322 return vbic_s32(a, b); 323 // CHECK: bic {{v[0-9]+}}.8b, {{v[0-9]+}}.8b, {{v[0-9]+}}.8b 324} 325 326int32x4_t test_vbicq_s32(int32x4_t a, int32x4_t b) { 327 // CHECK-LABEL: test_vbicq_s32 328 return vbicq_s32(a, b); 329 // CHECK: bic {{v[0-9]+}}.16b, {{v[0-9]+}}.16b, {{v[0-9]+}}.16b 330} 331 332int64x1_t test_vbic_s64(int64x1_t a, int64x1_t b) { 333 // CHECK-LABEL: test_vbic_s64 334 return vbic_s64(a, b); 335 // CHECK: bic {{v[0-9]+}}.8b, {{v[0-9]+}}.8b, {{v[0-9]+}}.8b 336} 337 338int64x2_t test_vbicq_s64(int64x2_t a, int64x2_t b) { 339 // CHECK-LABEL: test_vbicq_s64 340 return vbicq_s64(a, b); 341 // CHECK: bic {{v[0-9]+}}.16b, {{v[0-9]+}}.16b, {{v[0-9]+}}.16b 342} 343 344uint8x8_t test_vbic_u8(uint8x8_t a, uint8x8_t b) { 345 // CHECK-LABEL: test_vbic_u8 346 return vbic_u8(a, b); 347 // CHECK: bic {{v[0-9]+}}.8b, {{v[0-9]+}}.8b, {{v[0-9]+}}.8b 348} 349 350uint8x16_t test_vbicq_u8(uint8x16_t a, uint8x16_t b) { 351 // CHECK-LABEL: test_vbicq_u8 352 return vbicq_u8(a, b); 353 // CHECK: bic {{v[0-9]+}}.16b, {{v[0-9]+}}.16b, {{v[0-9]+}}.16b 354} 355 356uint16x4_t test_vbic_u16(uint16x4_t a, uint16x4_t b) { 357 // CHECK-LABEL: test_vbic_u16 358 return vbic_u16(a, b); 359 // CHECK: bic {{v[0-9]+}}.8b, {{v[0-9]+}}.8b, {{v[0-9]+}}.8b 360} 361 362uint16x8_t test_vbicq_u16(uint16x8_t a, uint16x8_t b) { 363 // CHECK-LABEL: test_vbicq_u16 364 return vbicq_u16(a, b); 365 // CHECK: bic {{v[0-9]+}}.16b, {{v[0-9]+}}.16b, {{v[0-9]+}}.16b 366} 367 368uint32x2_t test_vbic_u32(uint32x2_t a, uint32x2_t b) { 369 // CHECK-LABEL: test_vbic_u32 370 return vbic_u32(a, b); 371 // CHECK: bic {{v[0-9]+}}.8b, {{v[0-9]+}}.8b, {{v[0-9]+}}.8b 372} 373 374uint32x4_t test_vbicq_u32(uint32x4_t a, uint32x4_t b) { 375 // CHECK-LABEL: test_vbicq_u32 376 return vbicq_u32(a, b); 377 // CHECK: bic {{v[0-9]+}}.16b, {{v[0-9]+}}.16b, {{v[0-9]+}}.16b 378} 379 380uint64x1_t test_vbic_u64(uint64x1_t a, uint64x1_t b) { 381 // CHECK-LABEL: test_vbic_u64 382 return vbic_u64(a, b); 383 // CHECK: bic {{v[0-9]+}}.8b, {{v[0-9]+}}.8b, {{v[0-9]+}}.8b 384} 385 386uint64x2_t test_vbicq_u64(uint64x2_t a, uint64x2_t b) { 387 // CHECK-LABEL: test_vbicq_u64 388 return vbicq_u64(a, b); 389 // CHECK: bic {{v[0-9]+}}.16b, {{v[0-9]+}}.16b, {{v[0-9]+}}.16b 390} 391 392int8x8_t test_vorn_s8(int8x8_t a, int8x8_t b) { 393 // CHECK-LABEL: test_vorn_s8 394 return vorn_s8(a, b); 395 // CHECK: orn {{v[0-9]+}}.8b, {{v[0-9]+}}.8b, {{v[0-9]+}}.8b 396} 397 398int8x16_t test_vornq_s8(int8x16_t a, int8x16_t b) { 399 // CHECK-LABEL: test_vornq_s8 400 return vornq_s8(a, b); 401 // CHECK: orn {{v[0-9]+}}.16b, {{v[0-9]+}}.16b, {{v[0-9]+}}.16b 402} 403 404int16x4_t test_vorn_s16(int16x4_t a, int16x4_t b) { 405 // CHECK-LABEL: test_vorn_s16 406 return vorn_s16(a, b); 407 // CHECK: orn {{v[0-9]+}}.8b, {{v[0-9]+}}.8b, {{v[0-9]+}}.8b 408} 409 410int16x8_t test_vornq_s16(int16x8_t a, int16x8_t b) { 411 // CHECK-LABEL: test_vornq_s16 412 return vornq_s16(a, b); 413 // CHECK: orn {{v[0-9]+}}.16b, {{v[0-9]+}}.16b, {{v[0-9]+}}.16b 414} 415 416int32x2_t test_vorn_s32(int32x2_t a, int32x2_t b) { 417 // CHECK-LABEL: test_vorn_s32 418 return vorn_s32(a, b); 419 // CHECK: orn {{v[0-9]+}}.8b, {{v[0-9]+}}.8b, {{v[0-9]+}}.8b 420} 421 422int32x4_t test_vornq_s32(int32x4_t a, int32x4_t b) { 423 // CHECK-LABEL: test_vornq_s32 424 return vornq_s32(a, b); 425 // CHECK: orn {{v[0-9]+}}.16b, {{v[0-9]+}}.16b, {{v[0-9]+}}.16b 426} 427 428int64x1_t test_vorn_s64(int64x1_t a, int64x1_t b) { 429 // CHECK-LABEL: test_vorn_s64 430 return vorn_s64(a, b); 431 // CHECK: orn {{v[0-9]+}}.8b, {{v[0-9]+}}.8b, {{v[0-9]+}}.8b 432} 433 434int64x2_t test_vornq_s64(int64x2_t a, int64x2_t b) { 435 // CHECK-LABEL: test_vornq_s64 436 return vornq_s64(a, b); 437 // CHECK: orn {{v[0-9]+}}.16b, {{v[0-9]+}}.16b, {{v[0-9]+}}.16b 438} 439 440uint8x8_t test_vorn_u8(uint8x8_t a, uint8x8_t b) { 441 // CHECK-LABEL: test_vorn_u8 442 return vorn_u8(a, b); 443 // CHECK: orn {{v[0-9]+}}.8b, {{v[0-9]+}}.8b, {{v[0-9]+}}.8b 444} 445 446uint8x16_t test_vornq_u8(uint8x16_t a, uint8x16_t b) { 447 // CHECK-LABEL: test_vornq_u8 448 return vornq_u8(a, b); 449 // CHECK: orn {{v[0-9]+}}.16b, {{v[0-9]+}}.16b, {{v[0-9]+}}.16b 450} 451 452uint16x4_t test_vorn_u16(uint16x4_t a, uint16x4_t b) { 453 // CHECK-LABEL: test_vorn_u16 454 return vorn_u16(a, b); 455 // CHECK: orn {{v[0-9]+}}.8b, {{v[0-9]+}}.8b, {{v[0-9]+}}.8b 456} 457 458uint16x8_t test_vornq_u16(uint16x8_t a, uint16x8_t b) { 459 // CHECK-LABEL: test_vornq_u16 460 return vornq_u16(a, b); 461 // CHECK: orn {{v[0-9]+}}.16b, {{v[0-9]+}}.16b, {{v[0-9]+}}.16b 462} 463 464uint32x2_t test_vorn_u32(uint32x2_t a, uint32x2_t b) { 465 // CHECK-LABEL: test_vorn_u32 466 return vorn_u32(a, b); 467 // CHECK: orn {{v[0-9]+}}.8b, {{v[0-9]+}}.8b, {{v[0-9]+}}.8b 468} 469 470uint32x4_t test_vornq_u32(uint32x4_t a, uint32x4_t b) { 471 // CHECK-LABEL: test_vornq_u32 472 return vornq_u32(a, b); 473 // CHECK: orn {{v[0-9]+}}.16b, {{v[0-9]+}}.16b, {{v[0-9]+}}.16b 474} 475 476uint64x1_t test_vorn_u64(uint64x1_t a, uint64x1_t b) { 477 // CHECK-LABEL: test_vorn_u64 478 return vorn_u64(a, b); 479 // CHECK: orn {{v[0-9]+}}.8b, {{v[0-9]+}}.8b, {{v[0-9]+}}.8b 480} 481 482uint64x2_t test_vornq_u64(uint64x2_t a, uint64x2_t b) { 483 // CHECK-LABEL: test_vornq_u64 484 return vornq_u64(a, b); 485 // CHECK: orn {{v[0-9]+}}.16b, {{v[0-9]+}}.16b, {{v[0-9]+}}.16b 486} 487