Mercurial > hg > CbC > CbC_llvm
comparison test/CodeGen/AArch64/arm64-st1.ll @ 134:3a76565eade5 LLVM5.0.1
update 5.0.1
author | mir3636 |
---|---|
date | Sat, 17 Feb 2018 09:57:20 +0900 |
parents | 1172e4bd9c6f |
children | c2174574ed3a |
comparison
equal
deleted
inserted
replaced
133:c60214abe0e8 | 134:3a76565eade5 |
---|---|
1 ; RUN: llc < %s -mtriple=arm64-eabi -aarch64-neon-syntax=apple -verify-machineinstrs | FileCheck %s | 1 ; RUN: llc < %s -mtriple=arm64-eabi -aarch64-neon-syntax=apple -verify-machineinstrs | FileCheck %s |
2 ; RUN: llc < %s -mtriple=arm64-eabi -aarch64-neon-syntax=apple -verify-machineinstrs -mcpu=exynos-m1 | FileCheck --check-prefix=EXYNOS %s | |
3 ; The instruction latencies of Exynos-M1 trigger the transform we see under the Exynos check. | |
2 | 4 |
3 define void @st1lane_16b(<16 x i8> %A, i8* %D) { | 5 define void @st1lane_16b(<16 x i8> %A, i8* %D) { |
4 ; CHECK-LABEL: st1lane_16b | 6 ; CHECK-LABEL: st1lane_16b |
5 ; CHECK: st1.b | 7 ; CHECK: st1.b |
6 %tmp = extractelement <16 x i8> %A, i32 1 | 8 %tmp = extractelement <16 x i8> %A, i32 1 |
373 | 375 |
374 | 376 |
375 define void @st2_8b(<8 x i8> %A, <8 x i8> %B, i8* %P) nounwind { | 377 define void @st2_8b(<8 x i8> %A, <8 x i8> %B, i8* %P) nounwind { |
376 ; CHECK-LABEL: st2_8b | 378 ; CHECK-LABEL: st2_8b |
377 ; CHECK: st2.8b | 379 ; CHECK: st2.8b |
380 ; EXYNOS-LABEL: st2_8b | |
381 ; EXYNOS: zip1.8b | |
382 ; EXYNOS: zip2.8b | |
383 ; EXYNOS: stp | |
378 call void @llvm.aarch64.neon.st2.v8i8.p0i8(<8 x i8> %A, <8 x i8> %B, i8* %P) | 384 call void @llvm.aarch64.neon.st2.v8i8.p0i8(<8 x i8> %A, <8 x i8> %B, i8* %P) |
379 ret void | 385 ret void |
380 } | 386 } |
381 | 387 |
382 define void @st3_8b(<8 x i8> %A, <8 x i8> %B, <8 x i8> %C, i8* %P) nounwind { | 388 define void @st3_8b(<8 x i8> %A, <8 x i8> %B, <8 x i8> %C, i8* %P) nounwind { |
387 } | 393 } |
388 | 394 |
389 define void @st4_8b(<8 x i8> %A, <8 x i8> %B, <8 x i8> %C, <8 x i8> %D, i8* %P) nounwind { | 395 define void @st4_8b(<8 x i8> %A, <8 x i8> %B, <8 x i8> %C, <8 x i8> %D, i8* %P) nounwind { |
390 ; CHECK-LABEL: st4_8b | 396 ; CHECK-LABEL: st4_8b |
391 ; CHECK: st4.8b | 397 ; CHECK: st4.8b |
398 ; EXYNOS-LABEL: st4_8b | |
399 ; EXYNOS: zip1.8b | |
400 ; EXYNOS: zip2.8b | |
401 ; EXYNOS: zip1.8b | |
402 ; EXYNOS: zip2.8b | |
403 ; EXYNOS: zip1.8b | |
404 ; EXYNOS: zip2.8b | |
405 ; EXYNOS: stp | |
406 ; EXYNOS: zip1.8b | |
407 ; EXYNOS: zip2.8b | |
408 ; EXYNOS: stp | |
392 call void @llvm.aarch64.neon.st4.v8i8.p0i8(<8 x i8> %A, <8 x i8> %B, <8 x i8> %C, <8 x i8> %D, i8* %P) | 409 call void @llvm.aarch64.neon.st4.v8i8.p0i8(<8 x i8> %A, <8 x i8> %B, <8 x i8> %C, <8 x i8> %D, i8* %P) |
393 ret void | 410 ret void |
394 } | 411 } |
395 | 412 |
396 declare void @llvm.aarch64.neon.st2.v8i8.p0i8(<8 x i8>, <8 x i8>, i8*) nounwind readonly | 413 declare void @llvm.aarch64.neon.st2.v8i8.p0i8(<8 x i8>, <8 x i8>, i8*) nounwind readonly |
398 declare void @llvm.aarch64.neon.st4.v8i8.p0i8(<8 x i8>, <8 x i8>, <8 x i8>, <8 x i8>, i8*) nounwind readonly | 415 declare void @llvm.aarch64.neon.st4.v8i8.p0i8(<8 x i8>, <8 x i8>, <8 x i8>, <8 x i8>, i8*) nounwind readonly |
399 | 416 |
400 define void @st2_16b(<16 x i8> %A, <16 x i8> %B, i8* %P) nounwind { | 417 define void @st2_16b(<16 x i8> %A, <16 x i8> %B, i8* %P) nounwind { |
401 ; CHECK-LABEL: st2_16b | 418 ; CHECK-LABEL: st2_16b |
402 ; CHECK: st2.16b | 419 ; CHECK: st2.16b |
420 ; EXYNOS-LABEL: st2_16b | |
421 ; EXYNOS: zip1.16b | |
422 ; EXYNOS: zip2.16b | |
423 ; EXYNOS: stp | |
403 call void @llvm.aarch64.neon.st2.v16i8.p0i8(<16 x i8> %A, <16 x i8> %B, i8* %P) | 424 call void @llvm.aarch64.neon.st2.v16i8.p0i8(<16 x i8> %A, <16 x i8> %B, i8* %P) |
404 ret void | 425 ret void |
405 } | 426 } |
406 | 427 |
407 define void @st3_16b(<16 x i8> %A, <16 x i8> %B, <16 x i8> %C, i8* %P) nounwind { | 428 define void @st3_16b(<16 x i8> %A, <16 x i8> %B, <16 x i8> %C, i8* %P) nounwind { |
412 } | 433 } |
413 | 434 |
414 define void @st4_16b(<16 x i8> %A, <16 x i8> %B, <16 x i8> %C, <16 x i8> %D, i8* %P) nounwind { | 435 define void @st4_16b(<16 x i8> %A, <16 x i8> %B, <16 x i8> %C, <16 x i8> %D, i8* %P) nounwind { |
415 ; CHECK-LABEL: st4_16b | 436 ; CHECK-LABEL: st4_16b |
416 ; CHECK: st4.16b | 437 ; CHECK: st4.16b |
438 ; EXYNOS-LABEL: st4_16b | |
439 ; EXYNOS: zip1.16b | |
440 ; EXYNOS: zip2.16b | |
441 ; EXYNOS: zip1.16b | |
442 ; EXYNOS: zip2.16b | |
443 ; EXYNOS: zip1.16b | |
444 ; EXYNOS: zip2.16b | |
445 ; EXYNOS: stp | |
446 ; EXYNOS: zip1.16b | |
447 ; EXYNOS: zip2.16b | |
448 ; EXYNOS: stp | |
417 call void @llvm.aarch64.neon.st4.v16i8.p0i8(<16 x i8> %A, <16 x i8> %B, <16 x i8> %C, <16 x i8> %D, i8* %P) | 449 call void @llvm.aarch64.neon.st4.v16i8.p0i8(<16 x i8> %A, <16 x i8> %B, <16 x i8> %C, <16 x i8> %D, i8* %P) |
418 ret void | 450 ret void |
419 } | 451 } |
420 | 452 |
421 declare void @llvm.aarch64.neon.st2.v16i8.p0i8(<16 x i8>, <16 x i8>, i8*) nounwind readonly | 453 declare void @llvm.aarch64.neon.st2.v16i8.p0i8(<16 x i8>, <16 x i8>, i8*) nounwind readonly |
423 declare void @llvm.aarch64.neon.st4.v16i8.p0i8(<16 x i8>, <16 x i8>, <16 x i8>, <16 x i8>, i8*) nounwind readonly | 455 declare void @llvm.aarch64.neon.st4.v16i8.p0i8(<16 x i8>, <16 x i8>, <16 x i8>, <16 x i8>, i8*) nounwind readonly |
424 | 456 |
425 define void @st2_4h(<4 x i16> %A, <4 x i16> %B, i16* %P) nounwind { | 457 define void @st2_4h(<4 x i16> %A, <4 x i16> %B, i16* %P) nounwind { |
426 ; CHECK-LABEL: st2_4h | 458 ; CHECK-LABEL: st2_4h |
427 ; CHECK: st2.4h | 459 ; CHECK: st2.4h |
460 ; EXYNOS-LABEL: st2_4h | |
461 ; EXYNOS: zip1.4h | |
462 ; EXYNOS: zip2.4h | |
463 ; EXYNOS: stp | |
428 call void @llvm.aarch64.neon.st2.v4i16.p0i16(<4 x i16> %A, <4 x i16> %B, i16* %P) | 464 call void @llvm.aarch64.neon.st2.v4i16.p0i16(<4 x i16> %A, <4 x i16> %B, i16* %P) |
429 ret void | 465 ret void |
430 } | 466 } |
431 | 467 |
432 define void @st3_4h(<4 x i16> %A, <4 x i16> %B, <4 x i16> %C, i16* %P) nounwind { | 468 define void @st3_4h(<4 x i16> %A, <4 x i16> %B, <4 x i16> %C, i16* %P) nounwind { |
437 } | 473 } |
438 | 474 |
439 define void @st4_4h(<4 x i16> %A, <4 x i16> %B, <4 x i16> %C, <4 x i16> %D, i16* %P) nounwind { | 475 define void @st4_4h(<4 x i16> %A, <4 x i16> %B, <4 x i16> %C, <4 x i16> %D, i16* %P) nounwind { |
440 ; CHECK-LABEL: st4_4h | 476 ; CHECK-LABEL: st4_4h |
441 ; CHECK: st4.4h | 477 ; CHECK: st4.4h |
478 ; EXYNOS-LABEL: st4_4h | |
479 ; EXYNOS: zip1.4h | |
480 ; EXYNOS: zip2.4h | |
481 ; EXYNOS: zip1.4h | |
482 ; EXYNOS: zip2.4h | |
483 ; EXYNOS: zip1.4h | |
484 ; EXYNOS: zip2.4h | |
485 ; EXYNOS: stp | |
486 ; EXYNOS: zip1.4h | |
487 ; EXYNOS: zip2.4h | |
488 ; EXYNOS: stp | |
442 call void @llvm.aarch64.neon.st4.v4i16.p0i16(<4 x i16> %A, <4 x i16> %B, <4 x i16> %C, <4 x i16> %D, i16* %P) | 489 call void @llvm.aarch64.neon.st4.v4i16.p0i16(<4 x i16> %A, <4 x i16> %B, <4 x i16> %C, <4 x i16> %D, i16* %P) |
443 ret void | 490 ret void |
444 } | 491 } |
445 | 492 |
446 declare void @llvm.aarch64.neon.st2.v4i16.p0i16(<4 x i16>, <4 x i16>, i16*) nounwind readonly | 493 declare void @llvm.aarch64.neon.st2.v4i16.p0i16(<4 x i16>, <4 x i16>, i16*) nounwind readonly |
448 declare void @llvm.aarch64.neon.st4.v4i16.p0i16(<4 x i16>, <4 x i16>, <4 x i16>, <4 x i16>, i16*) nounwind readonly | 495 declare void @llvm.aarch64.neon.st4.v4i16.p0i16(<4 x i16>, <4 x i16>, <4 x i16>, <4 x i16>, i16*) nounwind readonly |
449 | 496 |
450 define void @st2_8h(<8 x i16> %A, <8 x i16> %B, i16* %P) nounwind { | 497 define void @st2_8h(<8 x i16> %A, <8 x i16> %B, i16* %P) nounwind { |
451 ; CHECK-LABEL: st2_8h | 498 ; CHECK-LABEL: st2_8h |
452 ; CHECK: st2.8h | 499 ; CHECK: st2.8h |
500 ; EXYNOS-LABEL: st2_8h | |
501 ; EXYNOS: zip1.8h | |
502 ; EXYNOS: zip2.8h | |
503 ; EXYNOS: stp | |
453 call void @llvm.aarch64.neon.st2.v8i16.p0i16(<8 x i16> %A, <8 x i16> %B, i16* %P) | 504 call void @llvm.aarch64.neon.st2.v8i16.p0i16(<8 x i16> %A, <8 x i16> %B, i16* %P) |
454 ret void | 505 ret void |
455 } | 506 } |
456 | 507 |
457 define void @st3_8h(<8 x i16> %A, <8 x i16> %B, <8 x i16> %C, i16* %P) nounwind { | 508 define void @st3_8h(<8 x i16> %A, <8 x i16> %B, <8 x i16> %C, i16* %P) nounwind { |
462 } | 513 } |
463 | 514 |
464 define void @st4_8h(<8 x i16> %A, <8 x i16> %B, <8 x i16> %C, <8 x i16> %D, i16* %P) nounwind { | 515 define void @st4_8h(<8 x i16> %A, <8 x i16> %B, <8 x i16> %C, <8 x i16> %D, i16* %P) nounwind { |
465 ; CHECK-LABEL: st4_8h | 516 ; CHECK-LABEL: st4_8h |
466 ; CHECK: st4.8h | 517 ; CHECK: st4.8h |
518 ; EXYNOS-LABEL: st4_8h | |
519 ; EXYNOS: zip1.8h | |
520 ; EXYNOS: zip2.8h | |
521 ; EXYNOS: zip1.8h | |
522 ; EXYNOS: zip2.8h | |
523 ; EXYNOS: zip1.8h | |
524 ; EXYNOS: zip2.8h | |
525 ; EXYNOS: stp | |
526 ; EXYNOS: zip1.8h | |
527 ; EXYNOS: zip2.8h | |
528 ; EXYNOS: stp | |
467 call void @llvm.aarch64.neon.st4.v8i16.p0i16(<8 x i16> %A, <8 x i16> %B, <8 x i16> %C, <8 x i16> %D, i16* %P) | 529 call void @llvm.aarch64.neon.st4.v8i16.p0i16(<8 x i16> %A, <8 x i16> %B, <8 x i16> %C, <8 x i16> %D, i16* %P) |
468 ret void | 530 ret void |
469 } | 531 } |
470 | 532 |
471 declare void @llvm.aarch64.neon.st2.v8i16.p0i16(<8 x i16>, <8 x i16>, i16*) nounwind readonly | 533 declare void @llvm.aarch64.neon.st2.v8i16.p0i16(<8 x i16>, <8 x i16>, i16*) nounwind readonly |
473 declare void @llvm.aarch64.neon.st4.v8i16.p0i16(<8 x i16>, <8 x i16>, <8 x i16>, <8 x i16>, i16*) nounwind readonly | 535 declare void @llvm.aarch64.neon.st4.v8i16.p0i16(<8 x i16>, <8 x i16>, <8 x i16>, <8 x i16>, i16*) nounwind readonly |
474 | 536 |
475 define void @st2_2s(<2 x i32> %A, <2 x i32> %B, i32* %P) nounwind { | 537 define void @st2_2s(<2 x i32> %A, <2 x i32> %B, i32* %P) nounwind { |
476 ; CHECK-LABEL: st2_2s | 538 ; CHECK-LABEL: st2_2s |
477 ; CHECK: st2.2s | 539 ; CHECK: st2.2s |
540 ; EXYNOS-LABEL: st2_2s | |
541 ; EXYNOS: zip1.2s | |
542 ; EXYNOS: zip2.2s | |
543 ; EXYNOS: stp | |
478 call void @llvm.aarch64.neon.st2.v2i32.p0i32(<2 x i32> %A, <2 x i32> %B, i32* %P) | 544 call void @llvm.aarch64.neon.st2.v2i32.p0i32(<2 x i32> %A, <2 x i32> %B, i32* %P) |
479 ret void | 545 ret void |
480 } | 546 } |
481 | 547 |
482 define void @st3_2s(<2 x i32> %A, <2 x i32> %B, <2 x i32> %C, i32* %P) nounwind { | 548 define void @st3_2s(<2 x i32> %A, <2 x i32> %B, <2 x i32> %C, i32* %P) nounwind { |
487 } | 553 } |
488 | 554 |
489 define void @st4_2s(<2 x i32> %A, <2 x i32> %B, <2 x i32> %C, <2 x i32> %D, i32* %P) nounwind { | 555 define void @st4_2s(<2 x i32> %A, <2 x i32> %B, <2 x i32> %C, <2 x i32> %D, i32* %P) nounwind { |
490 ; CHECK-LABEL: st4_2s | 556 ; CHECK-LABEL: st4_2s |
491 ; CHECK: st4.2s | 557 ; CHECK: st4.2s |
558 ; EXYNOS-LABEL: st4_2s | |
559 ; EXYNOS: zip1.2s | |
560 ; EXYNOS: zip2.2s | |
561 ; EXYNOS: zip1.2s | |
562 ; EXYNOS: zip2.2s | |
563 ; EXYNOS: zip1.2s | |
564 ; EXYNOS: zip2.2s | |
565 ; EXYNOS: stp | |
566 ; EXYNOS: zip1.2s | |
567 ; EXYNOS: zip2.2s | |
568 ; EXYNOS: stp | |
492 call void @llvm.aarch64.neon.st4.v2i32.p0i32(<2 x i32> %A, <2 x i32> %B, <2 x i32> %C, <2 x i32> %D, i32* %P) | 569 call void @llvm.aarch64.neon.st4.v2i32.p0i32(<2 x i32> %A, <2 x i32> %B, <2 x i32> %C, <2 x i32> %D, i32* %P) |
493 ret void | 570 ret void |
494 } | 571 } |
495 | 572 |
496 declare void @llvm.aarch64.neon.st2.v2i32.p0i32(<2 x i32>, <2 x i32>, i32*) nounwind readonly | 573 declare void @llvm.aarch64.neon.st2.v2i32.p0i32(<2 x i32>, <2 x i32>, i32*) nounwind readonly |
498 declare void @llvm.aarch64.neon.st4.v2i32.p0i32(<2 x i32>, <2 x i32>, <2 x i32>, <2 x i32>, i32*) nounwind readonly | 575 declare void @llvm.aarch64.neon.st4.v2i32.p0i32(<2 x i32>, <2 x i32>, <2 x i32>, <2 x i32>, i32*) nounwind readonly |
499 | 576 |
500 define void @st2_4s(<4 x i32> %A, <4 x i32> %B, i32* %P) nounwind { | 577 define void @st2_4s(<4 x i32> %A, <4 x i32> %B, i32* %P) nounwind { |
501 ; CHECK-LABEL: st2_4s | 578 ; CHECK-LABEL: st2_4s |
502 ; CHECK: st2.4s | 579 ; CHECK: st2.4s |
580 ; EXYNOS-LABEL: st2_4s | |
581 ; EXYNOS: zip1.4s | |
582 ; EXYNOS: zip2.4s | |
583 ; EXYNOS: stp | |
503 call void @llvm.aarch64.neon.st2.v4i32.p0i32(<4 x i32> %A, <4 x i32> %B, i32* %P) | 584 call void @llvm.aarch64.neon.st2.v4i32.p0i32(<4 x i32> %A, <4 x i32> %B, i32* %P) |
504 ret void | 585 ret void |
505 } | 586 } |
506 | 587 |
507 define void @st3_4s(<4 x i32> %A, <4 x i32> %B, <4 x i32> %C, i32* %P) nounwind { | 588 define void @st3_4s(<4 x i32> %A, <4 x i32> %B, <4 x i32> %C, i32* %P) nounwind { |
512 } | 593 } |
513 | 594 |
514 define void @st4_4s(<4 x i32> %A, <4 x i32> %B, <4 x i32> %C, <4 x i32> %D, i32* %P) nounwind { | 595 define void @st4_4s(<4 x i32> %A, <4 x i32> %B, <4 x i32> %C, <4 x i32> %D, i32* %P) nounwind { |
515 ; CHECK-LABEL: st4_4s | 596 ; CHECK-LABEL: st4_4s |
516 ; CHECK: st4.4s | 597 ; CHECK: st4.4s |
598 ; EXYNOS-LABEL: st4_4s | |
599 ; EXYNOS: zip1.4s | |
600 ; EXYNOS: zip2.4s | |
601 ; EXYNOS: zip1.4s | |
602 ; EXYNOS: zip2.4s | |
603 ; EXYNOS: zip1.4s | |
604 ; EXYNOS: zip2.4s | |
605 ; EXYNOS: stp | |
606 ; EXYNOS: zip1.4s | |
607 ; EXYNOS: zip2.4s | |
608 ; EXYNOS: stp | |
517 call void @llvm.aarch64.neon.st4.v4i32.p0i32(<4 x i32> %A, <4 x i32> %B, <4 x i32> %C, <4 x i32> %D, i32* %P) | 609 call void @llvm.aarch64.neon.st4.v4i32.p0i32(<4 x i32> %A, <4 x i32> %B, <4 x i32> %C, <4 x i32> %D, i32* %P) |
518 ret void | 610 ret void |
519 } | 611 } |
520 | 612 |
521 declare void @llvm.aarch64.neon.st2.v4i32.p0i32(<4 x i32>, <4 x i32>, i32*) nounwind readonly | 613 declare void @llvm.aarch64.neon.st2.v4i32.p0i32(<4 x i32>, <4 x i32>, i32*) nounwind readonly |
549 declare void @llvm.aarch64.neon.st4.v1i64.p0i64(<1 x i64>, <1 x i64>, <1 x i64>, <1 x i64>, i64*) nounwind readonly | 641 declare void @llvm.aarch64.neon.st4.v1i64.p0i64(<1 x i64>, <1 x i64>, <1 x i64>, <1 x i64>, i64*) nounwind readonly |
550 | 642 |
551 define void @st2_2d(<2 x i64> %A, <2 x i64> %B, i64* %P) nounwind { | 643 define void @st2_2d(<2 x i64> %A, <2 x i64> %B, i64* %P) nounwind { |
552 ; CHECK-LABEL: st2_2d | 644 ; CHECK-LABEL: st2_2d |
553 ; CHECK: st2.2d | 645 ; CHECK: st2.2d |
646 ; EXYNOS-LABEL: st2_2d | |
647 ; EXYNOS: zip1.2d | |
648 ; EXYNOS: zip2.2d | |
649 ; EXYNOS: stp | |
554 call void @llvm.aarch64.neon.st2.v2i64.p0i64(<2 x i64> %A, <2 x i64> %B, i64* %P) | 650 call void @llvm.aarch64.neon.st2.v2i64.p0i64(<2 x i64> %A, <2 x i64> %B, i64* %P) |
555 ret void | 651 ret void |
556 } | 652 } |
557 | 653 |
558 define void @st3_2d(<2 x i64> %A, <2 x i64> %B, <2 x i64> %C, i64* %P) nounwind { | 654 define void @st3_2d(<2 x i64> %A, <2 x i64> %B, <2 x i64> %C, i64* %P) nounwind { |
563 } | 659 } |
564 | 660 |
565 define void @st4_2d(<2 x i64> %A, <2 x i64> %B, <2 x i64> %C, <2 x i64> %D, i64* %P) nounwind { | 661 define void @st4_2d(<2 x i64> %A, <2 x i64> %B, <2 x i64> %C, <2 x i64> %D, i64* %P) nounwind { |
566 ; CHECK-LABEL: st4_2d | 662 ; CHECK-LABEL: st4_2d |
567 ; CHECK: st4.2d | 663 ; CHECK: st4.2d |
664 ; EXYNOS-LABEL: st4_2d | |
665 ; EXYNOS: zip1.2d | |
666 ; EXYNOS: zip2.2d | |
667 ; EXYNOS: zip1.2d | |
668 ; EXYNOS: zip2.2d | |
669 ; EXYNOS: zip1.2d | |
670 ; EXYNOS: zip2.2d | |
671 ; EXYNOS: stp | |
672 ; EXYNOS: zip1.2d | |
673 ; EXYNOS: zip2.2d | |
674 ; EXYNOS: stp | |
568 call void @llvm.aarch64.neon.st4.v2i64.p0i64(<2 x i64> %A, <2 x i64> %B, <2 x i64> %C, <2 x i64> %D, i64* %P) | 675 call void @llvm.aarch64.neon.st4.v2i64.p0i64(<2 x i64> %A, <2 x i64> %B, <2 x i64> %C, <2 x i64> %D, i64* %P) |
569 ret void | 676 ret void |
570 } | 677 } |
571 | 678 |
572 declare void @llvm.aarch64.neon.st2.v2i64.p0i64(<2 x i64>, <2 x i64>, i64*) nounwind readonly | 679 declare void @llvm.aarch64.neon.st2.v2i64.p0i64(<2 x i64>, <2 x i64>, i64*) nounwind readonly |