[llvm] 0a9752d - [ARM] Regenerate hoist-and-by-const-from-shl-in-eqcmp-zero.ll

Simon Pilgrim via llvm-commits llvm-commits at lists.llvm.org
Fri Jul 15 03:28:50 PDT 2022


Author: Simon Pilgrim
Date: 2022-07-15T11:28:41+01:00
New Revision: 0a9752d937e1b35729b5d21808389dab615f4dd3

URL: https://github.com/llvm/llvm-project/commit/0a9752d937e1b35729b5d21808389dab615f4dd3
DIFF: https://github.com/llvm/llvm-project/commit/0a9752d937e1b35729b5d21808389dab615f4dd3.diff

LOG: [ARM] Regenerate hoist-and-by-const-from-shl-in-eqcmp-zero.ll

cleanup some common prefixes

Added: 
    

Modified: 
    llvm/test/CodeGen/ARM/hoist-and-by-const-from-shl-in-eqcmp-zero.ll

Removed: 
    


################################################################################
diff  --git a/llvm/test/CodeGen/ARM/hoist-and-by-const-from-shl-in-eqcmp-zero.ll b/llvm/test/CodeGen/ARM/hoist-and-by-const-from-shl-in-eqcmp-zero.ll
index a644465b405c..a8421ae9a6a8 100644
--- a/llvm/test/CodeGen/ARM/hoist-and-by-const-from-shl-in-eqcmp-zero.ll
+++ b/llvm/test/CodeGen/ARM/hoist-and-by-const-from-shl-in-eqcmp-zero.ll
@@ -2,9 +2,9 @@
 ; RUN: llc -mtriple=armv6 < %s | FileCheck %s --check-prefixes=ARM,ARM6
 ; RUN: llc -mtriple=armv7 < %s | FileCheck %s --check-prefixes=ARM,ARM78
 ; RUN: llc -mtriple=armv8a < %s | FileCheck %s --check-prefixes=ARM,ARM78
-; RUN: llc -mtriple=thumbv6 < %s | FileCheck %s --check-prefixes=THUMB6
-; RUN: llc -mtriple=thumbv7 < %s | FileCheck %s --check-prefixes=THUMB78,THUMB7
-; RUN: llc -mtriple=thumbv8-eabi < %s | FileCheck %s --check-prefixes=THUMB78,THUMB8
+; RUN: llc -mtriple=thumbv6 < %s | FileCheck %s --check-prefixes=THUMB,THUMB6
+; RUN: llc -mtriple=thumbv7 < %s | FileCheck %s --check-prefixes=THUMB,THUMB78
+; RUN: llc -mtriple=thumbv8-eabi < %s | FileCheck %s --check-prefixes=THUMB,THUMB78
 
 ; We are looking for the following pattern here:
 ;   (X & (C << Y)) ==/!= 0
