brintos

brintos / llvm-project-archived public Read only

0
0
Text · 7.0 KiB · f814dd3 Raw
193 lines · plain
1# RUN: llc -mtriple=amdgcn -mcpu=gfx1010 -run-pass=twoaddressinstruction -verify-machineinstrs -o - %s | FileCheck --check-prefixes=GFX10,GFX10-NOLIS %s2# RUN: llc -mtriple=amdgcn -mcpu=gfx1010 -passes=two-address-instruction -verify-each -o - %s | FileCheck --check-prefixes=GFX10,GFX10-NOLIS %s3# RUN: llc -mtriple=amdgcn -mcpu=gfx1010 -run-pass=liveintervals,twoaddressinstruction -verify-machineinstrs -o - %s | FileCheck --check-prefixes=GFX10,GFX10-LIS %s4 5 6# GFX10-LABEL: name: test_fmamk_reg_imm_f167# GFX10: dead %2:vgpr_32 = IMPLICIT_DEF8# GFX10-NOT: V_MOV_B329# GFX10-NOLIS: V_FMAMK_F16 killed %0.sub0, 1078523331, killed %1, implicit $mode, implicit $exec10# GFX10-LIS: V_FMAMK_F16 %0.sub0, 1078523331, %1, implicit $mode, implicit $exec11---12name:            test_fmamk_reg_imm_f1613tracksRegLiveness: true14body:             |15  bb.0:16 17    %0:vreg_64 = IMPLICIT_DEF18    %1:vgpr_32 = COPY %0.sub119    %2:vgpr_32 = V_MOV_B32_e32 1078523331, implicit $exec20    %3:vgpr_32 = V_FMAC_F16_e32 killed %0.sub0, %2, killed %1, implicit $mode, implicit $exec21 22...23 24# GFX10-LABEL: name: test_fmamk_reg_imm_f16__imm_is_subreg25# GFX10: %0:vreg_64 = IMPLICIT_DEF26# GFX10: %1:vgpr_32 = COPY %0.sub127# GFX10: dead undef %2.sub0:vreg_64 = IMPLICIT_DEF28# GFX10-NOLIS: %3:vgpr_32 = V_FMAMK_F16 killed %0.sub0, 1078523331, killed %1, implicit $mode, implicit $exec29# GFX10-LIS: %3:vgpr_32 = V_FMAMK_F16 %0.sub0, 1078523331, %1, implicit $mode, implicit $exec30---31name:            test_fmamk_reg_imm_f16__imm_is_subreg32tracksRegLiveness: true33body:             |34  bb.0:35 36    %0:vreg_64 = IMPLICIT_DEF37    %1:vgpr_32 = COPY %0.sub138    undef %2.sub0:vreg_64 = V_MOV_B32_e32 1078523331, implicit $exec39    %3:vgpr_32 = V_FMAC_F16_e32 killed %0.sub0, %2.sub0, killed %1, implicit $mode, implicit $exec40 41...42 43# GFX10-LABEL: name: test_fmamk_reg_imm_f16__imm_is_subreg_fully_defined44# GFX10: %0:vreg_64 = IMPLICIT_DEF45# GFX10: %1:vgpr_32 = COPY %0.sub146# GFX10: undef %2.sub1:vreg_64 = V_MOV_B32_e32 9999, implicit $exec47# GFX10: %2.sub0:vreg_64 = V_MOV_B32_e32 1078523331, implicit $exec48# GFX10-NOLIS: %3:vgpr_32 = V_FMA_F16_gfx9_e64 0, killed %0.sub0, 0, %2.sub0, 0, killed %1, 0, 0, 0, implicit $mode, implicit $e49# GFX10-LIS: %3:vgpr_32 = V_FMA_F16_gfx9_e64 0, %0.sub0, 0, %2.sub0, 0, %1, 0, 0, 0, implicit $mode, implicit $e50---51name:            test_fmamk_reg_imm_f16__imm_is_subreg_fully_defined52tracksRegLiveness: true53body:             |54  bb.0:55    %0:vreg_64 = IMPLICIT_DEF56    %1:vgpr_32 = COPY %0.sub157    undef %2.sub1 = V_MOV_B32_e32 9999, implicit $exec58    %2.sub0:vreg_64 = V_MOV_B32_e32 1078523331, implicit $exec59    %3:vgpr_32 = V_FMAC_F16_e32 killed %0.sub0, %2.sub0, killed %1, implicit $mode, implicit $exec60 61...62 63# GFX10-LABEL: name: test_fmamk_reg_imm_f16__use_imm_before_mac64# GFX10: %0:vreg_64 = IMPLICIT_DEF65# GFX10: %1:vgpr_32 = COPY %0.sub166# GFX10: %2:vgpr_32 = V_MOV_B32_e32 1078523331, implicit $exec67# GFX10: S_NOP 0, implicit %268# GFX10-NOLIS: %3:vgpr_32 = V_FMAMK_F16 killed %0.sub0, 1078523331, killed %1, implicit $mode, implicit $exec69# GFX10-LIS: %3:vgpr_32 = V_FMAMK_F16 %0.sub0, 1078523331, %1, implicit $mode, implicit $exec70---71name:            test_fmamk_reg_imm_f16__use_imm_before_mac72tracksRegLiveness: true73body:             |74  bb.0:75 76    %0:vreg_64 = IMPLICIT_DEF77    %1:vgpr_32 = COPY %0.sub178    %2:vgpr_32 = V_MOV_B32_e32 1078523331, implicit $exec79    S_NOP 0, implicit %280    %3:vgpr_32 = V_FMAC_F16_e32 killed %0.sub0, %2, killed %1, implicit $mode, implicit $exec81 82...83 84# GFX10-LABEL: name: test_fmamk_reg_imm_f16__use_imm_after_mac85# GFX10: %0:vreg_64 = IMPLICIT_DEF86# GFX10: %1:vgpr_32 = COPY %0.sub187# GFX10: %2:vgpr_32 = V_MOV_B32_e32 1078523331, implicit $exec88# GFX10-NOLIS: %3:vgpr_32 = V_FMAMK_F16 killed %0.sub0, 1078523331, killed %1, implicit $mode, implicit $exec89# GFX10-LIS: %3:vgpr_32 = V_FMAMK_F16 %0.sub0, 1078523331, %1, implicit $mode, implicit $exec90---91name:            test_fmamk_reg_imm_f16__use_imm_after_mac92tracksRegLiveness: true93body:             |94  bb.0:95 96    %0:vreg_64 = IMPLICIT_DEF97    %1:vgpr_32 = COPY %0.sub198    %2:vgpr_32 = V_MOV_B32_e32 1078523331, implicit $exec99    %3:vgpr_32 = V_FMAC_F16_e32 killed %0.sub0, %2, killed %1, implicit $mode, implicit $exec100    S_NOP 0, implicit %2101 102...103 104# GFX10-LABEL: name: test_fmamk_reg_imm_f16__use_imm_before_after_mac105# GFX10: %0:vreg_64 = IMPLICIT_DEF106# GFX10: %1:vgpr_32 = COPY %0.sub1107# GFX10: %2:vgpr_32 = V_MOV_B32_e32 1078523331, implicit $exec108# GFX10: S_NOP 0, implicit %2109# GFX10-NOLIS: %3:vgpr_32 = V_FMAMK_F16 killed %0.sub0, 1078523331, killed %1, implicit $mode, implicit $exec110# GFX10-LIS: %3:vgpr_32 = V_FMAMK_F16 %0.sub0, 1078523331, %1, implicit $mode, implicit $exec111# GFX10: S_NOP 0, implicit %2112 113---114name:            test_fmamk_reg_imm_f16__use_imm_before_after_mac115tracksRegLiveness: true116body:             |117  bb.0:118 119    %0:vreg_64 = IMPLICIT_DEF120    %1:vgpr_32 = COPY %0.sub1121    %2:vgpr_32 = V_MOV_B32_e32 1078523331, implicit $exec122    S_NOP 0, implicit %2123    %3:vgpr_32 = V_FMAC_F16_e32 killed %0.sub0, %2, killed %1, implicit $mode, implicit $exec124    S_NOP 0, implicit %2125 126...127 128# GFX10-LABEL: name: test_fmamk_imm_reg_f16129# GFX10: dead %2:vgpr_32 = IMPLICIT_DEF130# GFX10-NOT: V_MOV_B32131# GFX10-NOLIS: V_FMAMK_F16 killed %0.sub0, 1078523331, killed %1, implicit $mode, implicit $exec132# GFX10-LIS: V_FMAMK_F16 %0.sub0, 1078523331, %1, implicit $mode, implicit $exec133---134name:            test_fmamk_imm_reg_f16135tracksRegLiveness: true136registers:137  - { id: 0, class: vreg_64 }138  - { id: 1, class: vgpr_32 }139  - { id: 2, class: vgpr_32 }140  - { id: 3, class: vgpr_32 }141body:             |142  bb.0:143 144    %0 = IMPLICIT_DEF145    %1 = COPY %0.sub1146    %2 = V_MOV_B32_e32 1078523331, implicit $exec147    %3 = V_FMAC_F16_e32 %2, killed %0.sub0, killed %1, implicit $mode, implicit $exec148 149...150 151# GFX10-LABEL: name: test_fmaak_f16152# GFX10: %1:vgpr_32 = V_MOV_B32_e32 1078523331, implicit $exec153# GFX10-NOT: V_MOV_B32154# GFX10-NOLIS: V_FMAAK_F16 killed %0.sub0, %0.sub1, 1078523331, implicit $mode, implicit $exec155# GFX10-LIS: V_FMAAK_F16 %0.sub0, %0.sub1, 1078523331, implicit $mode, implicit $exec156---157name:            test_fmaak_f16158tracksRegLiveness: true159registers:160  - { id: 0, class: vreg_64 }161  - { id: 1, class: vgpr_32 }162  - { id: 2, class: vgpr_32 }163body:             |164  bb.0:165 166    %0 = IMPLICIT_DEF167    %1 = V_MOV_B32_e32 1078523331, implicit $exec168    %2 = V_FMAC_F16_e32 killed %0.sub0, %0.sub1, %1, implicit $mode, implicit $exec169    S_ENDPGM 0, implicit %1170...171 172# GFX10-LABEL: name: test_fmaak_inline_literal_f16173# GFX10: %1:vgpr_32 = V_MOV_B32_e32 49664, implicit $exec174# GFX10-NOT: V_MOV_B32175# GFX10-NOLIS: %2:vgpr_32 = V_FMAAK_F16 16384, killed %0, 49664, implicit $mode, implicit $exec176# GFX10-LIS: %2:vgpr_32 = V_FMAAK_F16 16384, %0, 49664, implicit $mode, implicit $exec177 178---179name:            test_fmaak_inline_literal_f16180tracksRegLiveness: true181liveins:182  - { reg: '$vgpr0', virtual-reg: '%0' }183body:             |184  bb.0:185    liveins: $vgpr0186 187    %0:vgpr_32 = COPY killed $vgpr0188 189    %1:vgpr_32 = V_MOV_B32_e32 49664, implicit $exec190    %2:vgpr_32 = V_FMAC_F16_e32 16384, killed %0, %1, implicit $mode, implicit $exec191    S_ENDPGM 0, implicit %1192...193