brintos

brintos / llvm-project-archived public Read only

0
0
Text · 5.2 KiB · affb5f5 Raw
169 lines · plain
1# RUN: llc -mtriple=amdgcn -mcpu=gfx1200 -verify-machineinstrs -run-pass post-RA-hazard-rec -o - %s | FileCheck -check-prefix=GCN %s2 3# GCN-LABEL: name: hazard_vcmpx_permlane16var4# GCN:      V_CMPX_LE_F32_nosdst_e325# GCN:      S_ADD_U326# GCN-NEXT: $vgpr1 = V_MOV_B32_e32 killed $vgpr1, implicit $exec7# GCN-NEXT: V_PERMLANE16_VAR_B32_e648---9name:            hazard_vcmpx_permlane16var10body:            |11  bb.0:12    successors: %bb.113    $vgpr0 = V_MOV_B32_e32 0, implicit $exec14    V_CMPX_LE_F32_nosdst_e32 0, $vgpr0, implicit-def $exec, implicit $mode, implicit $exec15    S_BRANCH %bb.116 17  bb.1:18    $vgpr1 = IMPLICIT_DEF19    $vgpr2 = IMPLICIT_DEF20    $sgpr0 = IMPLICIT_DEF21    $sgpr1 = S_ADD_U32 $sgpr0, 0, implicit-def $scc22    $vgpr1 = V_PERMLANE16_VAR_B32_e64 0, killed $vgpr1, 0, killed $vgpr2, $vgpr1, 0, implicit $exec23    S_ENDPGM 024...25 26# GCN-LABEL: name: hazard_vcmpx_permlanex16var27# GCN:      V_CMPX_LE_F32_nosdst_e3228# GCN:      $vgpr1 = V_MOV_B32_e32 killed $vgpr1, implicit $exec29# GCN-NEXT: V_PERMLANEX16_VAR_B32_e6430---31name:            hazard_vcmpx_permlanex16var32body:            |33  bb.0:34    successors: %bb.135    $vgpr0 = V_MOV_B32_e32 0, implicit $exec36    V_CMPX_LE_F32_nosdst_e32 0, $vgpr0, implicit-def $exec, implicit $mode, implicit $exec37    S_BRANCH %bb.138 39  bb.1:40    $vgpr1 = IMPLICIT_DEF41    $vgpr2 = IMPLICIT_DEF42    $sgpr0 = IMPLICIT_DEF43    $sgpr1 = IMPLICIT_DEF44    $vgpr1 = V_PERMLANEX16_VAR_B32_e64 0, killed $vgpr1, 0, killed $vgpr2, $vgpr1, 0, implicit $exec45    S_ENDPGM 046...47 48# GCN-LABEL: name: hazard_vcmpx_permlane16var_v_nop49# GCN:      V_CMPX_LE_F32_nosdst_e3250# GCN:      V_NOP51# GCN-NEXT: $vgpr1 = V_MOV_B32_e32 killed $vgpr1, implicit $exec52# GCN-NEXT: V_PERMLANE16_VAR_B32_e6453---54name:            hazard_vcmpx_permlane16var_v_nop55body:            |56  bb.0:57    successors: %bb.158    $vgpr0 = V_MOV_B32_e32 0, implicit $exec59    V_CMPX_LE_F32_nosdst_e32 0, $vgpr0, implicit-def $exec, implicit $mode, implicit $exec60    S_BRANCH %bb.161 62  bb.1:63    $vgpr1 = IMPLICIT_DEF64    $vgpr2 = IMPLICIT_DEF65    $sgpr0 = IMPLICIT_DEF66    $sgpr1 = IMPLICIT_DEF67    V_NOP_e32 implicit $exec68    $vgpr1 = V_PERMLANE16_VAR_B32_e64 0, killed $vgpr1, 0, killed $vgpr2, $vgpr1, 0, implicit $exec69    S_ENDPGM 070...71 72# GCN-LABEL: name: hazard_vcmpx_permlane16var_far73# GCN:      V_CMPX_LE_F32_nosdst_e3274# GCN:      $vgpr1 = V_MOV_B32_e32 killed $vgpr1, implicit $exec75# GCN-NEXT: V_PERMLANE16_VAR_B32_e6476---77name:            hazard_vcmpx_permlane16var_far78body:            |79  bb.0:80    successors: %bb.181    $vgpr0 = V_MOV_B32_e32 0, implicit $exec82    V_CMPX_LE_F32_nosdst_e32 0, $vgpr0, implicit-def $exec, implicit $mode, implicit $exec83    S_BRANCH %bb.184 85  bb.1:86    $vgpr1 = IMPLICIT_DEF87    $vgpr2 = IMPLICIT_DEF88    $sgpr0 = IMPLICIT_DEF89    $sgpr1 = IMPLICIT_DEF90    V_NOP_e32 implicit $exec91    V_NOP_e32 implicit $exec92    V_NOP_e32 implicit $exec93    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    $vgpr1 = V_PERMLANE16_VAR_B32_e64 0, killed $vgpr1, 0, killed $vgpr1, $vgpr1, 0, implicit $exec100    S_ENDPGM 0101...102 103# GCN-LABEL: name: hazard_vcmpx_permlane16var_no_hazard104# GCN:      V_CMPX_LE_F32_nosdst_e32105# GCN:      V_ADD_F32106# GCN-NEXT: V_PERMLANE16_VAR_B32_e64107---108name:            hazard_vcmpx_permlane16var_no_hazard109body:            |110  bb.0:111    successors: %bb.1112    $vgpr0 = V_MOV_B32_e32 0, implicit $exec113    V_CMPX_LE_F32_nosdst_e32 0, $vgpr0, implicit-def $exec, implicit $mode, implicit $exec114    S_BRANCH %bb.1115 116  bb.1:117    $vgpr1 = IMPLICIT_DEF118    $sgpr0 = IMPLICIT_DEF119    $sgpr1 = IMPLICIT_DEF120    $vgpr2 = V_ADD_F32_e32 $vgpr1, $vgpr1,  implicit $mode, implicit $exec121    $vgpr1 = V_PERMLANE16_VAR_B32_e64 0, killed $vgpr1, 0, killed $vgpr2, $vgpr1, 0, implicit $exec122    S_ENDPGM 0123...124 125# GCN-LABEL: name: hazard_vcmpx_permlane16var_undef_src126# GCN:      V_CMPX_LE_F32_nosdst_e32127# GCN:      S_ADD_U32128# GCN-NEXT: dead $vgpr1 = V_MOV_B32_e32 undef $vgpr1, implicit $exec129# GCN-NEXT: V_PERMLANE16_VAR_B32_e64130---131name:            hazard_vcmpx_permlane16var_undef_src132body:            |133  bb.0:134    successors: %bb.1135    $vgpr0 = V_MOV_B32_e32 0, implicit $exec136    V_CMPX_LE_F32_nosdst_e32 0, $vgpr0, implicit-def $exec, implicit $mode, implicit $exec137    S_BRANCH %bb.1138 139  bb.1:140    $vgpr2 = IMPLICIT_DEF141    $sgpr0 = IMPLICIT_DEF142    $sgpr1 = S_ADD_U32 $sgpr0, 0, implicit-def $scc143    $vgpr1 = V_PERMLANE16_VAR_B32_e64 0, undef $vgpr1, 0, killed $vgpr2, undef $vgpr1, 0, implicit $exec144    S_ENDPGM 0145...146 147# GCN-LABEL: name: hazard_vcmpx_e64_permlane16var148# GCN:      V_CMPX_LE_F32_nosdst_e64149# GCN:      S_ADD_U32150# GCN-NEXT: $vgpr1 = V_MOV_B32_e32 killed $vgpr1, implicit $exec151# GCN-NEXT: V_PERMLANE16_VAR_B32_e64152---153name:            hazard_vcmpx_e64_permlane16var154body:            |155  bb.0:156    successors: %bb.1157    $vgpr0 = V_MOV_B32_e32 0, implicit $exec158    V_CMPX_LE_F32_nosdst_e64 0, 0, 0, $vgpr0, 0, implicit-def $exec, implicit $mode, implicit $exec159    S_BRANCH %bb.1160 161  bb.1:162    $vgpr1 = IMPLICIT_DEF163    $vgpr2 = IMPLICIT_DEF164    $sgpr0 = IMPLICIT_DEF165    $sgpr1 = S_ADD_U32 $sgpr0, 0, implicit-def $scc166    $vgpr1 = V_PERMLANE16_VAR_B32_e64 0, killed $vgpr1, 0, killed $vgpr2, $vgpr1, 0, implicit $exec167    S_ENDPGM 0168...169