[PATCH] D39592: [ARM|GlobalISel] : Adding legalizer tests for Thumb
Javed Absar via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Mon Nov 6 10:26:13 PST 2017
javed.absar updated this revision to Diff 121752.
https://reviews.llvm.org/D39592
Files:
lib/Target/ARM/ARMLegalizerInfo.cpp
test/CodeGen/ARM/GlobalISel/legalize-divmod.mir
Index: test/CodeGen/ARM/GlobalISel/legalize-divmod.mir
===================================================================
--- test/CodeGen/ARM/GlobalISel/legalize-divmod.mir
+++ test/CodeGen/ARM/GlobalISel/legalize-divmod.mir
@@ -2,10 +2,10 @@
# RUN: llc -mtriple arm-linux-gnueabi -mattr=-hwdiv-arm -global-isel -run-pass=legalizer %s -o - | FileCheck %s -check-prefixes=CHECK,SOFT,SOFT-AEABI
# RUN: llc -mtriple arm-linux-gnu -mattr=+hwdiv-arm -global-isel -run-pass=legalizer %s -o - | FileCheck %s -check-prefixes=CHECK,HWDIV
# RUN: llc -mtriple arm-linux-gnu -mattr=-hwdiv-arm -global-isel -run-pass=legalizer %s -o - | FileCheck %s -check-prefixes=CHECK,SOFT,SOFT-DEFAULT
-# RUN: llc -mtriple thumbv7-linux-gnueabi -mattr=+hwdiv-arm -global-isel -run-pass=legalizer %s -o - | FileCheck %s -check-prefixes=CHECK,HWDIV
-# RUN: llc -mtriple thumbv7-linux-gnueabi -mattr=-hwdiv-arm -global-isel -run-pass=legalizer %s -o - | FileCheck %s -check-prefixes=CHECK,SOFT,SOFT-AEABI
-# RUN: llc -mtriple thumbv7-linux-gnu -mattr=+hwdiv-arm -global-isel -run-pass=legalizer %s -o - | FileCheck %s -check-prefixes=CHECK,HWDIV
-# RUN: llc -mtriple thumbv7-linux-gnu -mattr=-hwdiv-arm -global-isel -run-pass=legalizer %s -o - | FileCheck %s -check-prefixes=CHECK,SOFT,SOFT-DEFAULT
+# RUN: llc -mtriple thumbv7-linux-gnueabi -mattr=+hwdiv -global-isel -run-pass=legalizer %s -o - | FileCheck %s -check-prefixes=CHECK,HWDIV
+# RUN: llc -mtriple thumbv7-linux-gnueabi -mattr=-hwdiv -global-isel -run-pass=legalizer %s -o - | FileCheck %s -check-prefixes=CHECK,SOFT,SOFT-AEABI
+# RUN: llc -mtriple thumbv7-linux-gnu -mattr=+hwdiv -global-isel -run-pass=legalizer %s -o - | FileCheck %s -check-prefixes=CHECK,HWDIV
+# RUN: llc -mtriple thumbv7-linux-gnu -mattr=-hwdiv -global-isel -run-pass=legalizer %s -o - | FileCheck %s -check-prefixes=CHECK,SOFT,SOFT-DEFAULT
--- |
define void @test_sdiv_i32() { ret void }
define void @test_udiv_i32() { ret void }
Index: lib/Target/ARM/ARMLegalizerInfo.cpp
===================================================================
--- lib/Target/ARM/ARMLegalizerInfo.cpp
+++ lib/Target/ARM/ARMLegalizerInfo.cpp
@@ -57,16 +57,16 @@
for (unsigned Op : {G_SDIV, G_UDIV}) {
for (auto Ty : {s8, s16})
setAction({Op, Ty}, WidenScalar);
- if (ST.hasDivideInARMMode())
+ if (ST.hasDivideInARMMode() || ST.hasDivideInThumbMode())
setAction({Op, s32}, Legal);
else
setAction({Op, s32}, Libcall);
}
for (unsigned Op : {G_SREM, G_UREM}) {
for (auto Ty : {s8, s16})
setAction({Op, Ty}, WidenScalar);
- if (ST.hasDivideInARMMode())
+ if (ST.hasDivideInARMMode() || ST.hasDivideInThumbMode())
setAction({Op, s32}, Lower);
else if (AEABI(ST))
setAction({Op, s32}, Custom);
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D39592.121752.patch
Type: text/x-patch
Size: 2779 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20171106/00156202/attachment.bin>
More information about the llvm-commits
mailing list