[AMDGPU] Make v8i16/v8f16 legal
[llvm-project.git] / llvm / test / CodeGen / AMDGPU / GlobalISel / inst-select-amdgcn.cvt.pkrtz.mir
blob3a2f326ad7fd27f30180c0ec3d8a7952fcd9d70b
1 # NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py
2 # RUN: llc -march=amdgcn -mcpu=tahiti -run-pass=instruction-select -verify-machineinstrs %s -o -  | FileCheck -check-prefix=GCN %s
3 # RUN: llc -march=amdgcn -mcpu=fiji -run-pass=instruction-select -verify-machineinstrs %s -o -  | FileCheck -check-prefix=GCN %s
5 ---
6 name: cvt_pkrtz_vsv
7 legalized: true
8 regBankSelected: true
9 tracksRegLiveness: true
11 body: |
12   bb.0:
13     liveins: $sgpr0, $vgpr0
14     ; GCN-LABEL: name: cvt_pkrtz_vsv
15     ; GCN: liveins: $sgpr0, $vgpr0
16     ; GCN: [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr0
17     ; GCN: [[COPY1:%[0-9]+]]:vgpr_32 = COPY $vgpr0
18     ; GCN: %2:vgpr_32 = nofpexcept V_CVT_PKRTZ_F16_F32_e64 0, [[COPY]], 0, [[COPY1]], 0, 0, implicit $mode, implicit $exec
19     ; GCN: S_ENDPGM 0, implicit %2
20     %0:sgpr(s32) = COPY $sgpr0
21     %1:vgpr(s32) = COPY $vgpr0
22     %2:vgpr(<2 x s16>) = G_INTRINSIC intrinsic(@llvm.amdgcn.cvt.pkrtz), %0, %1
23     S_ENDPGM 0, implicit %2
24 ...
26 ---
27 name: cvt_pkrtz_vvs
28 legalized: true
29 regBankSelected: true
30 tracksRegLiveness: true
32 body: |
33   bb.0:
34     liveins: $sgpr0, $vgpr0
36     ; GCN-LABEL: name: cvt_pkrtz_vvs
37     ; GCN: liveins: $sgpr0, $vgpr0
38     ; GCN: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0
39     ; GCN: [[COPY1:%[0-9]+]]:sreg_32 = COPY $sgpr0
40     ; GCN: %2:vgpr_32 = nofpexcept V_CVT_PKRTZ_F16_F32_e64 0, [[COPY]], 0, [[COPY1]], 0, 0, implicit $mode, implicit $exec
41     ; GCN: S_ENDPGM 0, implicit %2
42     %0:vgpr(s32) = COPY $vgpr0
43     %1:sgpr(s32) = COPY $sgpr0
44     %2:vgpr(<2 x s16>) = G_INTRINSIC intrinsic(@llvm.amdgcn.cvt.pkrtz), %0, %1
45     S_ENDPGM 0, implicit %2
46 ...
48 ---
49 name: cvt_pkrtz_vvv
50 legalized: true
51 regBankSelected: true
52 tracksRegLiveness: true
54 body: |
55   bb.0:
56     liveins: $vgpr0, $vgpr1
57     ; GCN-LABEL: name: cvt_pkrtz_vvv
58     ; GCN: liveins: $vgpr0, $vgpr1
59     ; GCN: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0
60     ; GCN: [[COPY1:%[0-9]+]]:vgpr_32 = COPY $vgpr1
61     ; GCN: %2:vgpr_32 = nofpexcept V_CVT_PKRTZ_F16_F32_e64 0, [[COPY]], 0, [[COPY1]], 0, 0, implicit $mode, implicit $exec
62     ; GCN: S_ENDPGM 0, implicit %2
63     %0:vgpr(s32) = COPY $vgpr0
64     %1:vgpr(s32) = COPY $vgpr1
65     %2:vgpr(<2 x s16>) = G_INTRINSIC intrinsic(@llvm.amdgcn.cvt.pkrtz), %0, %1
66     S_ENDPGM 0, implicit %2
67 ...