[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