[clang][modules] Don't prevent translation of FW_Private includes when explicitly...
[llvm-project.git] / llvm / test / CodeGen / AMDGPU / gfx11-twoaddr-fma.mir
blobdba62081a4139e551e9499843d0019cf695b60e6
1 # NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py
2 # RUN: llc -march=amdgcn -mcpu=gfx1100 %s -run-pass twoaddressinstruction -verify-machineinstrs -o - | FileCheck --check-prefixes=GFX11 %s
4 ---
5 name:            test_fmamk_reg_imm_f16
6 registers:
7   - { id: 0, class: vreg_64 }
8   - { id: 1, class: vgpr_32 }
9   - { id: 2, class: vgpr_32 }
10   - { id: 3, class: vgpr_32 }
11   - { id: 4, class: vgpr_32 }
12 body:             |
13   bb.0:
15     ; GFX11-LABEL: name: test_fmamk_reg_imm_f16
16     ; GFX11: [[DEF:%[0-9]+]]:vreg_64 = IMPLICIT_DEF
17     ; GFX11-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY [[DEF]].sub1
18     ; GFX11-NEXT: [[COPY1:%[0-9]+]]:vgpr_32 = COPY [[DEF]].sub0
19     ; GFX11-NEXT: [[V_MOV_B32_e32_:%[0-9]+]]:vgpr_32 = V_MOV_B32_e32 1078523331, implicit $exec
20     ; GFX11-NEXT: [[V_FMA_F16_gfx9_e64_:%[0-9]+]]:vgpr_32 = V_FMA_F16_gfx9_e64 0, killed [[COPY1]], 0, [[V_MOV_B32_e32_]], 0, killed [[COPY]], 0, 0, 0, implicit $mode, implicit $exec
21     %0 = IMPLICIT_DEF
22     %1 = COPY %0.sub1
23     %2 = COPY %0.sub0
24     %3 = V_MOV_B32_e32 1078523331, implicit $exec
25     %4 = V_FMAC_F16_t16_e64 0, killed %2, 0, %3, 0, killed %1, 0, 0, 0, implicit $mode, implicit $exec
27 ...
29 ---
30 name:            test_fmamk_imm_reg_f16
31 registers:
32   - { id: 0, class: vreg_64 }
33   - { id: 1, class: vgpr_32 }
34   - { id: 2, class: vgpr_32 }
35   - { id: 3, class: vgpr_32 }
36   - { id: 4, class: vgpr_32 }
37 body:             |
38   bb.0:
40     ; GFX11-LABEL: name: test_fmamk_imm_reg_f16
41     ; GFX11: [[DEF:%[0-9]+]]:vreg_64 = IMPLICIT_DEF
42     ; GFX11-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY [[DEF]].sub1
43     ; GFX11-NEXT: [[COPY1:%[0-9]+]]:vgpr_32 = COPY [[DEF]].sub0
44     ; GFX11-NEXT: [[V_MOV_B32_e32_:%[0-9]+]]:vgpr_32 = V_MOV_B32_e32 1078523331, implicit $exec
45     ; GFX11-NEXT: [[V_FMA_F16_gfx9_e64_:%[0-9]+]]:vgpr_32 = V_FMA_F16_gfx9_e64 0, [[COPY1]], 0, killed [[V_MOV_B32_e32_]], 0, killed [[COPY]], 0, 0, 0, implicit $mode, implicit $exec
46     %0 = IMPLICIT_DEF
47     %1 = COPY %0.sub1
48     %2 = COPY %0.sub0
49     %3 = V_MOV_B32_e32 1078523331, implicit $exec
50     %4 = V_FMAC_F16_t16_e64 0, %2, 0, killed %3, 0, killed %1, 0, 0, 0, implicit $mode, implicit $exec
52 ...
54 ---
55 name:            test_fmaak_f16
56 registers:
57   - { id: 0, class: vreg_64 }
58   - { id: 1, class: vgpr_32 }
59   - { id: 2, class: vgpr_32 }
60   - { id: 3, class: vgpr_32 }
61   - { id: 4, class: vgpr_32 }
62 body:             |
63   bb.0:
65     ; GFX11-LABEL: name: test_fmaak_f16
66     ; GFX11: [[DEF:%[0-9]+]]:vreg_64 = IMPLICIT_DEF
67     ; GFX11-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY [[DEF]].sub0
68     ; GFX11-NEXT: [[COPY1:%[0-9]+]]:vgpr_32 = COPY [[DEF]].sub1
69     ; GFX11-NEXT: [[V_MOV_B32_e32_:%[0-9]+]]:vgpr_32 = V_MOV_B32_e32 1078523331, implicit $exec
70     ; GFX11-NEXT: [[V_FMA_F16_gfx9_e64_:%[0-9]+]]:vgpr_32 = V_FMA_F16_gfx9_e64 0, killed [[COPY]], 0, [[COPY1]], 0, [[V_MOV_B32_e32_]], 0, 0, 0, implicit $mode, implicit $exec
71     %0 = IMPLICIT_DEF
72     %1 = COPY %0.sub0
73     %2 = COPY %0.sub1
74     %3 = V_MOV_B32_e32 1078523331, implicit $exec
75     %4 = V_FMAC_F16_t16_e64 0, killed %1, 0, %2, 0, %3, 0, 0, 0, implicit $mode, implicit $exec
76 ...
78 ---
79 name:            test_fmaak_inline_literal_f16
80 tracksRegLiveness: true
81 liveins:
82   - { reg: '$vgpr0', virtual-reg: '%0' }
83 body:             |
84   bb.0:
85     liveins: $vgpr0
87     ; GFX11-LABEL: name: test_fmaak_inline_literal_f16
88     ; GFX11: liveins: $vgpr0
89     ; GFX11-NEXT: {{  $}}
90     ; GFX11-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY killed $vgpr0
91     ; GFX11-NEXT: [[V_MOV_B32_e32_:%[0-9]+]]:vgpr_32 = V_MOV_B32_e32 49664, implicit $exec
92     ; GFX11-NEXT: [[V_FMA_F16_gfx9_e64_:%[0-9]+]]:vgpr_32 = V_FMA_F16_gfx9_e64 0, 16384, 0, killed [[COPY]], 0, [[V_MOV_B32_e32_]], 0, 0, 0, implicit $mode, implicit $exec
93     ; GFX11-NEXT: S_ENDPGM 0
94     %0:vgpr_32 = COPY killed $vgpr0
96     %1:vgpr_32 = V_MOV_B32_e32 49664, implicit $exec
97     %2:vgpr_32 = V_FMAC_F16_t16_e64 0, 16384, 0, killed %0, 0, %1, 0, 0, 0, implicit $mode, implicit $exec
98     S_ENDPGM 0