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