brintos

brintos / llvm-project-archived public Read only

0
0
Text · 6.0 KiB · fa27d68 Raw
133 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py2# RUN: llc -mtriple=amdgcn -mcpu=gfx1250 -run-pass post-RA-hazard-rec -o - %s | FileCheck -check-prefixes=GCN,GFX1250 %s3# RUN: llc -mtriple=amdgcn -mcpu=gfx1200 -run-pass post-RA-hazard-rec -o - %s | FileCheck -check-prefixes=GCN,GFX1200 %s4 5---6name:            trans_writes_valu_reads_hazard7body:            |8  bb.0:9    ; GFX1250-LABEL: name: trans_writes_valu_reads_hazard10    ; GFX1250: $vgpr1 = V_SQRT_F32_e32 $vgpr0, implicit $mode, implicit $exec11    ; GFX1250-NEXT: V_NOP_e32 implicit $exec12    ; GFX1250-NEXT: $vgpr3 = V_ADD_F32_e32 $vgpr1, $vgpr2, implicit $mode, implicit $exec13    ;14    ; GFX1200-LABEL: name: trans_writes_valu_reads_hazard15    ; GFX1200: $vgpr1 = V_SQRT_F32_e32 $vgpr0, implicit $mode, implicit $exec16    ; GFX1200-NEXT: $vgpr3 = V_ADD_F32_e32 $vgpr1, $vgpr2, implicit $mode, implicit $exec17    $vgpr1 = V_SQRT_F32_e32 $vgpr0, implicit $mode, implicit $exec18    $vgpr3 = V_ADD_F32_e32 $vgpr1, $vgpr2, implicit $mode, implicit $exec19...20 21---22name:            trans_writes_valu_valu_reads_hazard_covered23body:            |24  bb.0:25    ; GCN-LABEL: name: trans_writes_valu_valu_reads_hazard_covered26    ; GCN: $vgpr1 = V_SQRT_F32_e32 $vgpr0, implicit $mode, implicit $exec27    ; GCN-NEXT: $vgpr2 = V_ADD_F32_e32 $vgpr2, $vgpr3, implicit $mode, implicit $exec28    ; GCN-NEXT: $vgpr4 = V_ADD_F32_e32 $vgpr1, $vgpr2, implicit $mode, implicit $exec29    $vgpr1 = V_SQRT_F32_e32 $vgpr0, implicit $mode, implicit $exec30    $vgpr2 = V_ADD_F32_e32 $vgpr2, $vgpr3, implicit $mode, implicit $exec31    $vgpr4 = V_ADD_F32_e32 $vgpr1, $vgpr2, implicit $mode, implicit $exec32...33 34---35name:            trans_writes_salu_valu_reads_hazard36body:            |37  bb.0:38    ; GFX1250-LABEL: name: trans_writes_salu_valu_reads_hazard39    ; GFX1250: $vgpr1 = V_SQRT_F32_e32 $vgpr0, implicit $mode, implicit $exec40    ; GFX1250-NEXT: $sgpr2 = S_ADD_U32 $sgpr0, $sgpr1, implicit-def $scc41    ; GFX1250-NEXT: V_NOP_e32 implicit $exec42    ; GFX1250-NEXT: $vgpr4 = V_ADD_F32_e32 $vgpr1, $vgpr2, implicit $mode, implicit $exec43    ;44    ; GFX1200-LABEL: name: trans_writes_salu_valu_reads_hazard45    ; GFX1200: $vgpr1 = V_SQRT_F32_e32 $vgpr0, implicit $mode, implicit $exec46    ; GFX1200-NEXT: $sgpr2 = S_ADD_U32 $sgpr0, $sgpr1, implicit-def $scc47    ; GFX1200-NEXT: $vgpr4 = V_ADD_F32_e32 $vgpr1, $vgpr2, implicit $mode, implicit $exec48    $vgpr1 = V_SQRT_F32_e32 $vgpr0, implicit $mode, implicit $exec49    $sgpr2 = S_ADD_U32 $sgpr0, $sgpr1, implicit-def $scc50    $vgpr4 = V_ADD_F32_e32 $vgpr1, $vgpr2, implicit $mode, implicit $exec51...52 53---54name:            trans_no_hazard55body:            |56  bb.0:57    ; GCN-LABEL: name: trans_no_hazard58    ; GCN: $vgpr1 = V_SQRT_F32_e32 $vgpr0, implicit $mode, implicit $exec59    ; GCN-NEXT: $vgpr3 = V_ADD_F32_e32 $vgpr0, $vgpr2, implicit $mode, implicit $exec60    $vgpr1 = V_SQRT_F32_e32 $vgpr0, implicit $mode, implicit $exec61    $vgpr3 = V_ADD_F32_e32 $vgpr0, $vgpr2, implicit $mode, implicit $exec62...63 64---65name:            trans_reads_valu_writes_hazard66body:            |67  bb.0:68    ; GFX1250-LABEL: name: trans_reads_valu_writes_hazard69    ; GFX1250: $vgpr1 = V_COS_F32_e32 $vgpr0, implicit $mode, implicit $exec70    ; GFX1250-NEXT: V_NOP_e32 implicit $exec71    ; GFX1250-NEXT: $vgpr0 = V_ADD_F32_e32 $vgpr2, $vgpr3, implicit $mode, implicit $exec72    ;73    ; GFX1200-LABEL: name: trans_reads_valu_writes_hazard74    ; GFX1200: $vgpr1 = V_COS_F32_e32 $vgpr0, implicit $mode, implicit $exec75    ; GFX1200-NEXT: $vgpr0 = V_ADD_F32_e32 $vgpr2, $vgpr3, implicit $mode, implicit $exec76    $vgpr1 = V_COS_F32_e32 $vgpr0, implicit $mode, implicit $exec77    $vgpr0 = V_ADD_F32_e32 $vgpr2, $vgpr3, implicit $mode, implicit $exec78...79 80---81name:            trans_reads_valu_valu_writes_hazard_covered82body:            |83  bb.0:84    ; GCN-LABEL: name: trans_reads_valu_valu_writes_hazard_covered85    ; GCN: $vgpr1 = V_COS_F32_e32 $vgpr0, implicit $mode, implicit $exec86    ; GCN-NEXT: $vgpr2 = V_ADD_F32_e32 $vgpr2, $vgpr3, implicit $mode, implicit $exec87    ; GCN-NEXT: $vgpr0 = V_ADD_F32_e32 $vgpr4, $vgpr2, implicit $mode, implicit $exec88    $vgpr1 = V_COS_F32_e32 $vgpr0, implicit $mode, implicit $exec89    $vgpr2 = V_ADD_F32_e32 $vgpr2, $vgpr3, implicit $mode, implicit $exec90    $vgpr0 = V_ADD_F32_e32 $vgpr4, $vgpr2, implicit $mode, implicit $exec91...92 93---94name:            trans_reads__salu_valu_writes_hazard95body:            |96  bb.0:97    ; GFX1250-LABEL: name: trans_reads__salu_valu_writes_hazard98    ; GFX1250: $vgpr1 = V_COS_F32_e32 $vgpr0, implicit $mode, implicit $exec99    ; GFX1250-NEXT: $sgpr2 = S_ADD_U32 $sgpr0, $sgpr1, implicit-def $scc100    ; GFX1250-NEXT: V_NOP_e32 implicit $exec101    ; GFX1250-NEXT: $vgpr0 = V_ADD_F32_e32 $vgpr4, $vgpr2, implicit $mode, implicit $exec102    ;103    ; GFX1200-LABEL: name: trans_reads__salu_valu_writes_hazard104    ; GFX1200: $vgpr1 = V_COS_F32_e32 $vgpr0, implicit $mode, implicit $exec105    ; GFX1200-NEXT: $sgpr2 = S_ADD_U32 $sgpr0, $sgpr1, implicit-def $scc106    ; GFX1200-NEXT: $vgpr0 = V_ADD_F32_e32 $vgpr4, $vgpr2, implicit $mode, implicit $exec107    $vgpr1 = V_COS_F32_e32 $vgpr0, implicit $mode, implicit $exec108    $sgpr2 = S_ADD_U32 $sgpr0, $sgpr1, implicit-def $scc109    $vgpr0 = V_ADD_F32_e32 $vgpr4, $vgpr2, implicit $mode, implicit $exec110...111 112---113name:            trans_writes_trans_reads_no_hazard114body:            |115  bb.0:116    ; GCN-LABEL: name: trans_writes_trans_reads_no_hazard117    ; GCN: $vgpr1 = V_COS_F32_e32 $vgpr0, implicit $mode, implicit $exec118    ; GCN-NEXT: $vgpr2 = V_SQRT_F32_e32 $vgpr1, implicit $mode, implicit $exec119    $vgpr1 = V_COS_F32_e32 $vgpr0, implicit $mode, implicit $exec120    $vgpr2 = V_SQRT_F32_e32 $vgpr1, implicit $mode, implicit $exec121...122 123---124name:            trans_reads_trans_writes_no_hazard125body:            |126  bb.0:127    ; GCN-LABEL: name: trans_reads_trans_writes_no_hazard128    ; GCN: $vgpr1 = V_COS_F32_e32 $vgpr0, implicit $mode, implicit $exec129    ; GCN-NEXT: $vgpr0 = V_SQRT_F32_e32 $vgpr2, implicit $mode, implicit $exec130    $vgpr1 = V_COS_F32_e32 $vgpr0, implicit $mode, implicit $exec131    $vgpr0 = V_SQRT_F32_e32 $vgpr2, implicit $mode, implicit $exec132...133