forked from OSchip/llvm-project
[AArch64][MachineLegalizer] Mark v2s32 G_LOAD as legal.
Actually every 64-bit loads are legal, but right now the API does not offer a simple way to express that. llvm-svn: 283829
This commit is contained in:
parent
8af4988f35
commit
d3126d5fb4
|
@ -76,7 +76,7 @@ AArch64MachineLegalizer::AArch64MachineLegalizer() {
|
|||
setAction({G_FREM, s64}, Libcall);
|
||||
|
||||
for (auto MemOp : {G_LOAD, G_STORE}) {
|
||||
for (auto Ty : {s8, s16, s32, s64, p0})
|
||||
for (auto Ty : {s8, s16, s32, s64, p0, v2s32})
|
||||
setAction({MemOp, Ty}, Legal);
|
||||
|
||||
setAction({MemOp, s1}, WidenScalar);
|
||||
|
|
|
@ -23,6 +23,7 @@ registers:
|
|||
- { id: 4, class: _ }
|
||||
- { id: 5, class: _ }
|
||||
- { id: 6, class: _ }
|
||||
- { id: 7, class: _ }
|
||||
body: |
|
||||
bb.0.entry:
|
||||
liveins: %x0, %x1, %x2, %x3
|
||||
|
@ -47,6 +48,9 @@ body: |
|
|||
|
||||
; CHECK: %6(p0) = G_LOAD %0(p0) :: (load 8 from %ir.addr)
|
||||
%6(p0) = G_LOAD %0(p0) :: (load 8 from %ir.addr)
|
||||
|
||||
; CHECK: %7(<2 x s32>) = G_LOAD %0(p0) :: (load 8 from %ir.addr)
|
||||
%7(<2 x s32>) = G_LOAD %0(p0) :: (load 8 from %ir.addr)
|
||||
...
|
||||
|
||||
---
|
||||
|
|
Loading…
Reference in New Issue