[llvm] 48c9e82 - [ARM] Removed hasSideEffects from signed/unsigned saturates

Meera Nakrani via llvm-commits llvm-commits at lists.llvm.org
Thu Oct 1 07:55:55 PDT 2020


Author: Meera Nakrani
Date: 2020-10-01T14:55:01Z
New Revision: 48c9e8244b6b8aeb6a4fd10dcf4c6995f1fec9a0

URL: https://github.com/llvm/llvm-project/commit/48c9e8244b6b8aeb6a4fd10dcf4c6995f1fec9a0
DIFF: https://github.com/llvm/llvm-project/commit/48c9e8244b6b8aeb6a4fd10dcf4c6995f1fec9a0.diff

LOG: [ARM] Removed hasSideEffects from signed/unsigned saturates

Removed hasSideEffects from SSAT and USAT so that they are no longer
marked as unpredictable.

Differential Revision: https://reviews.llvm.org/D88545

Added: 
    

Modified: 
    llvm/lib/Target/ARM/ARMInstrThumb2.td
    llvm/test/tools/llvm-mca/ARM/m4-int.s

Removed: 
    


################################################################################
diff  --git a/llvm/lib/Target/ARM/ARMInstrThumb2.td b/llvm/lib/Target/ARM/ARMInstrThumb2.td
index 3aea1925a380..74627b0c1cdc 100644
--- a/llvm/lib/Target/ARM/ARMInstrThumb2.td
+++ b/llvm/lib/Target/ARM/ARMInstrThumb2.td
@@ -2575,7 +2575,6 @@ def t2USADA8  : T2FourReg_mac<0, 0b111, 0b0000, (outs rGPR:$Rd),
           Requires<[IsThumb2, HasDSP]>;
 
 // Signed/Unsigned saturate.
-let hasSideEffects = 1 in
 class T2SatI<dag iops, string opc, string asm>
   : T2I<(outs rGPR:$Rd), iops, NoItinerary, opc, asm, []> {
   bits<4> Rd;

diff  --git a/llvm/test/tools/llvm-mca/ARM/m4-int.s b/llvm/test/tools/llvm-mca/ARM/m4-int.s
index b46f731f0793..c2468efea205 100644
--- a/llvm/test/tools/llvm-mca/ARM/m4-int.s
+++ b/llvm/test/tools/llvm-mca/ARM/m4-int.s
@@ -746,9 +746,9 @@ yield
 # CHECK-NEXT:  1      1     1.00                        smulwt	r0, r1, r2
 # CHECK-NEXT:  1      2     1.00                        smusd	r0, r1, r2
 # CHECK-NEXT:  1      2     1.00                        smusdx	r0, r1, r2
-# CHECK-NEXT:  1      1     1.00                  U     ssat	r0, #1, r2
-# CHECK-NEXT:  1      1     1.00                  U     ssat	r0, #1, r2, lsl #1
-# CHECK-NEXT:  1      1     1.00                  U     ssat16	r0, #1, r1
+# CHECK-NEXT:  1      1     1.00                        ssat	r0, #1, r2
+# CHECK-NEXT:  1      1     1.00                        ssat	r0, #1, r2, lsl #1
+# CHECK-NEXT:  1      1     1.00                        ssat16	r0, #1, r1
 # CHECK-NEXT:  1      1     1.00    *      *      U     ssax	r0, r1, r2
 # CHECK-NEXT:  1      1     1.00    *      *      U     ssbb
 # CHECK-NEXT:  1      1     1.00    *      *      U     ssub16	r0, r1, r2
@@ -858,9 +858,9 @@ yield
 # CHECK-NEXT:  1      1     1.00                        uqsub8	r0, r1, r2
 # CHECK-NEXT:  1      1     1.00                        usad8	r0, r1, r2
 # CHECK-NEXT:  1      1     1.00                        usada8	r0, r1, r2, r3
-# CHECK-NEXT:  1      1     1.00                  U     usat	r0, #1, r1
-# CHECK-NEXT:  1      1     1.00                  U     usat	r0, #1, r1, lsl #1
-# CHECK-NEXT:  1      1     1.00                  U     usat16	r0, #1, r1
+# CHECK-NEXT:  1      1     1.00                        usat	r0, #1, r1
+# CHECK-NEXT:  1      1     1.00                        usat	r0, #1, r1, lsl #1
+# CHECK-NEXT:  1      1     1.00                        usat16	r0, #1, r1
 # CHECK-NEXT:  1      1     1.00    *      *      U     usax	r0, r1, r2
 # CHECK-NEXT:  1      1     1.00    *      *      U     usub16	r0, r1, r2
 # CHECK-NEXT:  1      1     1.00    *      *      U     usub8	r0, r1, r2


        


More information about the llvm-commits mailing list