96 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py UTC_ARGS: --version 22# RUN: llc -mtriple=amdgcn -mcpu=gfx1250 -run-pass si-insert-waitcnts %s -o - | FileCheck %s --check-prefix=GCN3 4---5name: no_wait_between_low_and_high_vgpr6body: |7 bb.0:8 ; GCN-LABEL: name: no_wait_between_low_and_high_vgpr9 ; GCN: S_WAIT_LOADCNT_DSCNT 010 ; GCN-NEXT: S_WAIT_KMCNT 011 ; GCN-NEXT: $vgpr0 = FLAT_LOAD_DWORD undef $vgpr2_vgpr3, 0, 0, implicit $exec, implicit $flat_scr12 ; GCN-NEXT: FLAT_STORE_DWORD undef $vgpr4_vgpr5, $vgpr256, 0, 0, implicit $exec, implicit $flat_scr13 ; GCN-NEXT: S_ENDPGM 014 $vgpr0 = FLAT_LOAD_DWORD undef $vgpr2_vgpr3, 0, 0, implicit $exec, implicit $flat_scr15 FLAT_STORE_DWORD undef $vgpr4_vgpr5, $vgpr256, 0, 0, implicit $exec, implicit $flat_scr16 S_ENDPGM 017...18 19---20name: wait_between_high_and_high_vgpr21body: |22 bb.0:23 ; GCN-LABEL: name: wait_between_high_and_high_vgpr24 ; GCN: S_WAIT_LOADCNT_DSCNT 025 ; GCN-NEXT: S_WAIT_KMCNT 026 ; GCN-NEXT: $vgpr511 = FLAT_LOAD_DWORD undef $vgpr2_vgpr3, 0, 0, implicit $exec, implicit $flat_scr27 ; GCN-NEXT: S_WAIT_LOADCNT_DSCNT 028 ; GCN-NEXT: FLAT_STORE_DWORD undef $vgpr4_vgpr5, $vgpr511, 0, 0, implicit $exec, implicit $flat_scr29 ; GCN-NEXT: S_ENDPGM 030 $vgpr511 = FLAT_LOAD_DWORD undef $vgpr2_vgpr3, 0, 0, implicit $exec, implicit $flat_scr31 FLAT_STORE_DWORD undef $vgpr4_vgpr5, $vgpr511, 0, 0, implicit $exec, implicit $flat_scr32 S_ENDPGM 033...34 35---36name: no_wait_between_low_and_high_vgpr_51237body: |38 bb.0:39 ; GCN-LABEL: name: no_wait_between_low_and_high_vgpr_51240 ; GCN: S_WAIT_LOADCNT_DSCNT 041 ; GCN-NEXT: S_WAIT_KMCNT 042 ; GCN-NEXT: $vgpr0 = FLAT_LOAD_DWORD undef $vgpr2_vgpr3, 0, 0, implicit $exec, implicit $flat_scr43 ; GCN-NEXT: FLAT_STORE_DWORD undef $vgpr4_vgpr5, $vgpr512, 0, 0, implicit $exec, implicit $flat_scr44 ; GCN-NEXT: S_ENDPGM 045 $vgpr0 = FLAT_LOAD_DWORD undef $vgpr2_vgpr3, 0, 0, implicit $exec, implicit $flat_scr46 FLAT_STORE_DWORD undef $vgpr4_vgpr5, $vgpr512, 0, 0, implicit $exec, implicit $flat_scr47 S_ENDPGM 048...49 50---51name: wait_between_high_and_high_vgpr_51252body: |53 bb.0:54 ; GCN-LABEL: name: wait_between_high_and_high_vgpr_51255 ; GCN: S_WAIT_LOADCNT_DSCNT 056 ; GCN-NEXT: S_WAIT_KMCNT 057 ; GCN-NEXT: $vgpr512 = FLAT_LOAD_DWORD undef $vgpr2_vgpr3, 0, 0, implicit $exec, implicit $flat_scr58 ; GCN-NEXT: S_WAIT_LOADCNT_DSCNT 059 ; GCN-NEXT: FLAT_STORE_DWORD undef $vgpr4_vgpr5, $vgpr512, 0, 0, implicit $exec, implicit $flat_scr60 ; GCN-NEXT: S_ENDPGM 061 $vgpr512 = FLAT_LOAD_DWORD undef $vgpr2_vgpr3, 0, 0, implicit $exec, implicit $flat_scr62 FLAT_STORE_DWORD undef $vgpr4_vgpr5, $vgpr512, 0, 0, implicit $exec, implicit $flat_scr63 S_ENDPGM 064...65 66---67name: no_wait_between_high_vgpr_768_and_high_vgpr_51268body: |69 bb.0:70 ; GCN-LABEL: name: no_wait_between_high_vgpr_768_and_high_vgpr_51271 ; GCN: S_WAIT_LOADCNT_DSCNT 072 ; GCN-NEXT: S_WAIT_KMCNT 073 ; GCN-NEXT: $vgpr768 = FLAT_LOAD_DWORD undef $vgpr2_vgpr3, 0, 0, implicit $exec, implicit $flat_scr74 ; GCN-NEXT: FLAT_STORE_DWORD undef $vgpr4_vgpr5, $vgpr512, 0, 0, implicit $exec, implicit $flat_scr75 ; GCN-NEXT: S_ENDPGM 076 $vgpr768 = FLAT_LOAD_DWORD undef $vgpr2_vgpr3, 0, 0, implicit $exec, implicit $flat_scr77 FLAT_STORE_DWORD undef $vgpr4_vgpr5, $vgpr512, 0, 0, implicit $exec, implicit $flat_scr78 S_ENDPGM 079...80 81---82name: wait_between_high_and_high_vgpr_76883body: |84 bb.0:85 ; GCN-LABEL: name: wait_between_high_and_high_vgpr_76886 ; GCN: S_WAIT_LOADCNT_DSCNT 087 ; GCN-NEXT: S_WAIT_KMCNT 088 ; GCN-NEXT: $vgpr768 = FLAT_LOAD_DWORD undef $vgpr2_vgpr3, 0, 0, implicit $exec, implicit $flat_scr89 ; GCN-NEXT: S_WAIT_LOADCNT_DSCNT 090 ; GCN-NEXT: FLAT_STORE_DWORD undef $vgpr4_vgpr5, $vgpr768, 0, 0, implicit $exec, implicit $flat_scr91 ; GCN-NEXT: S_ENDPGM 092 $vgpr768 = FLAT_LOAD_DWORD undef $vgpr2_vgpr3, 0, 0, implicit $exec, implicit $flat_scr93 FLAT_STORE_DWORD undef $vgpr4_vgpr5, $vgpr768, 0, 0, implicit $exec, implicit $flat_scr94 S_ENDPGM 095...96