@@ -38,23 +38,14 @@ define i1 @scalar_i8_signbit_eq(i8 %x, i8 %y) nounwind {
 ; THUMB6-NEXT:    adcs r0, r1
 ; THUMB6-NEXT:    bx lr
 ;
-; THUMB7-LABEL: scalar_i8_signbit_eq:
-; THUMB7:       @ %bb.0:
-; THUMB7-NEXT:    uxtb r1, r1
-; THUMB7-NEXT:    uxtb r0, r0
-; THUMB7-NEXT:    lsrs r0, r1
-; THUMB7-NEXT:    movs r1, #1
-; THUMB7-NEXT:    eor.w r0, r1, r0, lsr #7
-; THUMB7-NEXT:    bx lr
-;
-; THUMB8-LABEL: scalar_i8_signbit_eq:
-; THUMB8:       @ %bb.0:
-; THUMB8-NEXT:    uxtb r1, r1
-; THUMB8-NEXT:    uxtb r0, r0
-; THUMB8-NEXT:    lsrs r0, r1
-; THUMB8-NEXT:    movs r1, #1
-; THUMB8-NEXT:    eor.w r0, r1, r0, lsr #7
-; THUMB8-NEXT:    bx lr
+; THUMB78-LABEL: scalar_i8_signbit_eq:
+; THUMB78:       @ %bb.0:
+; THUMB78-NEXT:    uxtb r1, r1
+; THUMB78-NEXT:    uxtb r0, r0
+; THUMB78-NEXT:    lsrs r0, r1
+; THUMB78-NEXT:    movs r1, #1
+; THUMB78-NEXT:    eor.w r0, r1, r0, lsr #7
+; THUMB78-NEXT:    bx lr
   %t0 = shl i8 128, %y
   %t1 = and i8 %t0, %x
   %res = icmp eq i8 %t1, 0
@@ -81,23 +72,14 @@ define i1 @scalar_i8_lowestbit_eq(i8 %x, i8 %y) nounwind {
 ; THUMB6-NEXT:    adcs r0, r1
 ; THUMB6-NEXT:    bx lr
 ;
-; THUMB7-LABEL: scalar_i8_lowestbit_eq:
-; THUMB7:       @ %bb.0:
-; THUMB7-NEXT:    uxtb r1, r1
-; THUMB7-NEXT:    uxtb r0, r0
-; THUMB7-NEXT:    lsrs r0, r1
-; THUMB7-NEXT:    movs r1, #1
-; THUMB7-NEXT:    bic.w r0, r1, r0
-; THUMB7-NEXT:    bx lr
-;
-; THUMB8-LABEL: scalar_i8_lowestbit_eq:
-; THUMB8:       @ %bb.0:
-; THUMB8-NEXT:    uxtb r1, r1
-; THUMB8-NEXT:    uxtb r0, r0
-; THUMB8-NEXT:    lsrs r0, r1
-; THUMB8-NEXT:    movs r1, #1
-; THUMB8-NEXT:    bic.w r0, r1, r0
-; THUMB8-NEXT:    bx lr
+; THUMB78-LABEL: scalar_i8_lowestbit_eq:
+; THUMB78:       @ %bb.0:
+; THUMB78-NEXT:    uxtb r1, r1
+; THUMB78-NEXT:    uxtb r0, r0
+; THUMB78-NEXT:    lsrs r0, r1
+; THUMB78-NEXT:    movs r1, #1
+; THUMB78-NEXT:    bic.w r0, r1, r0
+; THUMB78-NEXT:    bx lr
   %t0 = shl i8 1, %y
   %t1 = and i8 %t0, %x
   %res = icmp eq i8 %t1, 0
@@ -126,25 +108,15 @@ define i1 @scalar_i8_bitsinmiddle_eq(i8 %x, i8 %y) nounwind {
 ; THUMB6-NEXT:    adcs r0, r1
 ; THUMB6-NEXT:    bx lr
 ;
-; THUMB7-LABEL: scalar_i8_bitsinmiddle_eq:
-; THUMB7:       @ %bb.0:
-; THUMB7-NEXT:    uxtb r1, r1
-; THUMB7-NEXT:    uxtb r0, r0
-; THUMB7-NEXT:    lsrs r0, r1
-; THUMB7-NEXT:    and r0, r0, #24
-; THUMB7-NEXT:    clz r0, r0
-; THUMB7-NEXT:    lsrs r0, r0, #5
-; THUMB7-NEXT:    bx lr
-;
-; THUMB8-LABEL: scalar_i8_bitsinmiddle_eq:
-; THUMB8:       @ %bb.0:
-; THUMB8-NEXT:    uxtb r1, r1
-; THUMB8-NEXT:    uxtb r0, r0
-; THUMB8-NEXT:    lsrs r0, r1
-; THUMB8-NEXT:    and r0, r0, #24
-; THUMB8-NEXT:    clz r0, r0
-; THUMB8-NEXT:    lsrs r0, r0, #5
-; THUMB8-NEXT:    bx lr
+; THUMB78-LABEL: scalar_i8_bitsinmiddle_eq:
+; THUMB78:       @ %bb.0:
+; THUMB78-NEXT:    uxtb r1, r1
+; THUMB78-NEXT:    uxtb r0, r0
+; THUMB78-NEXT:    lsrs r0, r1
+; THUMB78-NEXT:    and r0, r0, #24
+; THUMB78-NEXT:    clz r0, r0
+; THUMB78-NEXT:    lsrs r0, r0, #5
+; THUMB78-NEXT:    bx lr
   %t0 = shl i8 24, %y
   %t1 = and i8 %t0, %x
   %res = icmp eq i8 %t1, 0
@@ -175,23 +147,14 @@ define i1 @scalar_i16_signbit_eq(i16 %x, i16 %y) nounwind {
 ; THUMB6-NEXT:    adcs r0, r1
 ; THUMB6-NEXT:    bx lr
 ;
-; THUMB7-LABEL: scalar_i16_signbit_eq:
-; THUMB7:       @ %bb.0:
-; THUMB7-NEXT:    uxth r1, r1
-; THUMB7-NEXT:    uxth r0, r0
-; THUMB7-NEXT:    lsrs r0, r1
-; THUMB7-NEXT:    movs r1, #1
-; THUMB7-NEXT:    eor.w r0, r1, r0, lsr #15
-; THUMB7-NEXT:    bx lr
-;
-; THUMB8-LABEL: scalar_i16_signbit_eq:
-; THUMB8:       @ %bb.0:
-; THUMB8-NEXT:    uxth r1, r1
-; THUMB8-NEXT:    uxth r0, r0
-; THUMB8-NEXT:    lsrs r0, r1
-; THUMB8-NEXT:    movs r1, #1
-; THUMB8-NEXT:    eor.w r0, r1, r0, lsr #15
-; THUMB8-NEXT:    bx lr
+; THUMB78-LABEL: scalar_i16_signbit_eq:
+; THUMB78:       @ %bb.0:
+; THUMB78-NEXT:    uxth r1, r1
+; THUMB78-NEXT:    uxth r0, r0
+; THUMB78-NEXT:    lsrs r0, r1
+; THUMB78-NEXT:    movs r1, #1
+; THUMB78-NEXT:    eor.w r0, r1, r0, lsr #15
+; THUMB78-NEXT:    bx lr
   %t0 = shl i16 32768, %y
   %t1 = and i16 %t0, %x
   %res = icmp eq i16 %t1, 0
@@ -218,23 +181,14 @@ define i1 @scalar_i16_lowestbit_eq(i16 %x, i16 %y) nounwind {
 ; THUMB6-NEXT:    adcs r0, r1
 ; THUMB6-NEXT:    bx lr
 ;
-; THUMB7-LABEL: scalar_i16_lowestbit_eq:
-; THUMB7:       @ %bb.0:
-; THUMB7-NEXT:    uxth r1, r1
-; THUMB7-NEXT:    uxth r0, r0
-; THUMB7-NEXT:    lsrs r0, r1
-; THUMB7-NEXT:    movs r1, #1
-; THUMB7-NEXT:    bic.w r0, r1, r0
-; THUMB7-NEXT:    bx lr
-;
-; THUMB8-LABEL: scalar_i16_lowestbit_eq:
-; THUMB8:       @ %bb.0:
-; THUMB8-NEXT:    uxth r1, r1
-; THUMB8-NEXT:    uxth r0, r0
-; THUMB8-NEXT:    lsrs r0, r1
-; THUMB8-NEXT:    movs r1, #1
-; THUMB8-NEXT:    bic.w r0, r1, r0
-; THUMB8-NEXT:    bx lr
+; THUMB78-LABEL: scalar_i16_lowestbit_eq:
+; THUMB78:       @ %bb.0:
+; THUMB78-NEXT:    uxth r1, r1
+; THUMB78-NEXT:    uxth r0, r0
+; THUMB78-NEXT:    lsrs r0, r1
+; THUMB78-NEXT:    movs r1, #1
+; THUMB78-NEXT:    bic.w r0, r1, r0
+; THUMB78-NEXT:    bx lr
   %t0 = shl i16 1, %y
   %t1 = and i16 %t0, %x
   %res = icmp eq i16 %t1, 0
@@ -264,25 +218,15 @@ define i1 @scalar_i16_bitsinmiddle_eq(i16 %x, i16 %y) nounwind {
 ; THUMB6-NEXT:    adcs r0, r1
 ; THUMB6-NEXT:    bx lr
 ;
-; THUMB7-LABEL: scalar_i16_bitsinmiddle_eq:
-; THUMB7:       @ %bb.0:
-; THUMB7-NEXT:    uxth r1, r1
-; THUMB7-NEXT:    uxth r0, r0
-; THUMB7-NEXT:    lsrs r0, r1
-; THUMB7-NEXT:    and r0, r0, #4080
-; THUMB7-NEXT:    clz r0, r0
-; THUMB7-NEXT:    lsrs r0, r0, #5
-; THUMB7-NEXT:    bx lr
-;
-; THUMB8-LABEL: scalar_i16_bitsinmiddle_eq:
-; THUMB8:       @ %bb.0:
-; THUMB8-NEXT:    uxth r1, r1
-; THUMB8-NEXT:    uxth r0, r0
-; THUMB8-NEXT:    lsrs r0, r1
-; THUMB8-NEXT:    and r0, r0, #4080
-; THUMB8-NEXT:    clz r0, r0
-; THUMB8-NEXT:    lsrs r0, r0, #5
-; THUMB8-NEXT:    bx lr
+; THUMB78-LABEL: scalar_i16_bitsinmiddle_eq:
+; THUMB78:       @ %bb.0:
+; THUMB78-NEXT:    uxth r1, r1
+; THUMB78-NEXT:    uxth r0, r0
+; THUMB78-NEXT:    lsrs r0, r1
+; THUMB78-NEXT:    and r0, r0, #4080
+; THUMB78-NEXT:    clz r0, r0
+; THUMB78-NEXT:    lsrs r0, r0, #5
+; THUMB78-NEXT:    bx lr
   %t0 = shl i16 4080, %y
   %t1 = and i16 %t0, %x
   %res = icmp eq i16 %t1, 0
@@ -464,31 +408,18 @@ define i1 @scalar_i64_lowestbit_eq(i64 %x, i64 %y) nounwind {
 ; THUMB6-NEXT:    adcs r0, r1
 ; THUMB6-NEXT:    pop {r7, pc}
 ;
-; THUMB7-LABEL: scalar_i64_lowestbit_eq:
-; THUMB7:       @ %bb.0:
-; THUMB7-NEXT:    rsb.w r3, r2, #32
-; THUMB7-NEXT:    lsrs r0, r2
-; THUMB7-NEXT:    subs r2, #32
-; THUMB7-NEXT:    lsl.w r3, r1, r3
-; THUMB7-NEXT:    orr.w r0, r0, r3
-; THUMB7-NEXT:    it pl
-; THUMB7-NEXT:    lsrpl.w r0, r1, r2
-; THUMB7-NEXT:    movs r1, #1
-; THUMB7-NEXT:    bic.w r0, r1, r0
-; THUMB7-NEXT:    bx lr
-;
-; THUMB8-LABEL: scalar_i64_lowestbit_eq:
-; THUMB8:       @ %bb.0:
-; THUMB8-NEXT:    rsb.w r3, r2, #32
-; THUMB8-NEXT:    lsrs r0, r2
-; THUMB8-NEXT:    subs r2, #32
-; THUMB8-NEXT:    lsl.w r3, r1, r3
-; THUMB8-NEXT:    orr.w r0, r0, r3
-; THUMB8-NEXT:    it pl
-; THUMB8-NEXT:    lsrpl.w r0, r1, r2
-; THUMB8-NEXT:    movs r1, #1
-; THUMB8-NEXT:    bic.w r0, r1, r0
-; THUMB8-NEXT:    bx lr
+; THUMB78-LABEL: scalar_i64_lowestbit_eq:
+; THUMB78:       @ %bb.0:
+; THUMB78-NEXT:    rsb.w r3, r2, #32
+; THUMB78-NEXT:    lsrs r0, r2
+; THUMB78-NEXT:    subs r2, #32
+; THUMB78-NEXT:    lsl.w r3, r1, r3
+; THUMB78-NEXT:    orr.w r0, r0, r3
+; THUMB78-NEXT:    it pl
+; THUMB78-NEXT:    lsrpl.w r0, r1, r2
+; THUMB78-NEXT:    movs r1, #1
+; THUMB78-NEXT:    bic.w r0, r1, r0
+; THUMB78-NEXT:    bx lr
   %t0 = shl i64 1, %y
   %t1 = and i64 %t0, %x
   %res = icmp eq i64 %t1, 0
@@ -540,39 +471,22 @@ define i1 @scalar_i64_bitsinmiddle_eq(i64 %x, i64 %y) nounwind {
 ; THUMB6-NEXT:  .LCPI11_0:
 ; THUMB6-NEXT:    .long 4294901760 @ 0xffff0000
 ;
-; THUMB7-LABEL: scalar_i64_bitsinmiddle_eq:
-; THUMB7:       @ %bb.0:
-; THUMB7-NEXT:    rsb.w r3, r2, #32
-; THUMB7-NEXT:    lsrs r0, r2
-; THUMB7-NEXT:    lsl.w r3, r1, r3
-; THUMB7-NEXT:    orrs r0, r3
-; THUMB7-NEXT:    subs.w r3, r2, #32
-; THUMB7-NEXT:    it pl
-; THUMB7-NEXT:    lsrpl.w r0, r1, r3
-; THUMB7-NEXT:    lsr.w r1, r1, r2
-; THUMB7-NEXT:    it pl
-; THUMB7-NEXT:    movpl r1, #0
-; THUMB7-NEXT:    pkhbt r0, r1, r0
-; THUMB7-NEXT:    clz r0, r0
-; THUMB7-NEXT:    lsrs r0, r0, #5
-; THUMB7-NEXT:    bx lr
-;
-; THUMB8-LABEL: scalar_i64_bitsinmiddle_eq:
-; THUMB8:       @ %bb.0:
-; THUMB8-NEXT:    rsb.w r3, r2, #32
-; THUMB8-NEXT:    lsrs r0, r2
-; THUMB8-NEXT:    lsl.w r3, r1, r3
-; THUMB8-NEXT:    orrs r0, r3
-; THUMB8-NEXT:    subs.w r3, r2, #32
-; THUMB8-NEXT:    it pl
-; THUMB8-NEXT:    lsrpl.w r0, r1, r3
-; THUMB8-NEXT:    lsr.w r1, r1, r2
-; THUMB8-NEXT:    it pl
-; THUMB8-NEXT:    movpl r1, #0
-; THUMB8-NEXT:    pkhbt r0, r1, r0
-; THUMB8-NEXT:    clz r0, r0
-; THUMB8-NEXT:    lsrs r0, r0, #5
-; THUMB8-NEXT:    bx lr
+; THUMB78-LABEL: scalar_i64_bitsinmiddle_eq:
+; THUMB78:       @ %bb.0:
+; THUMB78-NEXT:    rsb.w r3, r2, #32
+; THUMB78-NEXT:    lsrs r0, r2
+; THUMB78-NEXT:    lsl.w r3, r1, r3
+; THUMB78-NEXT:    orrs r0, r3
+; THUMB78-NEXT:    subs.w r3, r2, #32
+; THUMB78-NEXT:    it pl
+; THUMB78-NEXT:    lsrpl.w r0, r1, r3
+; THUMB78-NEXT:    lsr.w r1, r1, r2
+; THUMB78-NEXT:    it pl
+; THUMB78-NEXT:    movpl r1, #0
+; THUMB78-NEXT:    pkhbt r0, r1, r0
+; THUMB78-NEXT:    clz r0, r0
+; THUMB78-NEXT:    lsrs r0, r0, #5
+; THUMB78-NEXT:    bx lr
   %t0 = shl i64 281474976645120, %y
   %t1 = and i64 %t0, %x
   %res = icmp eq i64 %t1, 0
@@ -968,29 +882,13 @@ define i1 @scalar_i8_signbit_ne(i8 %x, i8 %y) nounwind {
 ; ARM-NEXT:    lsr r0, r0, #7
 ; ARM-NEXT:    bx lr
 ;
-; THUMB6-LABEL: scalar_i8_signbit_ne:
-; THUMB6:       @ %bb.0:
-; THUMB6-NEXT:    uxtb r1, r1
-; THUMB6-NEXT:    uxtb r0, r0
-; THUMB6-NEXT:    lsrs r0, r1
-; THUMB6-NEXT:    lsrs r0, r0, #7
-; THUMB6-NEXT:    bx lr
-;
-; THUMB7-LABEL: scalar_i8_signbit_ne:
-; THUMB7:       @ %bb.0:
-; THUMB7-NEXT:    uxtb r1, r1
-; THUMB7-NEXT:    uxtb r0, r0
-; THUMB7-NEXT:    lsrs r0, r1
-; THUMB7-NEXT:    lsrs r0, r0, #7
-; THUMB7-NEXT:    bx lr
-;
-; THUMB8-LABEL: scalar_i8_signbit_ne:
-; THUMB8:       @ %bb.0:
-; THUMB8-NEXT:    uxtb r1, r1
-; THUMB8-NEXT:    uxtb r0, r0
-; THUMB8-NEXT:    lsrs r0, r1
-; THUMB8-NEXT:    lsrs r0, r0, #7
-; THUMB8-NEXT:    bx lr
+; THUMB-LABEL: scalar_i8_signbit_ne:
+; THUMB:       @ %bb.0:
+; THUMB-NEXT:    uxtb r1, r1
+; THUMB-NEXT:    uxtb r0, r0
+; THUMB-NEXT:    lsrs r0, r1
+; THUMB-NEXT:    lsrs r0, r0, #7
+; THUMB-NEXT:    bx lr
   %t0 = shl i8 128, %y
   %t1 = and i8 %t0, %x
   %res = icmp ne i8 %t1, 0 ;  we are perfectly happy with 'ne' predicate


        


More information about the llvm-commits mailing list