41 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 52; RUN: llc -mtriple=amdgcn -mcpu=gfx90a %s -o - | FileCheck %s3 4define amdgpu_ps float @kill_true(i1 %.not) {5; CHECK-LABEL: kill_true:6; CHECK: ; %bb.0: ; %entry7; CHECK-NEXT: s_mov_b64 s[0:1], exec8; CHECK-NEXT: s_wqm_b64 exec, exec9; CHECK-NEXT: v_and_b32_e32 v0, 1, v010; CHECK-NEXT: v_cmp_ne_u32_e32 vcc, 1, v011; CHECK-NEXT: s_and_saveexec_b64 s[2:3], vcc12; CHECK-NEXT: s_cbranch_execz .LBB0_213; CHECK-NEXT: ; %bb.1: ; %if114; CHECK-NEXT: s_mov_b32 s4, 015; CHECK-NEXT: ; kill: def $sgpr4 killed $sgpr4 killed $exec16; CHECK-NEXT: v_pk_mov_b32 v[0:1], 0, 017; CHECK-NEXT: v_mov_b32_e32 v2, s418; CHECK-NEXT: flat_store_dword v[0:1], v219; CHECK-NEXT: .LBB0_2: ; %endif120; CHECK-NEXT: s_or_b64 exec, exec, s[2:3]21; CHECK-NEXT: s_and_b64 exec, exec, s[0:1]22; CHECK-NEXT: v_mov_b32_e32 v0, 023; CHECK-NEXT: s_waitcnt vmcnt(0) lgkmcnt(0)24; CHECK-NEXT: ; return to shader part epilog25entry:26 br i1 %.not, label %endif1, label %if127 28if1:29 %C = call float @llvm.amdgcn.wqm.f32(float 0.000000e+00)30 store float %C, ptr null, align 431 br label %endif132 33endif1:34 call void @llvm.amdgcn.kill(i1 true)35 ret float 0.000000e+0036}37 38declare void @llvm.amdgcn.kill(i1)39 40declare float @llvm.amdgcn.wqm.f32(float)41