mirror of
https://github.com/RPCSX/llvm.git
synced 2025-01-02 09:49:01 +00:00
GlobalISel: mark pointer stores as legal on AArch64.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@281448 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
82d457bf36
commit
d40a5626fc
@ -70,7 +70,7 @@ AArch64MachineLegalizer::AArch64MachineLegalizer() {
|
||||
setAction({G_FREM, s64}, Libcall);
|
||||
|
||||
for (auto MemOp : {G_LOAD, G_STORE}) {
|
||||
for (auto Ty : {s8, s16, s32, s64})
|
||||
for (auto Ty : {s8, s16, s32, s64, p0})
|
||||
setAction({MemOp, Ty}, Legal);
|
||||
|
||||
setAction({MemOp, s1}, WidenScalar);
|
||||
|
@ -22,6 +22,7 @@ registers:
|
||||
- { id: 3, class: _ }
|
||||
- { id: 4, class: _ }
|
||||
- { id: 5, class: _ }
|
||||
- { id: 6, class: _ }
|
||||
body: |
|
||||
bb.0.entry:
|
||||
liveins: %x0, %x1, %x2, %x3
|
||||
@ -43,6 +44,9 @@ body: |
|
||||
|
||||
; CHECK: %5(s64) = G_LOAD %0(p0) :: (load 8 from %ir.addr)
|
||||
%5(s64) = G_LOAD %0 :: (load 8 from %ir.addr)
|
||||
|
||||
; CHECK: %6(p0) = G_LOAD %0(p0) :: (load 8 from %ir.addr)
|
||||
%6(p0) = G_LOAD %0(p0) :: (load 8 from %ir.addr)
|
||||
...
|
||||
|
||||
---
|
||||
@ -81,4 +85,7 @@ body: |
|
||||
; CHECK: G_STORE %5(s64), %0(p0) :: (store 8 into %ir.addr)
|
||||
%5(s64) = G_PTRTOINT %0(p0)
|
||||
G_STORE %5, %0 :: (store 8 into %ir.addr)
|
||||
|
||||
; CHECK: G_STORE %0(p0), %0(p0) :: (store 8 into %ir.addr)
|
||||
G_STORE %0(p0), %0(p0) :: (store 8 into %ir.addr)
|
||||
...
|
||||
|
Loading…
Reference in New Issue
Block a user