[GlobalISel][AArch64] Legalize v8s8 loads
Add legalizer support for loads of v8s8 and update legalize-load-store.mir. Differential Revision: https://reviews.llvm.org/D60877 llvm-svn: 358714
This commit is contained in:
parent
a5bbbfef15
commit
3b5119c684
|
@ -224,6 +224,7 @@ AArch64LegalizerInfo::AArch64LegalizerInfo(const AArch64Subtarget &ST) {
|
|||
{s32, p0, 32, 8},
|
||||
{s64, p0, 64, 8},
|
||||
{p0, p0, 64, 8},
|
||||
{v8s8, p0, 64, 8},
|
||||
{v16s8, p0, 128, 8},
|
||||
{v4s16, p0, 64, 8},
|
||||
{v8s16, p0, 128, 8},
|
||||
|
|
|
@ -48,6 +48,11 @@
|
|||
ret <16 x i8> %res
|
||||
}
|
||||
|
||||
define <8 x i8> @load_8xi8(<8 x i8>* %ptr) {
|
||||
%res = load <8 x i8>, <8 x i8>* %ptr
|
||||
ret <8 x i8> %res
|
||||
}
|
||||
|
||||
...
|
||||
---
|
||||
name: test_load
|
||||
|
@ -319,3 +324,23 @@ body: |
|
|||
RET_ReallyLR implicit $q0
|
||||
|
||||
...
|
||||
---
|
||||
name: load_8xi8
|
||||
alignment: 2
|
||||
tracksRegLiveness: true
|
||||
machineFunctionInfo: {}
|
||||
body: |
|
||||
bb.1 (%ir-block.0):
|
||||
liveins: $x0
|
||||
; CHECK-LABEL: name: load_8xi8
|
||||
; CHECK: liveins: $x0
|
||||
; CHECK: [[COPY:%[0-9]+]]:_(p0) = COPY $x0
|
||||
; CHECK: [[LOAD:%[0-9]+]]:_(<8 x s8>) = G_LOAD [[COPY]](p0) :: (load 8 from %ir.ptr)
|
||||
; CHECK: $d0 = COPY [[LOAD]](<8 x s8>)
|
||||
; CHECK: RET_ReallyLR implicit $d0
|
||||
%0:_(p0) = COPY $x0
|
||||
%1:_(<8 x s8>) = G_LOAD %0(p0) :: (load 8 from %ir.ptr)
|
||||
$d0 = COPY %1(<8 x s8>)
|
||||
RET_ReallyLR implicit $d0
|
||||
|
||||
...
|
||||
|
|
Loading…
Reference in New Issue