1 # NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py
2 # RUN: llc -mtriple=amdgcn -mcpu=tahiti -run-pass=instruction-select -verify-machineinstrs %s -o - | FileCheck -check-prefix=GCN %s
3 # RUN: llc -mtriple=amdgcn -mcpu=fiji -run-pass=instruction-select -verify-machineinstrs %s -o - | FileCheck -check-prefix=GCN %s
6 name: cvt_pknorm_i16_vsv
9 tracksRegLiveness: true
13 liveins: $sgpr0, $vgpr0
14 ; GCN-LABEL: name: cvt_pknorm_i16_vsv
15 ; GCN: liveins: $sgpr0, $vgpr0
17 ; GCN-NEXT: [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr0
18 ; GCN-NEXT: [[COPY1:%[0-9]+]]:vgpr_32 = COPY $vgpr0
19 ; GCN-NEXT: [[V_CVT_PKNORM_I16_F32_e64_:%[0-9]+]]:vgpr_32 = V_CVT_PKNORM_I16_F32_e64 0, [[COPY]], 0, [[COPY1]], 0, implicit $exec
20 ; GCN-NEXT: S_ENDPGM 0, implicit [[V_CVT_PKNORM_I16_F32_e64_]]
21 %0:sgpr(s32) = COPY $sgpr0
22 %1:vgpr(s32) = COPY $vgpr0
23 %2:vgpr(<2 x s16>) = G_INTRINSIC intrinsic(@llvm.amdgcn.cvt.pknorm.i16), %0, %1
24 S_ENDPGM 0, implicit %2
28 name: cvt_pknorm_i16_vvs
31 tracksRegLiveness: true
35 liveins: $sgpr0, $vgpr0
37 ; GCN-LABEL: name: cvt_pknorm_i16_vvs
38 ; GCN: liveins: $sgpr0, $vgpr0
40 ; GCN-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0
41 ; GCN-NEXT: [[COPY1:%[0-9]+]]:sreg_32 = COPY $sgpr0
42 ; GCN-NEXT: [[V_CVT_PKNORM_I16_F32_e64_:%[0-9]+]]:vgpr_32 = V_CVT_PKNORM_I16_F32_e64 0, [[COPY]], 0, [[COPY1]], 0, implicit $exec
43 ; GCN-NEXT: S_ENDPGM 0, implicit [[V_CVT_PKNORM_I16_F32_e64_]]
44 %0:vgpr(s32) = COPY $vgpr0
45 %1:sgpr(s32) = COPY $sgpr0
46 %2:vgpr(<2 x s16>) = G_INTRINSIC intrinsic(@llvm.amdgcn.cvt.pknorm.i16), %0, %1
47 S_ENDPGM 0, implicit %2
51 name: cvt_pknorm_i16_vvv
54 tracksRegLiveness: true
58 liveins: $vgpr0, $vgpr1
59 ; GCN-LABEL: name: cvt_pknorm_i16_vvv
60 ; GCN: liveins: $vgpr0, $vgpr1
62 ; GCN-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0
63 ; GCN-NEXT: [[COPY1:%[0-9]+]]:vgpr_32 = COPY $vgpr1
64 ; GCN-NEXT: [[V_CVT_PKNORM_I16_F32_e64_:%[0-9]+]]:vgpr_32 = V_CVT_PKNORM_I16_F32_e64 0, [[COPY]], 0, [[COPY1]], 0, implicit $exec
65 ; GCN-NEXT: S_ENDPGM 0, implicit [[V_CVT_PKNORM_I16_F32_e64_]]
66 %0:vgpr(s32) = COPY $vgpr0
67 %1:vgpr(s32) = COPY $vgpr1
68 %2:vgpr(<2 x s16>) = G_INTRINSIC intrinsic(@llvm.amdgcn.cvt.pknorm.i16), %0, %1
69 S_ENDPGM 0, implicit %2