xref: /aosp_15_r20/external/llvm/test/Transforms/InstCombine/apint-and-compare.ll (revision 9880d6810fe72a1726cb53787c6711e909410d58)
1*9880d681SAndroid Build Coastguard Worker; RUN: opt < %s -instcombine -S | grep and | count 2
2*9880d681SAndroid Build Coastguard Worker
3*9880d681SAndroid Build Coastguard Worker; Should be optimized to one and.
4*9880d681SAndroid Build Coastguard Workerdefine i1 @test1(i33 %a, i33 %b) {
5*9880d681SAndroid Build Coastguard Worker        %tmp1 = and i33 %a, 65280
6*9880d681SAndroid Build Coastguard Worker        %tmp3 = and i33 %b, 65280
7*9880d681SAndroid Build Coastguard Worker        %tmp = icmp ne i33 %tmp1, %tmp3
8*9880d681SAndroid Build Coastguard Worker        ret i1 %tmp
9*9880d681SAndroid Build Coastguard Worker}
10*9880d681SAndroid Build Coastguard Worker
11*9880d681SAndroid Build Coastguard Workerdefine i1 @test2(i999 %a, i999 %b) {
12*9880d681SAndroid Build Coastguard Worker        %tmp1 = and i999 %a, 65280
13*9880d681SAndroid Build Coastguard Worker        %tmp3 = and i999 %b, 65280
14*9880d681SAndroid Build Coastguard Worker        %tmp = icmp ne i999 %tmp1, %tmp3
15*9880d681SAndroid Build Coastguard Worker        ret i1 %tmp
16*9880d681SAndroid Build Coastguard Worker}
17