brintos

brintos / llvm-project-archived public Read only

0
0
Text · 3.6 KiB · 32c594c Raw
85 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py2# RUN: llc -mtriple=amdgcn -mcpu=gfx900 -mattr=+enable-flat-scratch -run-pass=si-fold-operands -verify-machineinstrs -o - %s | FileCheck -check-prefix=GCN %s3 4---5name:            test_fold_fi_scratch_load_vgpr6stack:7  - { id: 0, name: '', type: spill-slot, offset: 0, size: 4, alignment: 4 }8body:             |9  bb.0.entry:10    ; GCN-LABEL: name: test_fold_fi_scratch_load_vgpr11    ; GCN: [[SCRATCH_LOAD_DWORD_SADDR:%[0-9]+]]:vgpr_32 = SCRATCH_LOAD_DWORD_SADDR %stack.0, 4, 0, implicit $exec, implicit $flat_scr :: (load (s32) from %stack.0, addrspace 5)12    ; GCN-NEXT: S_ENDPGM 013    %0:vgpr_32 = V_MOV_B32_e32 %stack.0, implicit $exec14    %1:vgpr_32 = SCRATCH_LOAD_DWORD %0:vgpr_32, 4, 0, implicit $exec, implicit $flat_scr :: (load (s32) from %stack.0, addrspace 5)15    S_ENDPGM 016 17...18 19---20name:            test_fold_fi_scratch_load_sgpr21stack:22  - { id: 0, name: '', type: spill-slot, offset: 0, size: 4, alignment: 4 }23body:             |24  bb.0.entry:25    ; GCN-LABEL: name: test_fold_fi_scratch_load_sgpr26    ; GCN: [[SCRATCH_LOAD_DWORD_SADDR:%[0-9]+]]:vgpr_32 = SCRATCH_LOAD_DWORD_SADDR %stack.0, 4, 0, implicit $exec, implicit $flat_scr :: (load (s32) from %stack.0, addrspace 5)27    ; GCN-NEXT: S_ENDPGM 028    %0:sgpr_32 = S_MOV_B32 %stack.029    %1:vgpr_32 = SCRATCH_LOAD_DWORD_SADDR %0:sgpr_32, 4, 0, implicit $exec, implicit $flat_scr :: (load (s32) from %stack.0, addrspace 5)30    S_ENDPGM 031 32...33 34---35name:            test_fold_fi_scratch_store_vgpr36stack:37  - { id: 0, name: '', type: spill-slot, offset: 0, size: 4, alignment: 4 }38body:             |39  bb.0.entry:40    ; GCN-LABEL: name: test_fold_fi_scratch_store_vgpr41    ; GCN: [[DEF:%[0-9]+]]:vgpr_32 = IMPLICIT_DEF42    ; GCN-NEXT: SCRATCH_STORE_DWORD_SADDR [[DEF]], %stack.0, 4, 0, implicit $exec, implicit $flat_scr :: (store (s32) into %stack.0, addrspace 5)43    ; GCN-NEXT: S_ENDPGM 044    %0:vgpr_32 = V_MOV_B32_e32 %stack.0, implicit $exec45    %1:vgpr_32 = IMPLICIT_DEF46    SCRATCH_STORE_DWORD %1:vgpr_32, %0:vgpr_32, 4, 0, implicit $exec, implicit $flat_scr :: (store (s32) into %stack.0, addrspace 5)47    S_ENDPGM 048 49...50 51---52name:            test_no_fold_fi_scratch_store_vgpr53stack:54  - { id: 0, name: '', type: spill-slot, offset: 0, size: 4, alignment: 4 }55body:             |56  bb.0.entry:57    ; GCN-LABEL: name: test_no_fold_fi_scratch_store_vgpr58    ; GCN: [[V_MOV_B32_e32_:%[0-9]+]]:vgpr_32 = V_MOV_B32_e32 %stack.0, implicit $exec59    ; GCN-NEXT: [[DEF:%[0-9]+]]:vgpr_32 = IMPLICIT_DEF60    ; GCN-NEXT: SCRATCH_STORE_DWORD [[V_MOV_B32_e32_]], [[DEF]], 4, 0, implicit $exec, implicit $flat_scr :: (store (s32) into %stack.0, addrspace 5)61    ; GCN-NEXT: S_ENDPGM 062    %0:vgpr_32 = V_MOV_B32_e32 %stack.0, implicit $exec63    %1:vgpr_32 = IMPLICIT_DEF64    SCRATCH_STORE_DWORD %0:vgpr_32, %1:vgpr_32, 4, 0, implicit $exec, implicit $flat_scr :: (store (s32) into %stack.0, addrspace 5)65    S_ENDPGM 066 67...68 69---70name:            test_fold_fi_scratch_store_sgpr71stack:72  - { id: 0, name: '', type: spill-slot, offset: 0, size: 4, alignment: 4 }73body:             |74  bb.0.entry:75    ; GCN-LABEL: name: test_fold_fi_scratch_store_sgpr76    ; GCN: [[DEF:%[0-9]+]]:vgpr_32 = IMPLICIT_DEF77    ; GCN-NEXT: SCRATCH_STORE_DWORD_SADDR [[DEF]], %stack.0, 4, 0, implicit $exec, implicit $flat_scr :: (store (s32) into %stack.0, addrspace 5)78    ; GCN-NEXT: S_ENDPGM 079    %0:sgpr_32 = S_MOV_B32 %stack.080    %1:vgpr_32 = IMPLICIT_DEF81    SCRATCH_STORE_DWORD_SADDR %1:vgpr_32, %0:sgpr_32, 4, 0, implicit $exec, implicit $flat_scr :: (store (s32) into %stack.0, addrspace 5)82    S_ENDPGM 083 84...85