1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py 2# RUN: llc -march=amdgcn -mcpu=fiji -run-pass=regbankselect -regbankselect-fast -verify-machineinstrs -o - %s| FileCheck %s 3# RUN: llc -march=amdgcn -mcpu=fiji -run-pass=regbankselect -regbankselect-greedy -verify-machineinstrs -o - %s| FileCheck %s 4 5--- 6name: kill_scc 7legalized: true 8 9body: | 10 bb.0: 11 liveins: $sgpr0, $sgpr1 12 ; CHECK-LABEL: name: kill_scc 13 ; CHECK: [[COPY:%[0-9]+]]:sgpr(s32) = COPY $sgpr0 14 ; CHECK: [[COPY1:%[0-9]+]]:sgpr(s32) = COPY $sgpr1 15 ; CHECK: [[ICMP:%[0-9]+]]:sgpr(s32) = G_ICMP intpred(eq), [[COPY]](s32), [[COPY1]] 16 ; CHECK: [[TRUNC:%[0-9]+]]:sgpr(s1) = G_TRUNC [[ICMP]](s32) 17 ; CHECK: [[COPY2:%[0-9]+]]:vcc(s1) = COPY [[TRUNC]](s1) 18 ; CHECK: G_INTRINSIC_W_SIDE_EFFECTS intrinsic(@llvm.amdgcn.kill), [[COPY2]](s1) 19 %0:_(s32) = COPY $sgpr0 20 %1:_(s32) = COPY $sgpr1 21 %2:_(s1) = G_ICMP intpred(eq), %0, %1 22 G_INTRINSIC_W_SIDE_EFFECTS intrinsic(@llvm.amdgcn.kill), %2 23... 24 25--- 26name: kill_vcc 27legalized: true 28 29body: | 30 bb.0: 31 liveins: $vgpr0, $vgpr1 32 ; CHECK-LABEL: name: kill_vcc 33 ; CHECK: [[COPY:%[0-9]+]]:vgpr(s32) = COPY $vgpr0 34 ; CHECK: [[COPY1:%[0-9]+]]:vgpr(s32) = COPY $vgpr1 35 ; CHECK: [[ICMP:%[0-9]+]]:vcc(s1) = G_ICMP intpred(eq), [[COPY]](s32), [[COPY1]] 36 ; CHECK: G_INTRINSIC_W_SIDE_EFFECTS intrinsic(@llvm.amdgcn.kill), [[ICMP]](s1) 37 %0:_(s32) = COPY $vgpr0 38 %1:_(s32) = COPY $vgpr1 39 %2:_(s1) = G_ICMP intpred(eq), %0, %1 40 G_INTRINSIC_W_SIDE_EFFECTS intrinsic(@llvm.amdgcn.kill), %2 41... 42 43--- 44name: kill_constant_true 45legalized: true 46 47body: | 48 bb.0: 49 ; CHECK-LABEL: name: kill_constant_true 50 ; CHECK: [[C:%[0-9]+]]:sgpr(s1) = G_CONSTANT i1 true 51 ; CHECK: [[COPY:%[0-9]+]]:vcc(s1) = COPY [[C]](s1) 52 ; CHECK: G_INTRINSIC_W_SIDE_EFFECTS intrinsic(@llvm.amdgcn.kill), [[COPY]](s1) 53 %0:_(s1) = G_CONSTANT i1 true 54 G_INTRINSIC_W_SIDE_EFFECTS intrinsic(@llvm.amdgcn.kill), %0 55... 56 57--- 58name: kill_constant_false 59legalized: true 60 61body: | 62 bb.0: 63 ; CHECK-LABEL: name: kill_constant_false 64 ; CHECK: [[C:%[0-9]+]]:sgpr(s1) = G_CONSTANT i1 false 65 ; CHECK: [[COPY:%[0-9]+]]:vcc(s1) = COPY [[C]](s1) 66 ; CHECK: G_INTRINSIC_W_SIDE_EFFECTS intrinsic(@llvm.amdgcn.kill), [[COPY]](s1) 67 %0:_(s1) = G_CONSTANT i1 false 68 G_INTRINSIC_W_SIDE_EFFECTS intrinsic(@llvm.amdgcn.kill), %0 69... 70