brintos

brintos / llvm-project-archived public Read only

0
0
Text · 6.2 KiB · d49381c Raw
195 lines · plain
1# RUN: llc -mtriple=amdgcn -mcpu=gfx1010 -verify-machineinstrs -run-pass post-RA-hazard-rec -o - %s | FileCheck -check-prefix=GCN %s2# RUN: llc -mtriple=amdgcn -mcpu=gfx1100 -verify-machineinstrs -run-pass post-RA-hazard-rec -o - %s | FileCheck -check-prefix=GCN %s3# RUN: llc -mtriple=amdgcn -mcpu=gfx1200 -verify-machineinstrs -run-pass post-RA-hazard-rec -o - %s | FileCheck -check-prefixes=GCN %s4 5# GCN-LABEL: name: hazard_vcmpx_permlane166# GCN:      V_CMPX_LE_F32_nosdst_e327# GCN:      S_ADD_U328# GCN-NEXT: $vgpr1 = V_MOV_B32_e32 killed $vgpr1, implicit $exec9# GCN-NEXT: V_PERMLANE16_B32_e6410---11name:            hazard_vcmpx_permlane1612body:            |13  bb.0:14    successors: %bb.115    $vgpr0 = V_MOV_B32_e32 0, implicit $exec16    V_CMPX_LE_F32_nosdst_e32 0, $vgpr0, implicit-def $exec, implicit $mode, implicit $exec17    S_BRANCH %bb.118 19  bb.1:20    $vgpr1 = IMPLICIT_DEF21    $vgpr2 = IMPLICIT_DEF22    $sgpr0 = IMPLICIT_DEF23    $sgpr1 = S_ADD_U32 $sgpr0, 0, implicit-def $scc24    $vgpr1 = V_PERMLANE16_B32_e64 0, killed $vgpr1, 0, killed $sgpr1, 0, killed $sgpr0, $vgpr1, 0, implicit $exec25    S_ENDPGM 026...27 28# GCN-LABEL: name: hazard_vcmpx_permlanex1629# GCN:      V_CMPX_LE_F32_nosdst_e3230# GCN:      $vgpr1 = V_MOV_B32_e32 killed $vgpr1, implicit $exec31# GCN-NEXT: V_PERMLANEX16_B32_e6432---33name:            hazard_vcmpx_permlanex1634body:            |35  bb.0:36    successors: %bb.137    $vgpr0 = V_MOV_B32_e32 0, implicit $exec38    V_CMPX_LE_F32_nosdst_e32 0, $vgpr0, implicit-def $exec, implicit $mode, implicit $exec39    S_BRANCH %bb.140 41  bb.1:42    $vgpr1 = IMPLICIT_DEF43    $vgpr2 = IMPLICIT_DEF44    $sgpr0 = IMPLICIT_DEF45    $sgpr1 = IMPLICIT_DEF46    $vgpr1 = V_PERMLANEX16_B32_e64 0, killed $vgpr1, 0, killed $sgpr1, 0, killed $sgpr0, $vgpr1, 0, implicit $exec47    S_ENDPGM 048...49 50# GCN-LABEL: name: hazard_vcmpx_permlane16_v_nop51# GCN:      V_CMPX_LE_F32_nosdst_e3252# GCN:      V_NOP53# GCN-NEXT: $vgpr1 = V_MOV_B32_e32 killed $vgpr1, implicit $exec54# GFX12-NEXT: S_WAITCNT_DEPCTR55# GCN-NEXT: V_PERMLANE16_B32_e6456---57name:            hazard_vcmpx_permlane16_v_nop58body:            |59  bb.0:60    successors: %bb.161    $vgpr0 = V_MOV_B32_e32 0, implicit $exec62    V_CMPX_LE_F32_nosdst_e32 0, $vgpr0, implicit-def $exec, implicit $mode, implicit $exec63    S_BRANCH %bb.164 65  bb.1:66    $vgpr1 = IMPLICIT_DEF67    $vgpr2 = IMPLICIT_DEF68    $sgpr0 = IMPLICIT_DEF69    $sgpr1 = IMPLICIT_DEF70    V_NOP_e32 implicit $exec71    $vgpr1 = V_PERMLANE16_B32_e64 0, killed $vgpr1, 0, killed $sgpr1, 0, killed $sgpr0, $vgpr1, 0, implicit $exec72    S_ENDPGM 073...74 75# GCN-LABEL: name: hazard_vcmpx_permlane16_far76# GCN:      V_CMPX_LE_F32_nosdst_e3277# GCN:      $vgpr1 = V_MOV_B32_e32 killed $vgpr1, implicit $exec78# GCN-NEXT: V_PERMLANE16_B32_e6479---80name:            hazard_vcmpx_permlane16_far81body:            |82  bb.0:83    successors: %bb.184    $vgpr0 = V_MOV_B32_e32 0, implicit $exec85    V_CMPX_LE_F32_nosdst_e32 0, $vgpr0, implicit-def $exec, implicit $mode, implicit $exec86    S_BRANCH %bb.187 88  bb.1:89    $vgpr1 = IMPLICIT_DEF90    $vgpr2 = IMPLICIT_DEF91    $sgpr0 = IMPLICIT_DEF92    $sgpr1 = IMPLICIT_DEF93    V_NOP_e32 implicit $exec94    V_NOP_e32 implicit $exec95    V_NOP_e32 implicit $exec96    V_NOP_e32 implicit $exec97    V_NOP_e32 implicit $exec98    V_NOP_e32 implicit $exec99    V_NOP_e32 implicit $exec100    V_NOP_e32 implicit $exec101    V_NOP_e32 implicit $exec102    $vgpr1 = V_PERMLANE16_B32_e64 0, killed $vgpr1, 0, killed $sgpr1, 0, killed $sgpr0, $vgpr1, 0, implicit $exec103    S_ENDPGM 0104...105 106# GCN-LABEL: name: hazard_vcmpx_permlane16_no_hazard107# GCN:      V_CMPX_LE_F32_nosdst_e32108# GCN:      V_ADD_F32109# GCN-NEXT: V_PERMLANE16_B32_e64110---111name:            hazard_vcmpx_permlane16_no_hazard112body:            |113  bb.0:114    successors: %bb.1115    $vgpr0 = V_MOV_B32_e32 0, implicit $exec116    V_CMPX_LE_F32_nosdst_e32 0, $vgpr0, implicit-def $exec, implicit $mode, implicit $exec117    S_BRANCH %bb.1118 119  bb.1:120    $vgpr1 = IMPLICIT_DEF121    $sgpr0 = IMPLICIT_DEF122    $sgpr1 = IMPLICIT_DEF123    $vgpr2 = V_ADD_F32_e32 $vgpr1, $vgpr1,  implicit $mode, implicit $exec124    $vgpr1 = V_PERMLANE16_B32_e64 0, killed $vgpr1, 0, killed $sgpr1, 0, killed $sgpr0, $vgpr1, 0, implicit $exec125    S_ENDPGM 0126...127 128# GCN-LABEL: name: hazard_vcmpx_permlane16_undef_src129# GCN:      V_CMPX_LE_F32_nosdst_e32130# GCN:      S_ADD_U32131# GCN-NEXT: dead $vgpr1 = V_MOV_B32_e32 undef $vgpr1, implicit $exec132# GCN-NEXT: V_PERMLANE16_B32_e64133---134name:            hazard_vcmpx_permlane16_undef_src135body:            |136  bb.0:137    successors: %bb.1138    $vgpr0 = V_MOV_B32_e32 0, implicit $exec139    V_CMPX_LE_F32_nosdst_e32 0, $vgpr0, implicit-def $exec, implicit $mode, implicit $exec140    S_BRANCH %bb.1141 142  bb.1:143    $vgpr2 = IMPLICIT_DEF144    $sgpr0 = IMPLICIT_DEF145    $sgpr1 = S_ADD_U32 $sgpr0, 0, implicit-def $scc146    $vgpr1 = V_PERMLANE16_B32_e64 0, undef $vgpr1, 0, killed $sgpr1, 0, killed $sgpr0, undef $vgpr1, 0, implicit $exec147    S_ENDPGM 0148...149 150# GCN-LABEL: name: hazard_vcmpx_e64_permlane16151# GCN:      V_CMPX_LE_F32_nosdst_e64152# GCN:      S_ADD_U32153# GCN-NEXT: $vgpr1 = V_MOV_B32_e32 killed $vgpr1, implicit $exec154# GCN-NEXT: V_PERMLANE16_B32_e64155---156name:            hazard_vcmpx_e64_permlane16157body:            |158  bb.0:159    successors: %bb.1160    $vgpr0 = V_MOV_B32_e32 0, implicit $exec161    V_CMPX_LE_F32_nosdst_e64 0, 0, 0, $vgpr0, 0, implicit-def $exec, implicit $mode, implicit $exec162    S_BRANCH %bb.1163 164  bb.1:165    $vgpr1 = IMPLICIT_DEF166    $vgpr2 = IMPLICIT_DEF167    $sgpr0 = IMPLICIT_DEF168    $sgpr1 = S_ADD_U32 $sgpr0, 0, implicit-def $scc169    $vgpr1 = V_PERMLANE16_B32_e64 0, killed $vgpr1, 0, killed $sgpr1, 0, killed $sgpr0, $vgpr1, 0, implicit $exec170    S_ENDPGM 0171...172 173# GCN-LABEL: name: hazard_vcmpx_permlane64174# GCN:      V_CMPX_LE_F32_nosdst_e32175# GCN:      S_ADD_U32176# GCN-NEXT: $vgpr1 = V_MOV_B32_e32 killed $vgpr1, implicit $exec177# GCN-NEXT: V_PERMLANE64_B32178---179name:            hazard_vcmpx_permlane64180body:            |181  bb.0:182    successors: %bb.1183    $vgpr0 = V_MOV_B32_e32 0, implicit $exec184    V_CMPX_LE_F32_nosdst_e32 0, $vgpr0, implicit-def $exec, implicit $mode, implicit $exec185    S_BRANCH %bb.1186 187  bb.1:188    $vgpr1 = IMPLICIT_DEF189    $vgpr2 = IMPLICIT_DEF190    $sgpr0 = IMPLICIT_DEF191    $sgpr1 = S_ADD_U32 $sgpr0, 0, implicit-def $scc192    $vgpr1 = V_PERMLANE64_B32 killed $vgpr1, implicit $exec193    S_ENDPGM 0194...195