1 # RUN: llc -march=amdgcn -mcpu=gfx1010 %s -run-pass twoaddressinstruction -verify-machineinstrs -o - | FileCheck --check-prefixes=GFX10 %s
2 # RUN: llc -march=amdgcn -mcpu=gfx1010 %s -run-pass twoaddressinstruction -verify-machineinstrs -o - -early-live-intervals | FileCheck --check-prefixes=GFX10 %s
4 # GFX10-LABEL: name: test_fmamk_reg_imm_f16
5 # GFX10: %2:vgpr_32 = IMPLICIT_DEF
7 # GFX10: V_FMAMK_F16 killed %0.sub0, 1078523331, killed %1, implicit $mode, implicit $exec
9 name: test_fmamk_reg_imm_f16
11 - { id: 0, class: vreg_64 }
12 - { id: 1, class: vgpr_32 }
13 - { id: 2, class: vgpr_32 }
14 - { id: 3, class: vgpr_32 }
20 %2 = V_MOV_B32_e32 1078523331, implicit $exec
21 %3 = V_FMAC_F16_e32 killed %0.sub0, %2, killed %1, implicit $mode, implicit $exec
25 # GFX10-LABEL: name: test_fmamk_imm_reg_f16
26 # GFX10: %2:vgpr_32 = IMPLICIT_DEF
27 # GFX10-NOT: V_MOV_B32
28 # GFX10: V_FMAMK_F16 killed %0.sub0, 1078523331, killed %1, implicit $mode, implicit $exec
30 name: test_fmamk_imm_reg_f16
32 - { id: 0, class: vreg_64 }
33 - { id: 1, class: vgpr_32 }
34 - { id: 2, class: vgpr_32 }
35 - { id: 3, class: vgpr_32 }
41 %2 = V_MOV_B32_e32 1078523331, implicit $exec
42 %3 = V_FMAC_F16_e32 %2, killed %0.sub0, killed %1, implicit $mode, implicit $exec
46 # GFX10-LABEL: name: test_fmaak_f16
47 # GFX10: %1:vgpr_32 = V_MOV_B32_e32 1078523331, implicit $exec
48 # GFX10-NOT: V_MOV_B32
49 # GFX10: V_FMAAK_F16 killed %0.sub0, %0.sub1, 1078523331, implicit $mode, implicit $exec
53 - { id: 0, class: vreg_64 }
54 - { id: 1, class: vgpr_32 }
55 - { id: 2, class: vgpr_32 }
60 %1 = V_MOV_B32_e32 1078523331, implicit $exec
61 %2 = V_FMAC_F16_e32 killed %0.sub0, %0.sub1, %1, implicit $mode, implicit $exec
62 S_ENDPGM 0, implicit %1
65 # GFX10-LABEL: name: test_fmaak_inline_literal_f16
66 # GFX10: %1:vgpr_32 = V_MOV_B32_e32 49664, implicit $exec
67 # GFX10-NOT: V_MOV_B32
68 # GFX10: %2:vgpr_32 = V_FMAAK_F16 16384, killed %0, 49664, implicit $mode, implicit $exec
71 name: test_fmaak_inline_literal_f16
72 tracksRegLiveness: true
74 - { reg: '$vgpr0', virtual-reg: '%0' }
79 %0:vgpr_32 = COPY killed $vgpr0
81 %1:vgpr_32 = V_MOV_B32_e32 49664, implicit $exec
82 %2:vgpr_32 = V_FMAC_F16_e32 16384, killed %0, %1, implicit $mode, implicit $exec
83 S_ENDPGM 0, implicit %1