brintos

brintos / llvm-project-archived public Read only

0
0
Text · 4.9 KiB · 1794a9c Raw
167 lines · plain
1# RUN: llc -mtriple=amdgcn -mcpu=gfx1010 -mattr=+wavefrontsize64 -verify-machineinstrs -run-pass post-RA-hazard-rec -o - %s | FileCheck -check-prefixes=GCN,GFX10 %s2# RUN: llc -mtriple=amdgcn -mcpu=gfx1100 -mattr=+wavefrontsize64 -verify-machineinstrs -run-pass post-RA-hazard-rec -o - %s | FileCheck -check-prefix=GCN %s3 4# GCN-LABEL: name: hazard_vcmpx_smov_exec_lo5# GCN:        $sgpr0 = S_MOV_B32 $exec_lo6# GFX10-NEXT: S_WAITCNT_DEPCTR 653107# GCN-NEXT:   V_CMPX_LE_F32_nosdst_e328---9name:            hazard_vcmpx_smov_exec_lo10body:            |11  bb.0:12    successors: %bb.113    $vgpr0 = V_MOV_B32_e32 0, implicit $exec14    $sgpr0 = S_MOV_B32 $exec_lo15    V_CMPX_LE_F32_nosdst_e32 0, $vgpr0, implicit-def $exec, implicit $mode, implicit $exec16    S_BRANCH %bb.117 18  bb.1:19    S_ENDPGM 020...21 22# GCN-LABEL: name: hazard_vcmpx_smov_exec23# GCN:        $sgpr0_sgpr1 = S_MOV_B64 $exec24# GFX10-NEXT: S_WAITCNT_DEPCTR 6531025# GCN-NEXT:   V_CMPX_LE_F32_nosdst_e3226---27name:            hazard_vcmpx_smov_exec28body:            |29  bb.0:30    successors: %bb.131    $vgpr0 = V_MOV_B32_e32 0, implicit $exec32    $sgpr0_sgpr1 = S_MOV_B64 $exec33    V_CMPX_LE_F32_nosdst_e32 0, $vgpr0, implicit-def $exec, implicit $mode, implicit $exec34    S_BRANCH %bb.135 36  bb.1:37    S_ENDPGM 038...39 40# GCN-LABEL: name: no_hazard_vcmpx_vmov_exec_lo41# GCN:      $vgpr0 = V_MOV_B32_e32 $exec_lo, implicit $exec42# GCN-NEXT: V_CMPX_LE_F32_nosdst_e3243---44name:            no_hazard_vcmpx_vmov_exec_lo45body:            |46  bb.0:47    successors: %bb.148    $vgpr0 = V_MOV_B32_e32 $exec_lo, implicit $exec49    V_CMPX_LE_F32_nosdst_e32 0, $vgpr0, implicit-def $exec, implicit $mode, implicit $exec50    S_BRANCH %bb.151 52  bb.1:53    S_ENDPGM 054...55 56# GCN-LABEL: name: no_hazard_vcmpx_valu_impuse_exec57# GCN:      $vgpr0 = V_MOV_B32_e32 0, implicit $exec58# GCN-NEXT: V_CMPX_LE_F32_nosdst_e3259---60name:            no_hazard_vcmpx_valu_impuse_exec61body:            |62  bb.0:63    successors: %bb.164    $vgpr0 = V_MOV_B32_e32 0, implicit $exec65    V_CMPX_LE_F32_nosdst_e32 0, $vgpr0, implicit-def $exec, implicit $mode, implicit $exec66    S_BRANCH %bb.167 68  bb.1:69    S_ENDPGM 070...71 72# GCN-LABEL: name: no_hazard_vcmpx_smov_exec_lo_valu_writes_sgpr_imp73# GCN:      $sgpr0 = S_MOV_B32 $exec_lo74# GCN-NEXT: $vgpr0 = V_ADDC_U32_e32 0, $vgpr0, implicit-def $vcc, implicit $vcc, implicit $exec75# GCN-NEXT: V_CMPX_LE_F32_nosdst_e3276---77name:            no_hazard_vcmpx_smov_exec_lo_valu_writes_sgpr_imp78body:            |79  bb.0:80    successors: %bb.181    $vgpr0 = V_MOV_B32_e32 0, implicit $exec82    $sgpr0 = S_MOV_B32 $exec_lo83    $vgpr0 = V_ADDC_U32_e32 0, $vgpr0, implicit-def $vcc, implicit $vcc, implicit $exec84    V_CMPX_LE_F32_nosdst_e32 0, $vgpr0, implicit-def $exec, implicit $mode, implicit $exec85    S_BRANCH %bb.186 87  bb.1:88    S_ENDPGM 089...90 91# GCN-LABEL: name: no_hazard_vcmpx_smov_exec_lo_valu_writes_sgpr_exp92# GCN:      $sgpr0 = S_MOV_B32 $exec_lo93# GCN-NEXT: $sgpr0_sgpr1 = V_CMP_EQ_U32_e64 $vgpr0, 0, implicit $exec94# GCN-NEXT: V_CMPX_LE_F32_nosdst_e3295---96name:            no_hazard_vcmpx_smov_exec_lo_valu_writes_sgpr_exp97body:            |98  bb.0:99    successors: %bb.1100    $vgpr0 = V_MOV_B32_e32 0, implicit $exec101    $sgpr0 = S_MOV_B32 $exec_lo102    $sgpr0_sgpr1 = V_CMP_EQ_U32_e64 $vgpr0, 0, implicit $exec103    V_CMPX_LE_F32_nosdst_e32 0, $vgpr0, implicit-def $exec, implicit $mode, implicit $exec104    S_BRANCH %bb.1105 106  bb.1:107    S_ENDPGM 0108...109 110# GCN-LABEL: name: no_hazard_vcmpx_smov_exec_lo_depctr_fffe111# GCN:      $sgpr0 = S_MOV_B32 $exec_lo112# GCN-NEXT: S_WAITCNT_DEPCTR 65534113# GCN-NEXT: V_CMPX_LE_F32_nosdst_e32114---115name:            no_hazard_vcmpx_smov_exec_lo_depctr_fffe116body:            |117  bb.0:118    successors: %bb.1119    $vgpr0 = V_MOV_B32_e32 0, implicit $exec120    $sgpr0 = S_MOV_B32 $exec_lo121    S_WAITCNT_DEPCTR 65534122    V_CMPX_LE_F32_nosdst_e32 0, $vgpr0, implicit-def $exec, implicit $mode, implicit $exec123    S_BRANCH %bb.1124 125  bb.1:126    S_ENDPGM 0127...128 129# GCN-LABEL: name: hazard_vcmpx_smov_exec_lo_depctr_ffff130# GCN:        $sgpr0 = S_MOV_B32 $exec_lo131# GCN-NEXT:   S_WAITCNT_DEPCTR 65535132# GFX10-NEXT: S_WAITCNT_DEPCTR 65310133# GCN-NEXT:   V_CMPX_LE_F32_nosdst_e32134---135name:            hazard_vcmpx_smov_exec_lo_depctr_ffff136body:            |137  bb.0:138    successors: %bb.1139    $vgpr0 = V_MOV_B32_e32 0, implicit $exec140    $sgpr0 = S_MOV_B32 $exec_lo141    S_WAITCNT_DEPCTR 65535142    V_CMPX_LE_F32_nosdst_e32 0, $vgpr0, implicit-def $exec, implicit $mode, implicit $exec143    S_BRANCH %bb.1144 145  bb.1:146    S_ENDPGM 0147...148 149# GCN-LABEL: name: hazard_vcmpx_smov_exec_lo_depctr_effe150# GCN:        $sgpr0 = S_MOV_B32 $exec_lo151# GCN-NEXT:   S_WAITCNT_DEPCTR 61438152# GCN-NEXT:   V_CMPX_LE_F32_nosdst_e32153---154name:            hazard_vcmpx_smov_exec_lo_depctr_effe155body:            |156  bb.0:157    successors: %bb.1158    $vgpr0 = V_MOV_B32_e32 0, implicit $exec159    $sgpr0 = S_MOV_B32 $exec_lo160    S_WAITCNT_DEPCTR 61438161    V_CMPX_LE_F32_nosdst_e32 0, $vgpr0, implicit-def $exec, implicit $mode, implicit $exec162    S_BRANCH %bb.1163 164  bb.1:165    S_ENDPGM 0166...167