brintos

brintos / llvm-project-archived public Read only

0
0
Text · 7.1 KiB · 1c444ec Raw
237 lines · plain
1# RUN: llc -mtriple=amdgcn -mcpu=gfx1010 %s -run-pass twoaddressinstruction -verify-machineinstrs -o - | FileCheck --check-prefixes=GCN %s2# RUN: llc -mtriple=amdgcn -mcpu=gfx1100 %s -run-pass twoaddressinstruction -verify-machineinstrs -o - | FileCheck --check-prefixes=GCN %s3# RUN: llc -mtriple=amdgcn -mcpu=gfx1010 %s --passes=two-address-instruction -verify-each -o - | FileCheck --check-prefixes=GCN %s4# RUN: llc -mtriple=amdgcn -mcpu=gfx1100 %s --passes=two-address-instruction -verify-each -o - | FileCheck --check-prefixes=GCN %s5 6# GCN-LABEL: name: test_fmamk_reg_imm_f327# GCN: %2:vgpr_32 = IMPLICIT_DEF8# GCN-NOT: V_MOV_B329# GCN: V_FMAMK_F32 killed %0.sub0, 1078523331, killed %1, implicit $mode, implicit $exec10---11name:            test_fmamk_reg_imm_f3212registers:13  - { id: 0, class: vreg_64 }14  - { id: 1, class: vgpr_32 }15  - { id: 2, class: vgpr_32 }16  - { id: 3, class: vgpr_32 }17body:             |18  bb.0:19 20    %0 = IMPLICIT_DEF21    %1 = COPY %0.sub122    %2 = V_MOV_B32_e32 1078523331, implicit $exec23    %3 = V_FMAC_F32_e32 killed %0.sub0, %2, killed %1, implicit $mode, implicit $exec24 25...26 27# GCN-LABEL: name: test_fmamk_imm_reg_f3228# GCN: %2:vgpr_32 = IMPLICIT_DEF29# GCN-NOT: V_MOV_B3230# GCN: V_FMAMK_F32 killed %0.sub0, 1078523331, killed %1, implicit $mode, implicit $exec31---32name:            test_fmamk_imm_reg_f3233registers:34  - { id: 0, class: vreg_64 }35  - { id: 1, class: vgpr_32 }36  - { id: 2, class: vgpr_32 }37  - { id: 3, class: vgpr_32 }38body:             |39  bb.0:40 41    %0 = IMPLICIT_DEF42    %1 = COPY %0.sub143    %2 = V_MOV_B32_e32 1078523331, implicit $exec44    %3 = V_FMAC_F32_e32 %2, killed %0.sub0, killed %1, implicit $mode, implicit $exec45 46...47 48# GCN-LABEL: name: test_fmaak_f3249# GCN: %1:vgpr_32 = V_MOV_B32_e32 1078523331, implicit $exec50# GCN-NOT: V_MOV_B3251# GCN: V_FMAAK_F32 killed %0.sub0, %0.sub1, 1078523331, implicit $mode, implicit $exec52---53name:            test_fmaak_f3254registers:55  - { id: 0, class: vreg_64 }56  - { id: 1, class: vgpr_32 }57  - { id: 2, class: vgpr_32 }58body:             |59  bb.0:60 61    %0 = IMPLICIT_DEF62    %1 = V_MOV_B32_e32 1078523331, implicit $exec63    %2 = V_FMAC_F32_e32 killed %0.sub0, %0.sub1, %1, implicit $mode, implicit $exec64    S_ENDPGM 0, implicit %165...66 67 68# GCN-LABEL: name: test_fmaak_sgpr_src0_f3269# GCN: %1:vgpr_32 = IMPLICIT_DEF70# GCN-NOT: V_MOV_B3271# GCN: %3:vgpr_32 = V_FMAMK_F32 killed %0, 1078523331, %2, implicit $mode, implicit $exec72 73---74name:            test_fmaak_sgpr_src0_f3275registers:76  - { id: 0, class: sreg_32_xm0 }77  - { id: 1, class: vgpr_32}78  - { id: 2, class: vgpr_32 }79  - { id: 3, class: vgpr_32 }80body:             |81  bb.0:82 83    %0 = IMPLICIT_DEF84    %1 = V_MOV_B32_e32 1078523331, implicit $exec85    %2 = IMPLICIT_DEF86    %3 = V_FMAC_F32_e32 killed %0, %1, %2, implicit $mode, implicit $exec87    S_ENDPGM 0, implicit %288...89 90# GCN-LABEL: name: test_fmaak_inlineimm_src0_f3291# GCN: %0:vgpr_32 = IMPLICIT_DEF92# GCN-NOT: V_MOV_B3293# GCN: %2:vgpr_32 = V_FMAMK_F32 1073741824, 1078523331, %1, implicit $mode, implicit $exec94 95---96name:            test_fmaak_inlineimm_src0_f3297registers:98  - { id: 0, class: vgpr_32}99  - { id: 1, class: vgpr_32 }100  - { id: 2, class: vgpr_32 }101body:             |102  bb.0:103 104    %0 = V_MOV_B32_e32 1078523331, implicit $exec105    %1 = IMPLICIT_DEF106    %2 = V_FMAC_F32_e32 1073741824, %0, %1, implicit $mode, implicit $exec107    S_ENDPGM 0, implicit %1108...109 110# GCN-LABEL: name: test_fmaak_otherimm_src0_f32111# GCN: %2:vgpr_32 = V_FMAMK_F32 %0, 1120403456, %1, implicit $mode, implicit $exec112 113---114name:            test_fmaak_otherimm_src0_f32115registers:116  - { id: 0, class: vgpr_32}117  - { id: 1, class: vgpr_32 }118  - { id: 2, class: vgpr_32 }119body:             |120  bb.0:121 122    %0 = V_MOV_B32_e32 1078523331, implicit $exec123    %1 = IMPLICIT_DEF124    %2 = V_FMAC_F32_e32 1120403456, %0, %1, implicit $mode, implicit $exec125    S_ENDPGM 0, implicit %1126...127 128# GCN-LABEL: name: test_fmaak_other_constantlike_src0_f32129# GCN: %2:vgpr_32 = COPY %1130# GCN: %2:vgpr_32 = V_FMAC_F32_e32 %stack.0, %0, %2, implicit $mode, implicit $exec131---132name:            test_fmaak_other_constantlike_src0_f32133tracksRegLiveness: true134registers:135  - { id: 0, class: vgpr_32 }136  - { id: 1, class: vgpr_32 }137  - { id: 2, class: vgpr_32 }138machineFunctionInfo:139  stackPtrOffsetReg: $sgpr32140stack:141  - { id: 0, name: "", type: default, offset: 0, size: 128, alignment: 8,142      callee-saved-register: '', local-offset: 0, debug-info-variable: '',143      debug-info-expression: '', debug-info-location: '' }144body:             |145  bb.0:146 147    %0 = V_MOV_B32_e32 1078523331, implicit $exec148    %1 = IMPLICIT_DEF149    %2 = V_FMAC_F32_e32 %stack.0, %0, %1, implicit $mode, implicit $exec150 151...152 153 154# GCN-LABEL: name: test_fmamk_reg_imm_f32_2_folds155# GCN: %2:vgpr_32 = IMPLICIT_DEF156# GCN-NOT: V_MOV_B32157# GCN: V_FMAMK_F32 %0.sub0, 1078523331, %1, implicit $mode, implicit $exec158# GCN: V_FMAMK_F32 killed %0.sub0, 1078523331, killed %1, implicit $mode, implicit $exec159---160name:            test_fmamk_reg_imm_f32_2_folds161registers:162  - { id: 0, class: vreg_64 }163  - { id: 1, class: vgpr_32 }164  - { id: 2, class: vgpr_32 }165  - { id: 3, class: vgpr_32 }166  - { id: 4, class: vgpr_32 }167body:             |168  bb.0:169 170    %0 = IMPLICIT_DEF171    %1 = COPY %0.sub1172    %2 = V_MOV_B32_e32 1078523331, implicit $exec173    %3 = V_FMAC_F32_e32 %0.sub0, %2, %1, implicit $mode, implicit $exec174    %4 = V_FMAC_F32_e32 killed %0.sub0, %2, killed %1, implicit $mode, implicit $exec175 176...177 178# GCN-LABEL: name: test_fmamk_reg_imm_f32_used_imm179# GCN: %2:vgpr_32 = V_MOV_B32_e32 1078523331, implicit $exec180# GCN: V_FMAMK_F32 killed %0.sub0, 1078523331, killed %1, implicit $mode, implicit $exec181---182name:            test_fmamk_reg_imm_f32_used_imm183registers:184  - { id: 0, class: vreg_64 }185  - { id: 1, class: vgpr_32 }186  - { id: 2, class: vgpr_32 }187  - { id: 3, class: vgpr_32 }188body:             |189  bb.0:190 191    %0 = IMPLICIT_DEF192    %1 = COPY %0.sub1193    %2 = V_MOV_B32_e32 1078523331, implicit $exec194    %3 = V_FMAC_F32_e32 killed %0.sub0, %2, killed %1, implicit $mode, implicit $exec195    S_NOP 0, implicit %2196 197...198 199# GCN-LABEL: name: test_fma_src0mods200# GCN: %3:vgpr_32 = V_FMA_F32_e64 1, %0, 0, %1, 0, %2, 0, 0, implicit $mode, implicit $exec201---202name: test_fma_src0mods203body: |204  bb.0:205    %0:vgpr_32 = IMPLICIT_DEF206    %1:vgpr_32 = IMPLICIT_DEF207    %2:vgpr_32 = IMPLICIT_DEF208    %3:vgpr_32 = V_FMAC_F32_e64 1, %0, 0, %1, 0, %2, 0, 0, implicit $mode, implicit $exec209    S_ENDPGM 0, implicit %2210...211 212# GCN-LABEL: name: test_fma_src1mods213# GCN: %3:vgpr_32 = V_FMA_F32_e64 0, %0, 1, %1, 0, %2, 0, 0, implicit $mode, implicit $exec214---215name: test_fma_src1mods216body: |217  bb.0:218    %0:vgpr_32 = IMPLICIT_DEF219    %1:vgpr_32 = IMPLICIT_DEF220    %2:vgpr_32 = IMPLICIT_DEF221    %3:vgpr_32 = V_FMAC_F32_e64 0, %0, 1, %1, 0, %2, 0, 0, implicit $mode, implicit $exec222    S_ENDPGM 0, implicit %2223...224 225# GCN-LABEL: name: test_fma_src2mods226# GCN: %3:vgpr_32 = V_FMA_F32_e64 0, %0, 0, %1, 1, %2, 0, 0, implicit $mode, implicit $exec227---228name: test_fma_src2mods229body: |230  bb.0:231    %0:vgpr_32 = IMPLICIT_DEF232    %1:vgpr_32 = IMPLICIT_DEF233    %2:vgpr_32 = IMPLICIT_DEF234    %3:vgpr_32 = V_FMAC_F32_e64 0, %0, 0, %1, 1, %2, 0, 0, implicit $mode, implicit $exec235    S_ENDPGM 0, implicit %2236...237