aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Target/AArch64/AArch64MachineLegalizer.cpp
diff options
context:
space:
mode:
authorTim Northover <tnorthover@apple.com>2016-08-29 19:07:16 +0000
committerTim Northover <tnorthover@apple.com>2016-08-29 19:07:16 +0000
commitedb3c8ccb8785c90cee8b71c4ed8eb13b72f9ae4 (patch)
treed7fcadd47e44fb508c8b6b993e1874ef8237988e /llvm/lib/Target/AArch64/AArch64MachineLegalizer.cpp
parentfe5f89ba144f03fa10e93307988d787309d3a744 (diff)
downloadllvm-edb3c8ccb8785c90cee8b71c4ed8eb13b72f9ae4.zip
llvm-edb3c8ccb8785c90cee8b71c4ed8eb13b72f9ae4.tar.gz
llvm-edb3c8ccb8785c90cee8b71c4ed8eb13b72f9ae4.tar.bz2
GlobalISel: legalize frem to a libcall on AArch64.
llvm-svn: 279988
Diffstat (limited to 'llvm/lib/Target/AArch64/AArch64MachineLegalizer.cpp')
-rw-r--r--llvm/lib/Target/AArch64/AArch64MachineLegalizer.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/llvm/lib/Target/AArch64/AArch64MachineLegalizer.cpp b/llvm/lib/Target/AArch64/AArch64MachineLegalizer.cpp
index 0ea8673..8a0b5b0 100644
--- a/llvm/lib/Target/AArch64/AArch64MachineLegalizer.cpp
+++ b/llvm/lib/Target/AArch64/AArch64MachineLegalizer.cpp
@@ -66,6 +66,9 @@ AArch64MachineLegalizer::AArch64MachineLegalizer() {
for (auto Ty : {s32, s64})
setAction({BinOp, Ty}, Legal);
+ setAction({G_FREM, s32}, Libcall);
+ setAction({G_FREM, s64}, Libcall);
+
for (auto MemOp : {G_LOAD, G_STORE}) {
for (auto Ty : {s8, s16, s32, s64})
setAction({MemOp, Ty}, Legal);