1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py
2# RUN: llc -march=amdgcn -mcpu=gfx900 -run-pass=instruction-select -verify-machineinstrs %s -o - | FileCheck -check-prefix=GCN %s
3# RUN: llc -march=amdgcn -mcpu=gfx1010 -run-pass=instruction-select -verify-machineinstrs %s -o - | FileCheck -check-prefix=GCN %s
4
5---
6name: umax_s32_ss
7legalized: true
8regBankSelected: true
9
10body: |
11  bb.0:
12    liveins: $sgpr0, $sgpr1
13    ; GCN-LABEL: name: umax_s32_ss
14    ; GCN: [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr0
15    ; GCN: [[COPY1:%[0-9]+]]:sreg_32 = COPY $sgpr1
16    ; GCN: [[S_MAX_U32_:%[0-9]+]]:sreg_32 = S_MAX_U32 [[COPY]], [[COPY1]], implicit-def $scc
17    ; GCN: S_ENDPGM 0, implicit [[S_MAX_U32_]]
18    %0:sgpr(s32) = COPY $sgpr0
19    %1:sgpr(s32) = COPY $sgpr1
20    %2:sgpr(s32) = G_UMAX %0, %1
21    S_ENDPGM 0, implicit %2
22...
23
24---
25name: umax_s32_sv
26legalized: true
27regBankSelected: true
28
29body: |
30  bb.0:
31    liveins: $sgpr0, $vgpr0
32    ; GCN-LABEL: name: umax_s32_sv
33    ; GCN: [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr0
34    ; GCN: [[COPY1:%[0-9]+]]:vgpr_32 = COPY $vgpr0
35    ; GCN: [[V_MAX_U32_e64_:%[0-9]+]]:vgpr_32 = V_MAX_U32_e64 [[COPY]], [[COPY1]], implicit $exec
36    ; GCN: S_ENDPGM 0, implicit [[V_MAX_U32_e64_]]
37    %0:sgpr(s32) = COPY $sgpr0
38    %1:vgpr(s32) = COPY $vgpr0
39    %2:vgpr(s32) = G_UMAX %0, %1
40    S_ENDPGM 0, implicit %2
41...
42
43---
44name: umax_s32_vs
45legalized: true
46regBankSelected: true
47
48body: |
49  bb.0:
50    liveins: $sgpr0, $vgpr0
51    ; GCN-LABEL: name: umax_s32_vs
52    ; GCN: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0
53    ; GCN: [[COPY1:%[0-9]+]]:sreg_32 = COPY $sgpr0
54    ; GCN: [[V_MAX_U32_e64_:%[0-9]+]]:vgpr_32 = V_MAX_U32_e64 [[COPY]], [[COPY1]], implicit $exec
55    ; GCN: S_ENDPGM 0, implicit [[V_MAX_U32_e64_]]
56    %0:vgpr(s32) = COPY $vgpr0
57    %1:sgpr(s32) = COPY $sgpr0
58    %2:vgpr(s32) = G_UMAX %0, %1
59    S_ENDPGM 0, implicit %2
60...
61
62---
63name: umax_s32_vv
64legalized: true
65regBankSelected: true
66
67body: |
68  bb.0:
69    liveins: $vgpr0, $vgpr1
70    ; GCN-LABEL: name: umax_s32_vv
71    ; GCN: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0
72    ; GCN: [[COPY1:%[0-9]+]]:vgpr_32 = COPY $vgpr1
73    ; GCN: [[V_MAX_U32_e64_:%[0-9]+]]:vgpr_32 = V_MAX_U32_e64 [[COPY]], [[COPY1]], implicit $exec
74    ; GCN: S_ENDPGM 0, implicit [[V_MAX_U32_e64_]]
75    %0:vgpr(s32) = COPY $vgpr0
76    %1:vgpr(s32) = COPY $vgpr1
77    %2:vgpr(s32) = G_UMAX %0, %1
78    S_ENDPGM 0, implicit %2
79...
80