1*9880d681SAndroid Build Coastguard Worker; RUN: llc -march=hexagon < %s | FileCheck %s 2*9880d681SAndroid Build Coastguard Worker; Check that we generate compare to general register. 3*9880d681SAndroid Build Coastguard Worker 4*9880d681SAndroid Build Coastguard Workerdefine i32 @compare1(i32 %a) nounwind { 5*9880d681SAndroid Build Coastguard Worker; CHECK: r{{[0-9]+}}{{ *}}={{ *}}cmp.eq(r{{[0-9]+}},{{ *}}#120) 6*9880d681SAndroid Build Coastguard Workerentry: 7*9880d681SAndroid Build Coastguard Worker %cmp = icmp eq i32 %a, 120 8*9880d681SAndroid Build Coastguard Worker %conv = zext i1 %cmp to i32 9*9880d681SAndroid Build Coastguard Worker ret i32 %conv 10*9880d681SAndroid Build Coastguard Worker} 11*9880d681SAndroid Build Coastguard Worker 12*9880d681SAndroid Build Coastguard Workerdefine i32 @compare2(i32 %a) nounwind readnone { 13*9880d681SAndroid Build Coastguard Worker; CHECK: r{{[0-9]+}}{{ *}}={{ *}}!cmp.eq(r{{[0-9]+}},{{ *}}#120) 14*9880d681SAndroid Build Coastguard Workerentry: 15*9880d681SAndroid Build Coastguard Worker %cmp = icmp ne i32 %a, 120 16*9880d681SAndroid Build Coastguard Worker %conv = zext i1 %cmp to i32 17*9880d681SAndroid Build Coastguard Worker ret i32 %conv 18*9880d681SAndroid Build Coastguard Worker} 19*9880d681SAndroid Build Coastguard Worker 20*9880d681SAndroid Build Coastguard Workerdefine i32 @compare3(i32 %a, i32 %b) nounwind readnone { 21*9880d681SAndroid Build Coastguard Worker; CHECK: r{{[0-9]+}}{{ *}}={{ *}}cmp.eq(r{{[0-9]+}},{{ *}}r{{[0-9]+}}) 22*9880d681SAndroid Build Coastguard Workerentry: 23*9880d681SAndroid Build Coastguard Worker %cmp = icmp eq i32 %a, %b 24*9880d681SAndroid Build Coastguard Worker %conv = zext i1 %cmp to i32 25*9880d681SAndroid Build Coastguard Worker ret i32 %conv 26*9880d681SAndroid Build Coastguard Worker} 27*9880d681SAndroid Build Coastguard Worker 28*9880d681SAndroid Build Coastguard Workerdefine i32 @compare4(i32 %a, i32 %b) nounwind readnone { 29*9880d681SAndroid Build Coastguard Worker; CHECK: r{{[0-9]+}}{{ *}}={{ *}}!cmp.eq(r{{[0-9]+}},{{ *}}r{{[0-9]+}}) 30*9880d681SAndroid Build Coastguard Workerentry: 31*9880d681SAndroid Build Coastguard Worker %cmp = icmp ne i32 %a, %b 32*9880d681SAndroid Build Coastguard Worker %conv = zext i1 %cmp to i32 33*9880d681SAndroid Build Coastguard Worker ret i32 %conv 34*9880d681SAndroid Build Coastguard Worker} 35