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