[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