diff options
author | Tim Northover <tnorthover@apple.com> | 2016-08-23 18:20:09 +0000 |
---|---|---|
committer | Tim Northover <tnorthover@apple.com> | 2016-08-23 18:20:09 +0000 |
commit | 3c73e367c03dbf3e03911cffaaf465a0ce1688f6 (patch) | |
tree | fc0b9a224d475252e2b12cefd6f6e10672be87a7 /llvm/lib/Target/AArch64/AArch64MachineLegalizer.cpp | |
parent | 6e3cda4dfc23cb17e83ff63242b4f0d931d1422b (diff) | |
download | bcm5719-llvm-3c73e367c03dbf3e03911cffaaf465a0ce1688f6.tar.gz bcm5719-llvm-3c73e367c03dbf3e03911cffaaf465a0ce1688f6.zip |
GlobalISel: legalize 1-bit load/store and mark 8/16 bit variants legal on AArch64.
llvm-svn: 279548
Diffstat (limited to 'llvm/lib/Target/AArch64/AArch64MachineLegalizer.cpp')
-rw-r--r-- | llvm/lib/Target/AArch64/AArch64MachineLegalizer.cpp | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/llvm/lib/Target/AArch64/AArch64MachineLegalizer.cpp b/llvm/lib/Target/AArch64/AArch64MachineLegalizer.cpp index b91d6040bb6..d5bf1dbf386 100644 --- a/llvm/lib/Target/AArch64/AArch64MachineLegalizer.cpp +++ b/llvm/lib/Target/AArch64/AArch64MachineLegalizer.cpp @@ -51,10 +51,13 @@ AArch64MachineLegalizer::AArch64MachineLegalizer() { for (auto Ty : {s32, s64}) setAction(BinOp, Ty, Legal); - for (auto MemOp : {G_LOAD, G_STORE}) - for (auto Ty : {s32, s64}) + for (auto MemOp : {G_LOAD, G_STORE}) { + for (auto Ty : {s8, s16, s32, s64}) setAction(MemOp, Ty, Legal); + setAction(MemOp, s1, WidenScalar); + } + for (auto Ty : {s32, s64}) { setAction(TargetOpcode::G_CONSTANT, Ty, Legal); setAction(TargetOpcode::G_FCONSTANT, Ty, Legal); |