1*9880d681SAndroid Build Coastguard Worker; RUN: llc -march=amdgcn -mcpu=verde -verify-machineinstrs < %s | FileCheck -check-prefix=SI -check-prefix=FUNC %s 2*9880d681SAndroid Build Coastguard Worker; RUN: llc -march=amdgcn -mcpu=tonga -verify-machineinstrs < %s | FileCheck -check-prefix=SI -check-prefix=FUNC %s 3*9880d681SAndroid Build Coastguard Worker 4*9880d681SAndroid Build Coastguard Worker; FUNC-LABEL: {{^}}v_and_i64_br: 5*9880d681SAndroid Build Coastguard Worker; SI: v_and_b32 6*9880d681SAndroid Build Coastguard Worker; SI: v_and_b32 7*9880d681SAndroid Build Coastguard Workerdefine void @v_and_i64_br(i64 addrspace(1)* %out, i64 addrspace(1)* %aptr, i64 addrspace(1)* %bptr) { 8*9880d681SAndroid Build Coastguard Workerentry: 9*9880d681SAndroid Build Coastguard Worker %tid = call i32 @llvm.amdgcn.mbcnt.lo(i32 -1, i32 0) #0 10*9880d681SAndroid Build Coastguard Worker %tmp0 = icmp eq i32 %tid, 0 11*9880d681SAndroid Build Coastguard Worker br i1 %tmp0, label %if, label %endif 12*9880d681SAndroid Build Coastguard Worker 13*9880d681SAndroid Build Coastguard Workerif: 14*9880d681SAndroid Build Coastguard Worker %a = load i64, i64 addrspace(1)* %aptr, align 8 15*9880d681SAndroid Build Coastguard Worker %b = load i64, i64 addrspace(1)* %bptr, align 8 16*9880d681SAndroid Build Coastguard Worker %and = and i64 %a, %b 17*9880d681SAndroid Build Coastguard Worker br label %endif 18*9880d681SAndroid Build Coastguard Worker 19*9880d681SAndroid Build Coastguard Workerendif: 20*9880d681SAndroid Build Coastguard Worker %tmp1 = phi i64 [%and, %if], [0, %entry] 21*9880d681SAndroid Build Coastguard Worker store i64 %tmp1, i64 addrspace(1)* %out, align 8 22*9880d681SAndroid Build Coastguard Worker ret void 23*9880d681SAndroid Build Coastguard Worker} 24*9880d681SAndroid Build Coastguard Worker 25*9880d681SAndroid Build Coastguard Workerdeclare i32 @llvm.amdgcn.mbcnt.lo(i32, i32) #0 26*9880d681SAndroid Build Coastguard Worker 27*9880d681SAndroid Build Coastguard Workerattributes #0 = { nounwind readnone } 28