76 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py2# RUN: llc -mtriple=amdgcn -mcpu=fiji -run-pass=regbankselect -regbankselect-fast -verify-machineinstrs -o - %s| FileCheck %s3# RUN: llc -mtriple=amdgcn -mcpu=fiji -run-pass=regbankselect -regbankselect-greedy -verify-machineinstrs -o - %s| FileCheck %s4 5---6name: kill_scc7legalized: true8 9body: |10 bb.0:11 liveins: $sgpr0, $sgpr112 ; CHECK-LABEL: name: kill_scc13 ; CHECK: liveins: $sgpr0, $sgpr114 ; CHECK-NEXT: {{ $}}15 ; CHECK-NEXT: [[COPY:%[0-9]+]]:sgpr(s32) = COPY $sgpr016 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:sgpr(s32) = COPY $sgpr117 ; CHECK-NEXT: [[ICMP:%[0-9]+]]:sgpr(s32) = G_ICMP intpred(eq), [[COPY]](s32), [[COPY1]]18 ; CHECK-NEXT: [[TRUNC:%[0-9]+]]:sgpr(s1) = G_TRUNC [[ICMP]](s32)19 ; CHECK-NEXT: [[COPY2:%[0-9]+]]:vcc(s1) = COPY [[TRUNC]](s1)20 ; CHECK-NEXT: G_INTRINSIC_W_SIDE_EFFECTS intrinsic(@llvm.amdgcn.kill), [[COPY2]](s1)21 %0:_(s32) = COPY $sgpr022 %1:_(s32) = COPY $sgpr123 %2:_(s1) = G_ICMP intpred(eq), %0, %124 G_INTRINSIC_W_SIDE_EFFECTS intrinsic(@llvm.amdgcn.kill), %225...26 27---28name: kill_vcc29legalized: true30 31body: |32 bb.0:33 liveins: $vgpr0, $vgpr134 ; CHECK-LABEL: name: kill_vcc35 ; CHECK: liveins: $vgpr0, $vgpr136 ; CHECK-NEXT: {{ $}}37 ; CHECK-NEXT: [[COPY:%[0-9]+]]:vgpr(s32) = COPY $vgpr038 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:vgpr(s32) = COPY $vgpr139 ; CHECK-NEXT: [[ICMP:%[0-9]+]]:vcc(s1) = G_ICMP intpred(eq), [[COPY]](s32), [[COPY1]]40 ; CHECK-NEXT: G_INTRINSIC_W_SIDE_EFFECTS intrinsic(@llvm.amdgcn.kill), [[ICMP]](s1)41 %0:_(s32) = COPY $vgpr042 %1:_(s32) = COPY $vgpr143 %2:_(s1) = G_ICMP intpred(eq), %0, %144 G_INTRINSIC_W_SIDE_EFFECTS intrinsic(@llvm.amdgcn.kill), %245...46 47---48name: kill_constant_true49legalized: true50 51body: |52 bb.0:53 ; CHECK-LABEL: name: kill_constant_true54 ; CHECK: [[C:%[0-9]+]]:sgpr(s32) = G_CONSTANT i32 155 ; CHECK-NEXT: [[TRUNC:%[0-9]+]]:sgpr(s1) = G_TRUNC [[C]](s32)56 ; CHECK-NEXT: [[COPY:%[0-9]+]]:vcc(s1) = COPY [[TRUNC]](s1)57 ; CHECK-NEXT: G_INTRINSIC_W_SIDE_EFFECTS intrinsic(@llvm.amdgcn.kill), [[COPY]](s1)58 %0:_(s1) = G_CONSTANT i1 true59 G_INTRINSIC_W_SIDE_EFFECTS intrinsic(@llvm.amdgcn.kill), %060...61 62---63name: kill_constant_false64legalized: true65 66body: |67 bb.0:68 ; CHECK-LABEL: name: kill_constant_false69 ; CHECK: [[C:%[0-9]+]]:sgpr(s32) = G_CONSTANT i32 070 ; CHECK-NEXT: [[TRUNC:%[0-9]+]]:sgpr(s1) = G_TRUNC [[C]](s32)71 ; CHECK-NEXT: [[COPY:%[0-9]+]]:vcc(s1) = COPY [[TRUNC]](s1)72 ; CHECK-NEXT: G_INTRINSIC_W_SIDE_EFFECTS intrinsic(@llvm.amdgcn.kill), [[COPY]](s1)73 %0:_(s1) = G_CONSTANT i1 false74 G_INTRINSIC_W_SIDE_EFFECTS intrinsic(@llvm.amdgcn.kill), %075...76