1 # RUN: llc -run-pass=aarch64-ldst-opt -mtriple=arm64-apple-iphoneos -aarch64-load-store-renaming=true -o - -verify-machineinstrs %s | FileCheck %s
3 define void @test_ld3(ptr %a1) {
11 # CHECK-LABEL: name: test_ld3
13 # CHECK: renamable $x0, renamable $d0_d1_d2 = LD3Threev8b_POST killed renamable $x0, $xzr
14 # CHECK-NEXT: STPDi renamable $d0, renamable $d1, $fp, -6 :: (store (s64))
15 # CHECK-NEXT: STURDi renamable $d2, $fp, -32, implicit killed $d0_d1_d2 :: (store (s64) into %ir.s1)
16 # CHECK-NEXT: renamable $d0_d1_d2 = LD3Threev8b killed renamable $x0 :: (load (s192) from %ir.a1, align 32)
17 # CHECK-NEXT: STPDi renamable $d0, renamable $d1, $fp, -3 :: (store (s64))
18 # CHECK-NEXT: STURDi renamable $d2, $fp, -8, implicit killed $d0_d1_d2 :: (store (s64))
19 # CHECK-NEXT: RET undef $lr
23 tracksRegLiveness: true
25 machineFunctionInfo: {}
28 liveins: $x0, $x1, $lr, $fp
30 renamable $x0, renamable $d0_d1_d2 = LD3Threev8b_POST killed renamable $x0, $xzr
31 STURDi renamable $d0, $fp, -48 :: (store (s64))
32 STURDi renamable $d1, $fp, -40 :: (store (s64))
33 STURDi renamable $d2, $fp, -32, implicit killed $d0_d1_d2 :: (store (s64) into %ir.s1)
34 renamable $d0_d1_d2 = LD3Threev8b killed renamable $x0 :: (load (s192) from %ir.a1, align 32)
35 STURDi renamable $d0, $fp, -24 :: (store (s64))
36 STURDi renamable $d1, $fp, -16 :: (store (s64))
37 STURDi renamable $d2, $fp, -8, implicit killed $d0_d1_d2 :: (store (s64))