File tree Expand file tree Collapse file tree 1 file changed +32
-0
lines changed
llvm/test/Transforms/InstCombine Expand file tree Collapse file tree 1 file changed +32
-0
lines changed Original file line number Diff line number Diff line change
1
+ ; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
2
+ ; RUN: opt < %s -instcombine -S | FileCheck %s
3
+
4
+ define i1 @f (i32 %i1 ) {
5
+ ; CHECK-LABEL: @f(
6
+ ; CHECK-NEXT: entry:
7
+ ; CHECK-NEXT: [[SHR:%.*]] = lshr i32 7, [[I1:%.*]]
8
+ ; CHECK-NEXT: [[TMP0:%.*]] = icmp ult i32 [[SHR]], [[I1]]
9
+ ; CHECK-NEXT: ret i1 [[TMP0]]
10
+ ;
11
+ entry:
12
+ %cmp = icmp slt i32 %i1 , 0
13
+ %shr = ashr i32 7 , %i1
14
+ %cmp4 = icmp sgt i32 %i1 , %shr
15
+ %i2 = select i1 %cmp , i1 true , i1 %cmp4
16
+ ret i1 %i2
17
+ }
18
+
19
+ define i32 @f2 (i32 signext %g , i32 zeroext %h ) {
20
+ ; CHECK-LABEL: @f2(
21
+ ; CHECK-NEXT: [[SHR:%.*]] = lshr i32 7, [[H:%.*]]
22
+ ; CHECK-NEXT: [[TMP1:%.*]] = icmp ult i32 [[SHR]], [[G:%.*]]
23
+ ; CHECK-NEXT: [[LOR_EXT:%.*]] = zext i1 [[TMP1]] to i32
24
+ ; CHECK-NEXT: ret i32 [[LOR_EXT]]
25
+ ;
26
+ %cmp = icmp slt i32 %g , 0
27
+ %shr = ashr i32 7 , %h
28
+ %cmp1 = icmp sgt i32 %g , %shr
29
+ %.0 = select i1 %cmp , i1 true , i1 %cmp1
30
+ %lor.ext = zext i1 %.0 to i32
31
+ ret i32 %lor.ext
32
+ }
You can’t perform that action at this time.
0 commit comments