mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-26 12:43:36 +01:00
cc12b285b6
This will currently accept the old number of bytes syntax, and convert it to a scalar. This should be removed in the near future (I think I converted all of the tests already, but likely missed a few). Not sure what the exact syntax and policy should be. We can continue printing the number of bytes for non-generic instructions to avoid test churn and only allow non-scalar types for generic instructions. This will currently print the LLT in parentheses, but accept parsing the existing integers and implicitly converting to scalar. The parentheses are a bit ugly, but the parser logic seems unable to deal without either parentheses or some keyword to indicate the start of a type.
41 lines
1.6 KiB
YAML
41 lines
1.6 KiB
YAML
# RUN: llc -run-pass=aarch64-ldst-opt -mtriple=arm64-apple-iphoneos -aarch64-load-store-renaming=true -o - -verify-machineinstrs %s | FileCheck %s
|
|
--- |
|
|
define void @test_ld3(<8 x i8>* %a1) {
|
|
entry:
|
|
%s1 = alloca i64
|
|
ret void
|
|
}
|
|
|
|
...
|
|
---
|
|
# CHECK-LABEL: name: test_ld3
|
|
# CHECK: bb.0.entry:
|
|
# CHECK: renamable $x0, renamable $d0_d1_d2 = LD3Threev8b_POST killed renamable $x0, $xzr
|
|
# CHECK-NEXT: STPDi renamable $d0, renamable $d1, $fp, -6 :: (store (s64))
|
|
# CHECK-NEXT: STURDi renamable $d2, $fp, -32, implicit killed $d0_d1_d2 :: (store (s64) into %ir.s1)
|
|
# CHECK-NEXT: renamable $d0_d1_d2 = LD3Threev8b killed renamable $x0 :: (load (s192) from %ir.a1, align 32)
|
|
# CHECK-NEXT: STPDi renamable $d0, renamable $d1, $fp, -3 :: (store (s64))
|
|
# CHECK-NEXT: STURDi renamable $d2, $fp, -8, implicit killed $d0_d1_d2 :: (store (s64))
|
|
# CHECK-NEXT: RET undef $lr
|
|
#
|
|
name: test_ld3
|
|
alignment: 4
|
|
tracksRegLiveness: true
|
|
frameInfo: {}
|
|
machineFunctionInfo: {}
|
|
body: |
|
|
bb.0.entry:
|
|
liveins: $x0, $x1, $lr, $fp
|
|
|
|
renamable $x0, renamable $d0_d1_d2 = LD3Threev8b_POST killed renamable $x0, $xzr
|
|
STURDi renamable $d0, $fp, -48 :: (store (s64))
|
|
STURDi renamable $d1, $fp, -40 :: (store (s64))
|
|
STURDi renamable $d2, $fp, -32, implicit killed $d0_d1_d2 :: (store (s64) into %ir.s1)
|
|
renamable $d0_d1_d2 = LD3Threev8b killed renamable $x0 :: (load (s192) from %ir.a1, align 32)
|
|
STURDi renamable $d0, $fp, -24 :: (store (s64))
|
|
STURDi renamable $d1, $fp, -16 :: (store (s64))
|
|
STURDi renamable $d2, $fp, -8, implicit killed $d0_d1_d2 :: (store (s64))
|
|
RET undef $lr
|
|
|
|
...
|