Skip to content

Commit 7fb23e5

Browse files
Modify boolean-patterns.ll
1 parent 680ac60 commit 7fb23e5

File tree

2 files changed

+2
-10
lines changed

2 files changed

+2
-10
lines changed

llvm/lib/Target/NVPTX/NVPTXInstrInfo.td

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1547,12 +1547,6 @@ defm XOR : BITWISE<"xor", xor>;
15471547
def : Pat<(mul Int1Regs:$a, Int1Regs:$b), (ANDb1rr Int1Regs:$a, Int1Regs:$b)>;
15481548
def : Pat<(mul Int1Regs:$a, (i1 imm:$b)), (ANDb1ri Int1Regs:$a, imm:$b)>;
15491549

1550-
// These transformations were once reliably performed by instcombine, but thanks
1551-
// to poison semantics they are no longer safe for LLVM IR, perform them here
1552-
// instead.
1553-
def : Pat<(select Int1Regs:$a, Int1Regs:$b, 0), (ANDb1rr Int1Regs:$a, Int1Regs:$b)>;
1554-
def : Pat<(select Int1Regs:$a, 1, Int1Regs:$b), (ORb1rr Int1Regs:$a, Int1Regs:$b)>;
1555-
15561550
// Lower logical v2i16/v4i8 ops as bitwise ops on b32.
15571551
foreach vt = [v2i16, v4i8] in {
15581552
def: Pat<(or (vt Int32Regs:$a), (vt Int32Regs:$b)),

llvm/test/CodeGen/NVPTX/boolean-patterns.ll

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -18,16 +18,14 @@ define i1 @m2and_ri(i1 %a) {
1818

1919
; CHECK-LABEL: select2or
2020
define i1 @select2or(i1 %a, i1 %b) {
21-
; CHECK: or.b16 %rs{{[0-9]+}}, %rs{{[0-9]+}}, %rs{{[0-9]+}}
22-
; CHECK-NOT: selp
21+
; CHECK: or.pred %p{{[0-9]+}}, %p{{[0-9]+}}, %p{{[0-9]+}}
2322
%r = select i1 %a, i1 1, i1 %b
2423
ret i1 %r
2524
}
2625

2726
; CHECK-LABEL: select2and
2827
define i1 @select2and(i1 %a, i1 %b) {
29-
; CHECK: and.b16 %rs{{[0-9]+}}, %rs{{[0-9]+}}, %rs{{[0-9]+}}
30-
; CHECK-NOT: selp
28+
; CHECK: and.pred %p{{[0-9]+}}, %p{{[0-9]+}}, %p{{[0-9]+}}
3129
%r = select i1 %a, i1 %b, i1 0
3230
ret i1 %r
3331
}

0 commit comments

Comments
 (0)