brintos

brintos / llvm-project-archived public Read only

0
0
Text · 6.9 KiB · 316c34e Raw
202 lines · plain
1# RUN: llc -mtriple=amdgcn -mcpu=gfx90a %s -run-pass twoaddressinstruction -verify-machineinstrs -o - | FileCheck -check-prefixes=GCN,GFX90A %s2# RUN: llc -mtriple=amdgcn -mcpu=gfx90a %s --passes=two-address-instruction -verify-each -o - | FileCheck -check-prefix=GCN %s3# RUN: llc -mtriple=amdgcn -mcpu=gfx1250 %s -run-pass twoaddressinstruction -o - | FileCheck -check-prefixes=GCN,GFX1250 %s4 5# GCN-LABEL: name: test_fmamk_reg_imm_f646# GFX90A: V_FMA_F64_e64 0, killed %0, 0, %2, 0, killed %1, 0, 0, implicit $mode, implicit $exec7# GFX1250: V_FMAMK_F64 killed %0, 4607182418800017408, killed %1, implicit $mode, implicit $exec8---9name:            test_fmamk_reg_imm_f6410registers:11  - { id: 0, class: vreg_64_align2 }12  - { id: 1, class: vreg_64_align2 }13  - { id: 2, class: vreg_64_align2 }14  - { id: 3, class: vreg_64_align2 }15body:             |16  bb.0:17 18    %0 = IMPLICIT_DEF19    %1 = COPY %020    %2 = V_MOV_B64_PSEUDO 4607182418800017408, implicit $exec21    %3 = V_FMAC_F64_e32 killed %0, %2, killed %1, implicit $mode, implicit $exec22 23...24 25# GCN-LABEL: name: test_fmamk_imm_reg_f6426# GFX90A: V_FMA_F64_e64 0, %2, 0, killed %0.sub0_sub1, 0, killed %1, 0, 0, implicit $mode, implicit $exec27# GFX1250: V_FMAMK_F64 killed %0.sub0_sub1, 4607182418800017408, killed %1, implicit $mode, implicit $exec28---29name:            test_fmamk_imm_reg_f6430registers:31  - { id: 0, class: vreg_128_align2 }32  - { id: 1, class: vreg_64_align2 }33  - { id: 2, class: vreg_64_align2 }34  - { id: 3, class: vreg_64_align2 }35body:             |36  bb.0:37 38    %0 = IMPLICIT_DEF39    %1 = COPY %0.sub2_sub340    %2 = V_MOV_B64_PSEUDO 4607182418800017408, implicit $exec41    %3 = V_FMAC_F64_e32 %2, killed %0.sub0_sub1, killed %1, implicit $mode, implicit $exec42 43...44 45# GCN-LABEL: name: test_fmaak_f6446# GFX90A: V_FMA_F64_e64 0, killed %0.sub0_sub1, 0, %0.sub2_sub3, 0, %1, 0, 0, implicit $mode, implicit $exec47# GFX1250: V_FMAAK_F64 killed %0.sub0_sub1, %0.sub2_sub3, 4607182418800017408, implicit $mode, implicit $exec48---49name:            test_fmaak_f6450registers:51  - { id: 0, class: vreg_128_align2 }52  - { id: 1, class: vreg_64_align2 }53  - { id: 2, class: vreg_64_align2 }54body:             |55  bb.0:56 57    %0 = IMPLICIT_DEF58    %1 = V_MOV_B64_PSEUDO 4607182418800017408, implicit $exec59    %2 = V_FMAC_F64_e32 killed %0.sub0_sub1, %0.sub2_sub3, %1, implicit $mode, implicit $exec60    S_ENDPGM 0, implicit %161...62 63# GCN-LABEL: name: test_fmaak_sgpr_src0_f6464# GFX90A: V_FMA_F64_e64 0, killed %0, 0, %1, 0, %2, 0, 0, implicit $mode, implicit $exec65# GFX1250: V_FMAMK_F64 killed %0, 4607182418800017408, %2, implicit $mode, implicit $exec66 67---68name:            test_fmaak_sgpr_src0_f6469registers:70  - { id: 0, class: sreg_64 }71  - { id: 1, class: vreg_64_align2 }72  - { id: 2, class: vreg_64_align2 }73  - { id: 3, class: vreg_64_align2 }74body:             |75  bb.0:76 77    %0 = IMPLICIT_DEF78    %1 = V_MOV_B64_PSEUDO 4607182418800017408, implicit $exec79    %2 = IMPLICIT_DEF80    %3 = V_FMAC_F64_e32 killed %0, %1, %2, implicit $mode, implicit $exec81    S_ENDPGM 0, implicit %282...83 84# GCN-LABEL: name: test_fmaak_inlineimm_src0_f6485# GFX90A: V_FMA_F64_e64 0, 4611686018427387904, 0, %0, 0, %1, 0, 0, implicit $mode, implicit $exec86# GFX1250: V_FMAMK_F64 4611686018427387904, 4607182418800017408, %1, implicit $mode, implicit $exec87 88---89name:            test_fmaak_inlineimm_src0_f6490registers:91  - { id: 0, class: vreg_64_align2 }92  - { id: 1, class: vreg_64_align2 }93  - { id: 2, class: vreg_64_align2 }94body:             |95  bb.0:96 97    %0 = V_MOV_B64_PSEUDO 4607182418800017408, implicit $exec98    %1 = IMPLICIT_DEF99    %2 = V_FMAC_F64_e32 4611686018427387904, %0, %1, implicit $mode, implicit $exec100    S_ENDPGM 0, implicit %1101...102 103# GCN-LABEL: name: test_fmaak_otherimm_src0_f64104# GFX90A: V_FMAC_F64_e32 4636737291354636288, %0, %2, implicit $mode, implicit $exec105# GFX1250: V_FMAMK_F64 %0, 4636737291354636288, %1, implicit $mode, implicit $exec106 107---108name:            test_fmaak_otherimm_src0_f64109registers:110  - { id: 0, class: vreg_64_align2 }111  - { id: 1, class: vreg_64_align2 }112  - { id: 2, class: vreg_64_align2 }113body:             |114  bb.0:115 116    %0 = V_MOV_B64_PSEUDO 4607182418800017408, implicit $exec117    %1 = IMPLICIT_DEF118    %2 = V_FMAC_F64_e32 4636737291354636288, %0, %1, implicit $mode, implicit $exec119 120...121 122# GCN-LABEL: name: test_fmaak_other_constantlike_src0_f64123# GCN: V_FMAC_F64_e32 %stack.0, %0, %2, implicit $mode, implicit $exec124---125name:            test_fmaak_other_constantlike_src0_f64126registers:127  - { id: 0, class: vreg_64_align2 }128  - { id: 1, class: vreg_64_align2 }129  - { id: 2, class: vreg_64_align2 }130stack:131  - { id: 0, name: "", type: default, offset: 0, size: 128, alignment: 8,132      callee-saved-register: '', local-offset: 0, debug-info-variable: '',133      debug-info-expression: '', debug-info-location: '' }134body:             |135  bb.0:136 137    %0 = V_MOV_B64_PSEUDO 4607182418800017408, implicit $exec138    %1 = IMPLICIT_DEF139    %2 = V_FMAC_F64_e32 %stack.0, %0, %1, implicit $mode, implicit $exec140 141...142 143# GCN-LABEL: name: test_fmamk_reg_unfoldable_literal_src0_f64144# GFX90A: V_FMA_F64_e64 0, %2, 0, killed %0, 0, killed %1, 0, 0, implicit $mode, implicit $exec145# GFX1250: V_FMAMK_F64 killed %0, 123456, killed %1, implicit $mode, implicit $exec146---147name:            test_fmamk_reg_unfoldable_literal_src0_f64148registers:149  - { id: 0, class: vreg_64_align2 }150  - { id: 1, class: vreg_64_align2 }151  - { id: 2, class: vreg_64_align2 }152  - { id: 3, class: vreg_64_align2 }153body:             |154  bb.0:155 156    %0 = IMPLICIT_DEF157    %1 = COPY %0158    %2 = V_MOV_B64_PSEUDO 123456, implicit $exec159    %3 = V_FMAC_F64_e32 %2, killed %0, killed %1, implicit $mode, implicit $exec160 161...162 163# GCN-LABEL: name: test_fmamk_reg_unfoldable_literal_src1_f64164# GFX90A: V_FMA_F64_e64 0, killed %0, 0, %2, 0, killed %1, 0, 0, implicit $mode, implicit $exec165# GFX1250: V_FMAMK_F64 killed %0, 123456, killed %1, implicit $mode, implicit $exec166---167name:            test_fmamk_reg_unfoldable_literal_src1_f64168registers:169  - { id: 0, class: vreg_64_align2 }170  - { id: 1, class: vreg_64_align2 }171  - { id: 2, class: vreg_64_align2 }172  - { id: 3, class: vreg_64_align2 }173body:             |174  bb.0:175 176    %0 = IMPLICIT_DEF177    %1 = COPY %0178    %2 = V_MOV_B64_PSEUDO 123456, implicit $exec179    %3 = V_FMAC_F64_e32 killed %0, %2, killed %1, implicit $mode, implicit $exec180 181...182 183# GCN-LABEL: name: test_fmaak_reg_unfoldable_literal_src2_f64184# GFX90A: V_FMA_F64_e64 0, killed %0, 0, killed %1, 0, %2, 0, 0, implicit $mode, implicit $exec185# GFX1250: V_FMAAK_F64 killed %0, killed %1, 123456, implicit $mode, implicit $exec186---187name:            test_fmaak_reg_unfoldable_literal_src2_f64188registers:189  - { id: 0, class: vreg_64_align2 }190  - { id: 1, class: vreg_64_align2 }191  - { id: 2, class: vreg_64_align2 }192  - { id: 3, class: vreg_64_align2 }193body:             |194  bb.0:195 196    %0 = IMPLICIT_DEF197    %1 = COPY %0198    %2 = V_MOV_B64_PSEUDO 123456, implicit $exec199    %3 = V_FMAC_F64_e32 killed %0, killed %1, %2, implicit $mode, implicit $exec200    S_ENDPGM 0, implicit %2201...202