1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py 2# RUN: llc -mtriple=amdgcn -mcpu=fiji -run-pass=regbankselect %s -verify-machineinstrs -o - -regbankselect-fast | FileCheck %s 3# RUN: llc -mtriple=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: liveins: $sgpr0 14 ; CHECK-NEXT: {{ $}} 15 ; CHECK-NEXT: [[COPY:%[0-9]+]]:sgpr(s32) = COPY $sgpr0 16 ; CHECK-NEXT: [[BITREVERSE:%[0-9]+]]:sgpr(s32) = G_BITREVERSE [[COPY]] 17 %0:_(s32) = COPY $sgpr0 18 %1:_(s32) = G_BITREVERSE %0 19... 20 21--- 22name: bitreverse_i32_v 23legalized: true 24 25body: | 26 bb.0: 27 liveins: $vgpr0 28 ; CHECK-LABEL: name: bitreverse_i32_v 29 ; CHECK: liveins: $vgpr0 30 ; CHECK-NEXT: {{ $}} 31 ; CHECK-NEXT: [[COPY:%[0-9]+]]:vgpr(s32) = COPY $vgpr0 32 ; CHECK-NEXT: [[BITREVERSE:%[0-9]+]]:vgpr(s32) = G_BITREVERSE [[COPY]] 33 %0:_(s32) = COPY $vgpr0 34 %1:_(s32) = G_BITREVERSE %0 35... 36 37--- 38name: bitreverse_i64_s 39legalized: true 40 41body: | 42 bb.0: 43 liveins: $sgpr0 44 ; CHECK-LABEL: name: bitreverse_i64_s 45 ; CHECK: liveins: $sgpr0 46 ; CHECK-NEXT: {{ $}} 47 ; CHECK-NEXT: [[COPY:%[0-9]+]]:sgpr(s64) = COPY $sgpr0_sgpr1 48 ; CHECK-NEXT: [[BITREVERSE:%[0-9]+]]:sgpr(s64) = G_BITREVERSE [[COPY]] 49 %0:_(s64) = COPY $sgpr0_sgpr1 50 %1:_(s64) = G_BITREVERSE %0 51... 52 53--- 54name: bitreverse_i64_v 55legalized: true 56 57body: | 58 bb.0: 59 liveins: $vgpr0 60 ; CHECK-LABEL: name: bitreverse_i64_v 61 ; CHECK: liveins: $vgpr0 62 ; CHECK-NEXT: {{ $}} 63 ; CHECK-NEXT: [[COPY:%[0-9]+]]:vgpr(s64) = COPY $vgpr0_vgpr1 64 ; CHECK-NEXT: [[UV:%[0-9]+]]:vgpr(s32), [[UV1:%[0-9]+]]:vgpr(s32) = G_UNMERGE_VALUES [[COPY]](s64) 65 ; CHECK-NEXT: [[BITREVERSE:%[0-9]+]]:vgpr(s32) = G_BITREVERSE [[UV1]] 66 ; CHECK-NEXT: [[BITREVERSE1:%[0-9]+]]:vgpr(s32) = G_BITREVERSE [[UV]] 67 ; CHECK-NEXT: [[MV:%[0-9]+]]:vgpr(s64) = G_MERGE_VALUES [[BITREVERSE]](s32), [[BITREVERSE1]](s32) 68 %0:_(s64) = COPY $vgpr0_vgpr1 69 %1:_(s64) = G_BITREVERSE %0 70... 71