1*9880d681SAndroid Build Coastguard Worker; NOTE: Assertions have been autogenerated by update_test_checks.py 2*9880d681SAndroid Build Coastguard Worker; RUN: opt < %s -S -instsimplify | FileCheck %s 3*9880d681SAndroid Build Coastguard Worker 4*9880d681SAndroid Build Coastguard Workerdeclare i16 @llvm.bswap.i16(i16) 5*9880d681SAndroid Build Coastguard Worker 6*9880d681SAndroid Build Coastguard Workerdefine i1 @test1(i16 %arg) { 7*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @test1( 8*9880d681SAndroid Build Coastguard Worker; CHECK: ret i1 false 9*9880d681SAndroid Build Coastguard Worker; 10*9880d681SAndroid Build Coastguard Worker %a = or i16 %arg, 1 11*9880d681SAndroid Build Coastguard Worker %b = call i16 @llvm.bswap.i16(i16 %a) 12*9880d681SAndroid Build Coastguard Worker %res = icmp eq i16 %b, 0 13*9880d681SAndroid Build Coastguard Worker ret i1 %res 14*9880d681SAndroid Build Coastguard Worker} 15*9880d681SAndroid Build Coastguard Worker 16*9880d681SAndroid Build Coastguard Workerdefine i1 @test2(i16 %arg) { 17*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @test2( 18*9880d681SAndroid Build Coastguard Worker; CHECK: ret i1 false 19*9880d681SAndroid Build Coastguard Worker; 20*9880d681SAndroid Build Coastguard Worker %a = or i16 %arg, 1024 21*9880d681SAndroid Build Coastguard Worker %b = call i16 @llvm.bswap.i16(i16 %a) 22*9880d681SAndroid Build Coastguard Worker %res = icmp eq i16 %b, 0 23*9880d681SAndroid Build Coastguard Worker ret i1 %res 24*9880d681SAndroid Build Coastguard Worker} 25*9880d681SAndroid Build Coastguard Worker 26*9880d681SAndroid Build Coastguard Workerdefine i1 @test3(i16 %arg) { 27*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @test3( 28*9880d681SAndroid Build Coastguard Worker; CHECK: ret i1 false 29*9880d681SAndroid Build Coastguard Worker; 30*9880d681SAndroid Build Coastguard Worker %a = and i16 %arg, 1 31*9880d681SAndroid Build Coastguard Worker %b = call i16 @llvm.bswap.i16(i16 %a) 32*9880d681SAndroid Build Coastguard Worker %and = and i16 %b, 1 33*9880d681SAndroid Build Coastguard Worker %res = icmp eq i16 %and, 1 34*9880d681SAndroid Build Coastguard Worker ret i1 %res 35*9880d681SAndroid Build Coastguard Worker} 36*9880d681SAndroid Build Coastguard Worker 37*9880d681SAndroid Build Coastguard Workerdefine i1 @test4(i16 %arg) { 38*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @test4( 39*9880d681SAndroid Build Coastguard Worker; CHECK: ret i1 false 40*9880d681SAndroid Build Coastguard Worker; 41*9880d681SAndroid Build Coastguard Worker %a = and i16 %arg, 511 42*9880d681SAndroid Build Coastguard Worker %b = call i16 @llvm.bswap.i16(i16 %a) 43*9880d681SAndroid Build Coastguard Worker %and = and i16 %b, 256 44*9880d681SAndroid Build Coastguard Worker %res = icmp eq i16 %and, 1 45*9880d681SAndroid Build Coastguard Worker ret i1 %res 46*9880d681SAndroid Build Coastguard Worker} 47