Skip to content

Commit e6c3d94

Browse files
committed
[InstCombine] Add test for foldSelectICmpAndBinOp with range attribute. (NFC)
1 parent 1997053 commit e6c3d94

File tree

1 file changed

+39
-0
lines changed

1 file changed

+39
-0
lines changed

llvm/test/Transforms/InstCombine/select-with-bitwise-ops.ll

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1829,3 +1829,42 @@ define i8 @neg_select_trunc_or_2(i8 %x, i8 %y) {
18291829
%select = select i1 %trunc, i8 %y, i8 %or
18301830
ret i8 %select
18311831
}
1832+
1833+
define i8 @select_icmp_bittest_range(i8 range(i8 0, 64) %a, i8 %y) {
1834+
; CHECK-LABEL: @select_icmp_bittest_range(
1835+
; CHECK-NEXT: [[CMP:%.*]] = icmp samesign ult i8 [[A:%.*]], 32
1836+
; CHECK-NEXT: [[OR:%.*]] = or i8 [[Y:%.*]], 2
1837+
; CHECK-NEXT: [[RES:%.*]] = select i1 [[CMP]], i8 [[Y]], i8 [[OR]]
1838+
; CHECK-NEXT: ret i8 [[RES]]
1839+
;
1840+
%cmp = icmp ult i8 %a, 32
1841+
%or = or i8 %y, 2
1842+
%res = select i1 %cmp, i8 %y, i8 %or
1843+
ret i8 %res
1844+
}
1845+
1846+
define i8 @neg_select_icmp_bittest_range(i8 range(i8 0, 65) %a, i8 %y) {
1847+
; CHECK-LABEL: @neg_select_icmp_bittest_range(
1848+
; CHECK-NEXT: [[CMP:%.*]] = icmp samesign ult i8 [[A:%.*]], 32
1849+
; CHECK-NEXT: [[OR:%.*]] = or i8 [[Y:%.*]], 2
1850+
; CHECK-NEXT: [[RES:%.*]] = select i1 [[CMP]], i8 [[Y]], i8 [[OR]]
1851+
; CHECK-NEXT: ret i8 [[RES]]
1852+
;
1853+
%cmp = icmp ult i8 %a, 32
1854+
%or = or i8 %y, 2
1855+
%res = select i1 %cmp, i8 %y, i8 %or
1856+
ret i8 %res
1857+
}
1858+
1859+
define i8 @neg_select_icmp_bittest_range_2(i8 range(i8 0, 64) %a, i8 %y) {
1860+
; CHECK-LABEL: @neg_select_icmp_bittest_range_2(
1861+
; CHECK-NEXT: [[CMP:%.*]] = icmp samesign ult i8 [[A:%.*]], 16
1862+
; CHECK-NEXT: [[OR:%.*]] = or i8 [[Y:%.*]], 2
1863+
; CHECK-NEXT: [[RES:%.*]] = select i1 [[CMP]], i8 [[Y]], i8 [[OR]]
1864+
; CHECK-NEXT: ret i8 [[RES]]
1865+
;
1866+
%cmp = icmp ult i8 %a, 16
1867+
%or = or i8 %y, 2
1868+
%res = select i1 %cmp, i8 %y, i8 %or
1869+
ret i8 %res
1870+
}

0 commit comments

Comments
 (0)