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: bitreverse_i32_s 7legalized: true 8 9body: | 10 bb.0: 11 liveins: $sgpr0 12 ; CHECK-LABEL: name: bitreverse_i32_s 13 ; CHECK: [[COPY:%[0-9]+]]:sgpr(s32) = COPY $sgpr0 14 ; CHECK: [[BITREVERSE:%[0-9]+]]:sgpr(s32) = G_BITREVERSE [[COPY]] 15 %0:_(s32) = COPY $sgpr0 16 %1:_(s32) = G_BITREVERSE %0 17... 18 19--- 20name: bitreverse_i32_v 21legalized: true 22 23body: | 24 bb.0: 25 liveins: $vgpr0 26 ; CHECK-LABEL: name: bitreverse_i32_v 27 ; CHECK: [[COPY:%[0-9]+]]:vgpr(s32) = COPY $vgpr0 28 ; CHECK: [[BITREVERSE:%[0-9]+]]:vgpr(s32) = G_BITREVERSE [[COPY]] 29 %0:_(s32) = COPY $vgpr0 30 %1:_(s32) = G_BITREVERSE %0 31... 32 33--- 34name: bitreverse_i64_s 35legalized: true 36 37body: | 38 bb.0: 39 liveins: $sgpr0 40 ; CHECK-LABEL: name: bitreverse_i64_s 41 ; CHECK: [[COPY:%[0-9]+]]:sgpr(s64) = COPY $sgpr0_sgpr1 42 ; CHECK: [[BITREVERSE:%[0-9]+]]:sgpr(s64) = G_BITREVERSE [[COPY]] 43 %0:_(s64) = COPY $sgpr0_sgpr1 44 %1:_(s64) = G_BITREVERSE %0 45... 46 47--- 48name: bitreverse_i64_v 49legalized: true 50 51body: | 52 bb.0: 53 liveins: $vgpr0 54 ; CHECK-LABEL: name: bitreverse_i64_v 55 ; CHECK: [[COPY:%[0-9]+]]:vgpr(s64) = COPY $vgpr0_vgpr1 56 ; CHECK: [[UV:%[0-9]+]]:vgpr(s32), [[UV1:%[0-9]+]]:vgpr(s32) = G_UNMERGE_VALUES [[COPY]](s64) 57 ; CHECK: [[BITREVERSE:%[0-9]+]]:vgpr(s32) = G_BITREVERSE [[UV1]] 58 ; CHECK: [[BITREVERSE1:%[0-9]+]]:vgpr(s32) = G_BITREVERSE [[UV]] 59 ; CHECK: [[MV:%[0-9]+]]:vgpr(s64) = G_MERGE_VALUES [[BITREVERSE]](s32), [[BITREVERSE1]](s32) 60 %0:_(s64) = COPY $vgpr0_vgpr1 61 %1:_(s64) = G_BITREVERSE %0 62... 63