brintos

brintos / llvm-project-archived public Read only

0
0
Text · 4.9 KiB · 1eeb0f4 Raw
141 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py2# RUN: llc -mtriple=amdgcn -mcpu=gfx900 -verify-machineinstrs -run-pass  post-RA-hazard-rec %s -o - | FileCheck -check-prefix=GFX9 %s3# RUN: llc -mtriple=amdgcn -mcpu=fiji -verify-machineinstrs -run-pass  post-RA-hazard-rec %s -o - | FileCheck -check-prefix=VI %s4# RUN: llc -mtriple=amdgcn -mcpu=hawaii -verify-machineinstrs -run-pass  post-RA-hazard-rec %s -o - | FileCheck -check-prefix=CI %s5# RUN: llc -mtriple=amdgcn -mcpu=tahiti -verify-machineinstrs -run-pass  post-RA-hazard-rec %s -o - | FileCheck -check-prefix=SI %s6# RUN: llc -mtriple=amdgcn -mcpu=gfx1010 -verify-machineinstrs -run-pass  post-RA-hazard-rec %s -o - | FileCheck -check-prefix=GFX10 %s7# RUN: llc -mtriple=amdgcn -mcpu=gfx1100 -verify-machineinstrs -run-pass  post-RA-hazard-rec %s -o - | FileCheck -check-prefix=GFX10 %s8 9---10name: m0_gws_init011tracksRegLiveness: true12body: |13 14  bb.0:15    liveins: $vgpr016    ; GFX9-LABEL: name: m0_gws_init017    ; GFX9: liveins: $vgpr018    ; GFX9-NEXT: {{  $}}19    ; GFX9-NEXT: $m0 = S_MOV_B32 -120    ; GFX9-NEXT: S_NOP 021    ; GFX9-NEXT: DS_GWS_INIT $vgpr0, 0, implicit $m0, implicit $exec22    ;23    ; VI-LABEL: name: m0_gws_init024    ; VI: liveins: $vgpr025    ; VI-NEXT: {{  $}}26    ; VI-NEXT: $m0 = S_MOV_B32 -127    ; VI-NEXT: S_NOP 028    ; VI-NEXT: DS_GWS_INIT $vgpr0, 0, implicit $m0, implicit $exec29    ;30    ; CI-LABEL: name: m0_gws_init031    ; CI: liveins: $vgpr032    ; CI-NEXT: {{  $}}33    ; CI-NEXT: $m0 = S_MOV_B32 -134    ; CI-NEXT: DS_GWS_INIT $vgpr0, 0, implicit $m0, implicit $exec35    ;36    ; SI-LABEL: name: m0_gws_init037    ; SI: liveins: $vgpr038    ; SI-NEXT: {{  $}}39    ; SI-NEXT: $m0 = S_MOV_B32 -140    ; SI-NEXT: DS_GWS_INIT $vgpr0, 0, implicit $m0, implicit $exec41    ;42    ; GFX10-LABEL: name: m0_gws_init043    ; GFX10: liveins: $vgpr044    ; GFX10-NEXT: {{  $}}45    ; GFX10-NEXT: $m0 = S_MOV_B32 -146    ; GFX10-NEXT: DS_GWS_INIT $vgpr0, 0, implicit $m0, implicit $exec47    $m0 = S_MOV_B32 -148    DS_GWS_INIT  $vgpr0, 0, implicit $m0, implicit $exec49 50...51 52---53name: m0_gws_init154tracksRegLiveness: true55body: |56 57  bb.0:58    ; GFX9-LABEL: name: m0_gws_init159    ; GFX9: $vgpr0 = V_MOV_B32_e32 0, implicit $exec60    ; GFX9-NEXT: $m0 = S_MOV_B32 -161    ; GFX9-NEXT: S_NOP 062    ; GFX9-NEXT: DS_GWS_INIT $vgpr0, 0, implicit $m0, implicit $exec63    ;64    ; VI-LABEL: name: m0_gws_init165    ; VI: $vgpr0 = V_MOV_B32_e32 0, implicit $exec66    ; VI-NEXT: $m0 = S_MOV_B32 -167    ; VI-NEXT: S_NOP 068    ; VI-NEXT: DS_GWS_INIT $vgpr0, 0, implicit $m0, implicit $exec69    ;70    ; CI-LABEL: name: m0_gws_init171    ; CI: $vgpr0 = V_MOV_B32_e32 0, implicit $exec72    ; CI-NEXT: $m0 = S_MOV_B32 -173    ; CI-NEXT: DS_GWS_INIT $vgpr0, 0, implicit $m0, implicit $exec74    ;75    ; SI-LABEL: name: m0_gws_init176    ; SI: $vgpr0 = V_MOV_B32_e32 0, implicit $exec77    ; SI-NEXT: $m0 = S_MOV_B32 -178    ; SI-NEXT: DS_GWS_INIT $vgpr0, 0, implicit $m0, implicit $exec79    ;80    ; GFX10-LABEL: name: m0_gws_init181    ; GFX10: $vgpr0 = V_MOV_B32_e32 0, implicit $exec82    ; GFX10-NEXT: $m0 = S_MOV_B32 -183    ; GFX10-NEXT: DS_GWS_INIT $vgpr0, 0, implicit $m0, implicit $exec84    $vgpr0 = V_MOV_B32_e32 0, implicit $exec85    $m0 = S_MOV_B32 -186    DS_GWS_INIT  $vgpr0, 0, implicit $m0, implicit $exec87 88...89 90# Test a typical situation where m0 needs to be set from a VGPR91# through readfirstlane92---93name: m0_gws_readlane94tracksRegLiveness: true95body: |96 97  bb.0:98    liveins: $vgpr0, $vgpr199 100    ; GFX9-LABEL: name: m0_gws_readlane101    ; GFX9: liveins: $vgpr0, $vgpr1102    ; GFX9-NEXT: {{  $}}103    ; GFX9-NEXT: $sgpr0 = V_READFIRSTLANE_B32 $vgpr1, implicit $exec104    ; GFX9-NEXT: $m0 = S_MOV_B32 $sgpr0105    ; GFX9-NEXT: S_NOP 0106    ; GFX9-NEXT: DS_GWS_INIT $vgpr0, 0, implicit $m0, implicit $exec107    ;108    ; VI-LABEL: name: m0_gws_readlane109    ; VI: liveins: $vgpr0, $vgpr1110    ; VI-NEXT: {{  $}}111    ; VI-NEXT: $sgpr0 = V_READFIRSTLANE_B32 $vgpr1, implicit $exec112    ; VI-NEXT: $m0 = S_MOV_B32 $sgpr0113    ; VI-NEXT: S_NOP 0114    ; VI-NEXT: DS_GWS_INIT $vgpr0, 0, implicit $m0, implicit $exec115    ;116    ; CI-LABEL: name: m0_gws_readlane117    ; CI: liveins: $vgpr0, $vgpr1118    ; CI-NEXT: {{  $}}119    ; CI-NEXT: $sgpr0 = V_READFIRSTLANE_B32 $vgpr1, implicit $exec120    ; CI-NEXT: $m0 = S_MOV_B32 $sgpr0121    ; CI-NEXT: DS_GWS_INIT $vgpr0, 0, implicit $m0, implicit $exec122    ;123    ; SI-LABEL: name: m0_gws_readlane124    ; SI: liveins: $vgpr0, $vgpr1125    ; SI-NEXT: {{  $}}126    ; SI-NEXT: $sgpr0 = V_READFIRSTLANE_B32 $vgpr1, implicit $exec127    ; SI-NEXT: $m0 = S_MOV_B32 $sgpr0128    ; SI-NEXT: DS_GWS_INIT $vgpr0, 0, implicit $m0, implicit $exec129    ;130    ; GFX10-LABEL: name: m0_gws_readlane131    ; GFX10: liveins: $vgpr0, $vgpr1132    ; GFX10-NEXT: {{  $}}133    ; GFX10-NEXT: $sgpr0 = V_READFIRSTLANE_B32 $vgpr1, implicit $exec134    ; GFX10-NEXT: $m0 = S_MOV_B32 $sgpr0135    ; GFX10-NEXT: DS_GWS_INIT $vgpr0, 0, implicit $m0, implicit $exec136    $sgpr0 = V_READFIRSTLANE_B32 $vgpr1, implicit $exec137    $m0 = S_MOV_B32 $sgpr0138    DS_GWS_INIT  $vgpr0, 0, implicit $m0, implicit $exec139 140...141