brintos

brintos / llvm-project-archived public Read only

0
0
Text · 7.2 KiB · 9b1deb9 Raw
250 lines · plain
1# RUN: llc -mtriple=amdgcn -mcpu=gfx900 %s -run-pass twoaddressinstruction -verify-machineinstrs -o - | FileCheck -check-prefix=GCN %s2# RUN: llc -mtriple=amdgcn -mcpu=gfx900 %s --passes=two-address-instruction -verify-each -o - | FileCheck -check-prefix=GCN %s3 4# GCN-LABEL: name: test_madmk_reg_imm_f325# GCN: V_MADMK_F32 killed %0.sub0, 1078523331, killed %1, implicit $mode, implicit $exec6---7name:            test_madmk_reg_imm_f328registers:9  - { id: 0, class: vreg_64 }10  - { id: 1, class: vgpr_32 }11  - { id: 2, class: vgpr_32 }12  - { id: 3, class: vgpr_32 }13body:             |14  bb.0:15 16    %0 = IMPLICIT_DEF17    %1 = COPY %0.sub118    %2 = V_MOV_B32_e32 1078523331, implicit $exec19    %3 = V_MAC_F32_e32 killed %0.sub0, %2, killed %1, implicit $mode, implicit $exec20 21...22 23# GCN-LABEL: name: test_madmk_imm_reg_f3224# GCN: V_MADMK_F32 killed %0.sub0, 1078523331, killed %1, implicit $mode, implicit $exec25---26name:            test_madmk_imm_reg_f3227registers:28  - { id: 0, class: vreg_64 }29  - { id: 1, class: vgpr_32 }30  - { id: 2, class: vgpr_32 }31  - { id: 3, class: vgpr_32 }32body:             |33  bb.0:34 35    %0 = IMPLICIT_DEF36    %1 = COPY %0.sub137    %2 = V_MOV_B32_e32 1078523331, implicit $exec38    %3 = V_MAC_F32_e32 %2, killed %0.sub0, killed %1, implicit $mode, implicit $exec39 40...41 42# GCN-LABEL: name: test_madak_f3243# GCN: V_MADAK_F32 killed %0.sub0, %0.sub1, 1078523331, implicit $mode, implicit $exec44---45name:            test_madak_f3246registers:47  - { id: 0, class: vreg_64 }48  - { id: 1, class: vgpr_32 }49  - { id: 2, class: vgpr_32 }50body:             |51  bb.0:52 53    %0 = IMPLICIT_DEF54    %1 = V_MOV_B32_e32 1078523331, implicit $exec55    %2 = V_MAC_F32_e32 killed %0.sub0, %0.sub1, %1, implicit $mode, implicit $exec56    S_ENDPGM 0, implicit %157...58 59# GCN-LABEL: name: test_madmk_reg_imm_f1660# GCN: V_MADMK_F16 killed %0.sub0, 1078523331, killed %1, implicit $mode, implicit $exec61---62name:            test_madmk_reg_imm_f1663registers:64  - { id: 0, class: vreg_64 }65  - { id: 1, class: vgpr_32 }66  - { id: 2, class: vgpr_32 }67  - { id: 3, class: vgpr_32 }68body:             |69  bb.0:70 71    %0 = IMPLICIT_DEF72    %1 = COPY %0.sub173    %2 = V_MOV_B32_e32 1078523331, implicit $exec74    %3 = V_MAC_F16_e32 killed %0.sub0, %2, killed %1, implicit $mode, implicit $exec75 76...77 78# GCN-LABEL: name: test_madmk_imm_reg_f1679# GCN: V_MADMK_F16 killed %0.sub0, 1078523331, killed %1, implicit $mode, implicit $exec80---81name:            test_madmk_imm_reg_f1682registers:83  - { id: 0, class: vreg_64 }84  - { id: 1, class: vgpr_32 }85  - { id: 2, class: vgpr_32 }86  - { id: 3, class: vgpr_32 }87body:             |88  bb.0:89 90    %0 = IMPLICIT_DEF91    %1 = COPY %0.sub192    %2 = V_MOV_B32_e32 1078523331, implicit $exec93    %3 = V_MAC_F16_e32 %2, killed %0.sub0, killed %1, implicit $mode, implicit $exec94 95...96 97# GCN-LABEL: name: test_madak_f1698# GCN: V_MADAK_F16 killed %0.sub0, %0.sub1, 1078523331, implicit $mode, implicit $exec99---100name:            test_madak_f16101registers:102  - { id: 0, class: vreg_64 }103  - { id: 1, class: vgpr_32 }104  - { id: 2, class: vgpr_32 }105body:             |106  bb.0:107 108    %0 = IMPLICIT_DEF109    %1 = V_MOV_B32_e32 1078523331, implicit $exec110    %2 = V_MAC_F16_e32 killed %0.sub0, %0.sub1, %1, implicit $mode, implicit $exec111    S_ENDPGM 0, implicit %1112...113 114# Make sure constant bus restriction isn't violated if src0 is an SGPR.115 116# GCN-LABEL: name: test_madak_sgpr_src0_f32117# GCN: %1:vgpr_32 = V_MOV_B32_e32 1078523331, implicit $exec118# GCN: %3:vgpr_32 = V_MAD_F32_e64 0, killed %0, 0, %1, 0, %2, 0, 0, implicit $mode, implicit $exec119 120---121name:            test_madak_sgpr_src0_f32122registers:123  - { id: 0, class: sreg_32_xm0 }124  - { id: 1, class: vgpr_32}125  - { id: 2, class: vgpr_32 }126  - { id: 3, class: vgpr_32 }127body:             |128  bb.0:129 130    %0 = IMPLICIT_DEF131    %1 = V_MOV_B32_e32 1078523331, implicit $exec132    %2 = IMPLICIT_DEF133    %3 = V_MAC_F32_e32 killed %0, %1, %2, implicit $mode, implicit $exec134    S_ENDPGM 0, implicit %2135...136 137# This can still fold if this is an inline immediate.138 139# GCN-LABEL: name: test_madak_inlineimm_src0_f32140# GCN: %2:vgpr_32 = V_MADMK_F32 1073741824, 1078523331, %1, implicit $mode, implicit $exec141 142---143name:            test_madak_inlineimm_src0_f32144registers:145  - { id: 0, class: vgpr_32}146  - { id: 1, class: vgpr_32 }147  - { id: 2, class: vgpr_32 }148body:             |149  bb.0:150 151    %0 = V_MOV_B32_e32 1078523331, implicit $exec152    %1 = IMPLICIT_DEF153    %2 = V_MAC_F32_e32 1073741824, %0, %1, implicit $mode, implicit $exec154    S_ENDPGM 0, implicit %1155...156# Non-inline immediate uses constant bus already.157 158# GCN-LABEL: name: test_madak_otherimm_src0_f32159# GCN: %2:vgpr_32 = V_MADMK_F32 %0, 1120403456, %1, implicit $mode, implicit $exec160 161---162name:            test_madak_otherimm_src0_f32163registers:164  - { id: 0, class: vgpr_32}165  - { id: 1, class: vgpr_32 }166  - { id: 2, class: vgpr_32 }167body:             |168  bb.0:169 170    %0 = V_MOV_B32_e32 1078523331, implicit $exec171    %1 = IMPLICIT_DEF172    %2 = V_MAC_F32_e32 1120403456, %0, %1, implicit $mode, implicit $exec173    S_ENDPGM 0, implicit %1174...175# Non-inline immediate uses constant bus already.176 177# GCN-LABEL: name: test_madak_other_constantlike_src0_f32178# GCN: %2:vgpr_32 = V_MAC_F32_e32 %stack.0, %0, %2, implicit $mode, implicit $exec179---180name:            test_madak_other_constantlike_src0_f32181registers:182  - { id: 0, class: vgpr_32}183  - { id: 1, class: vgpr_32 }184  - { id: 2, class: vgpr_32 }185stack:186  - { id: 0, name: "", type: default, offset: 0, size: 128, alignment: 8,187      callee-saved-register: '', local-offset: 0, debug-info-variable: '',188      debug-info-expression: '', debug-info-location: '' }189body:             |190  bb.0:191 192    %0 = V_MOV_B32_e32 1078523331, implicit $exec193    %1 = IMPLICIT_DEF194    %2 = V_MAC_F32_e32 %stack.0, %0, %1, implicit $mode, implicit $exec195 196...197 198# GCN-LABEL: name: test_madak_inline_literal_f16199# GCN: %2:vgpr_32 = V_MADAK_F16 16384, killed %0, 49664, implicit $mode, implicit $exec200 201---202name:            test_madak_inline_literal_f16203body:             |204  bb.0:205    %3:vgpr_32 = COPY killed $vgpr0206 207    %26:vgpr_32 = V_MOV_B32_e32 49664, implicit $exec208    %28:vgpr_32 = V_MAC_F16_e32 16384, killed %3, %26, implicit $mode, implicit $exec209    S_ENDPGM 0, implicit %26210...211 212# GCN-LABEL: name: test_mad_src0mods213# GCN: %3:vgpr_32 = V_MAD_F32_e64 1, %0, 0, %1, 0, %2, 0, 0, implicit $mode, implicit $exec214---215name: test_mad_src0mods216body: |217  bb.0:218    %0:vgpr_32 = IMPLICIT_DEF219    %1:vgpr_32 = IMPLICIT_DEF220    %2:vgpr_32 = IMPLICIT_DEF221    %3:vgpr_32 = V_MAC_F32_e64 1, %0, 0, %1, 0, %2, 0, 0, implicit $mode, implicit $exec222    S_ENDPGM 0, implicit %2223...224 225# GCN-LABEL: name: test_mad_src1mods226# GCN: %3:vgpr_32 = V_MAD_F32_e64 0, %0, 1, %1, 0, %2, 0, 0, implicit $mode, implicit $exec227---228name: test_mad_src1mods229body: |230  bb.0:231    %0:vgpr_32 = IMPLICIT_DEF232    %1:vgpr_32 = IMPLICIT_DEF233    %2:vgpr_32 = IMPLICIT_DEF234    %3:vgpr_32 = V_MAC_F32_e64 0, %0, 1, %1, 0, %2, 0, 0, implicit $mode, implicit $exec235    S_ENDPGM 0, implicit %2236...237 238# GCN-LABEL: name: test_mad_src2mods239# GCN: %3:vgpr_32 = V_MAD_F32_e64 0, %0, 0, %1, 1, %2, 0, 0, implicit $mode, implicit $exec240---241name: test_mad_src2mods242body: |243  bb.0:244    %0:vgpr_32 = IMPLICIT_DEF245    %1:vgpr_32 = IMPLICIT_DEF246    %2:vgpr_32 = IMPLICIT_DEF247    %3:vgpr_32 = V_MAC_F32_e64 0, %0, 0, %1, 1, %2, 0, 0, implicit $mode, implicit $exec248    S_ENDPGM 0, implicit %2249...250