|
|
|
@ -958,6 +958,7 @@ body: |
|
|
|
|
|
|
|
|
|
|
renamable $sgpr12 = IMPLICIT_DEF
|
|
|
|
|
SI_SPILL_S32_SAVE $sgpr12, %stack.8, implicit $exec, implicit $sgpr96_sgpr97_sgpr98_sgpr99, implicit $sgpr32
|
|
|
|
|
...
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
name: check_reload
|
|
|
|
@ -997,6 +998,410 @@ body: |
|
|
|
|
|
bb.0:
|
|
|
|
|
liveins: $sgpr8, $sgpr4_sgpr5, $sgpr6_sgpr7
|
|
|
|
|
|
|
|
|
|
; GCN64-MUBUF-LABEL: name: check_reload
|
|
|
|
|
; GCN64-MUBUF: liveins: $sgpr8, $sgpr4_sgpr5, $sgpr6_sgpr7, $sgpr11
|
|
|
|
|
; GCN64-MUBUF: $sgpr33 = S_MOV_B32 0
|
|
|
|
|
; GCN64-MUBUF: $sgpr28 = S_MOV_B32 &SCRATCH_RSRC_DWORD0, implicit-def $sgpr28_sgpr29_sgpr30_sgpr31
|
|
|
|
|
; GCN64-MUBUF: $sgpr29 = S_MOV_B32 &SCRATCH_RSRC_DWORD1, implicit-def $sgpr28_sgpr29_sgpr30_sgpr31
|
|
|
|
|
; GCN64-MUBUF: $sgpr30 = S_MOV_B32 4294967295, implicit-def $sgpr28_sgpr29_sgpr30_sgpr31
|
|
|
|
|
; GCN64-MUBUF: $sgpr31 = S_MOV_B32 14680064, implicit-def $sgpr28_sgpr29_sgpr30_sgpr31
|
|
|
|
|
; GCN64-MUBUF: $sgpr28 = S_ADD_U32 $sgpr28, $sgpr11, implicit-def $scc, implicit-def $sgpr28_sgpr29_sgpr30_sgpr31
|
|
|
|
|
; GCN64-MUBUF: $sgpr29 = S_ADDC_U32 $sgpr29, 0, implicit-def $scc, implicit $scc, implicit-def $sgpr28_sgpr29_sgpr30_sgpr31
|
|
|
|
|
; GCN64-MUBUF: $sgpr0_sgpr1 = S_MOV_B64 $exec
|
|
|
|
|
; GCN64-MUBUF: $exec = S_MOV_B64 1, implicit-def $vgpr0
|
|
|
|
|
; GCN64-MUBUF: BUFFER_STORE_DWORD_OFFSET killed $vgpr0, $sgpr28_sgpr29_sgpr30_sgpr31, $sgpr33, 0, 0, 0, 0, implicit $exec :: (store 4 into %fixed-stack.0, align 16, addrspace 5)
|
|
|
|
|
; GCN64-MUBUF: $vgpr0 = BUFFER_LOAD_DWORD_OFFSET $sgpr28_sgpr29_sgpr30_sgpr31, $sgpr33, 4, 0, 0, 0, implicit $exec :: (load 4 from %stack.0, addrspace 5)
|
|
|
|
|
; GCN64-MUBUF: $sgpr12 = V_READLANE_B32 killed $vgpr0, 0
|
|
|
|
|
; GCN64-MUBUF: $vgpr0 = BUFFER_LOAD_DWORD_OFFSET $sgpr28_sgpr29_sgpr30_sgpr31, $sgpr33, 0, 0, 0, 0, implicit $exec :: (load 4 from %fixed-stack.0, align 16, addrspace 5)
|
|
|
|
|
; GCN64-MUBUF: $exec = S_MOV_B64 killed $sgpr0_sgpr1, implicit killed $vgpr0
|
|
|
|
|
; GCN64-MUBUF: $sgpr0_sgpr1 = S_MOV_B64 $exec
|
|
|
|
|
; GCN64-MUBUF: $exec = S_MOV_B64 3, implicit-def $vgpr0
|
|
|
|
|
; GCN64-MUBUF: BUFFER_STORE_DWORD_OFFSET killed $vgpr0, $sgpr28_sgpr29_sgpr30_sgpr31, $sgpr33, 0, 0, 0, 0, implicit $exec :: (store 4 into %fixed-stack.0, align 16, addrspace 5)
|
|
|
|
|
; GCN64-MUBUF: $vgpr0 = BUFFER_LOAD_DWORD_OFFSET $sgpr28_sgpr29_sgpr30_sgpr31, $sgpr33, 8, 0, 0, 0, implicit $exec :: (load 4 from %stack.1, addrspace 5)
|
|
|
|
|
; GCN64-MUBUF: $sgpr12 = V_READLANE_B32 $vgpr0, 0, implicit-def $sgpr12_sgpr13
|
|
|
|
|
; GCN64-MUBUF: $sgpr13 = V_READLANE_B32 killed $vgpr0, 1
|
|
|
|
|
; GCN64-MUBUF: $vgpr0 = BUFFER_LOAD_DWORD_OFFSET $sgpr28_sgpr29_sgpr30_sgpr31, $sgpr33, 0, 0, 0, 0, implicit $exec :: (load 4 from %fixed-stack.0, align 16, addrspace 5)
|
|
|
|
|
; GCN64-MUBUF: $exec = S_MOV_B64 killed $sgpr0_sgpr1, implicit killed $vgpr0
|
|
|
|
|
; GCN64-MUBUF: $sgpr0_sgpr1 = S_MOV_B64 $exec
|
|
|
|
|
; GCN64-MUBUF: $exec = S_MOV_B64 7, implicit-def $vgpr0
|
|
|
|
|
; GCN64-MUBUF: BUFFER_STORE_DWORD_OFFSET killed $vgpr0, $sgpr28_sgpr29_sgpr30_sgpr31, $sgpr33, 0, 0, 0, 0, implicit $exec :: (store 4 into %fixed-stack.0, align 16, addrspace 5)
|
|
|
|
|
; GCN64-MUBUF: $vgpr0 = BUFFER_LOAD_DWORD_OFFSET $sgpr28_sgpr29_sgpr30_sgpr31, $sgpr33, 16, 0, 0, 0, implicit $exec :: (load 4 from %stack.2, addrspace 5)
|
|
|
|
|
; GCN64-MUBUF: $sgpr12 = V_READLANE_B32 $vgpr0, 0, implicit-def $sgpr12_sgpr13_sgpr14
|
|
|
|
|
; GCN64-MUBUF: $sgpr13 = V_READLANE_B32 $vgpr0, 1
|
|
|
|
|
; GCN64-MUBUF: $sgpr14 = V_READLANE_B32 killed $vgpr0, 2
|
|
|
|
|
; GCN64-MUBUF: $vgpr0 = BUFFER_LOAD_DWORD_OFFSET $sgpr28_sgpr29_sgpr30_sgpr31, $sgpr33, 0, 0, 0, 0, implicit $exec :: (load 4 from %fixed-stack.0, align 16, addrspace 5)
|
|
|
|
|
; GCN64-MUBUF: $exec = S_MOV_B64 killed $sgpr0_sgpr1, implicit killed $vgpr0
|
|
|
|
|
; GCN64-MUBUF: $sgpr0_sgpr1 = S_MOV_B64 $exec
|
|
|
|
|
; GCN64-MUBUF: $exec = S_MOV_B64 15, implicit-def $vgpr0
|
|
|
|
|
; GCN64-MUBUF: BUFFER_STORE_DWORD_OFFSET killed $vgpr0, $sgpr28_sgpr29_sgpr30_sgpr31, $sgpr33, 0, 0, 0, 0, implicit $exec :: (store 4 into %fixed-stack.0, align 16, addrspace 5)
|
|
|
|
|
; GCN64-MUBUF: $vgpr0 = BUFFER_LOAD_DWORD_OFFSET $sgpr28_sgpr29_sgpr30_sgpr31, $sgpr33, 28, 0, 0, 0, implicit $exec :: (load 4 from %stack.3, addrspace 5)
|
|
|
|
|
; GCN64-MUBUF: $sgpr12 = V_READLANE_B32 $vgpr0, 0, implicit-def $sgpr12_sgpr13_sgpr14_sgpr15
|
|
|
|
|
; GCN64-MUBUF: $sgpr13 = V_READLANE_B32 $vgpr0, 1
|
|
|
|
|
; GCN64-MUBUF: $sgpr14 = V_READLANE_B32 $vgpr0, 2
|
|
|
|
|
; GCN64-MUBUF: $sgpr15 = V_READLANE_B32 killed $vgpr0, 3
|
|
|
|
|
; GCN64-MUBUF: $vgpr0 = BUFFER_LOAD_DWORD_OFFSET $sgpr28_sgpr29_sgpr30_sgpr31, $sgpr33, 0, 0, 0, 0, implicit $exec :: (load 4 from %fixed-stack.0, align 16, addrspace 5)
|
|
|
|
|
; GCN64-MUBUF: $exec = S_MOV_B64 killed $sgpr0_sgpr1, implicit killed $vgpr0
|
|
|
|
|
; GCN64-MUBUF: $sgpr0_sgpr1 = S_MOV_B64 $exec
|
|
|
|
|
; GCN64-MUBUF: $exec = S_MOV_B64 31, implicit-def $vgpr0
|
|
|
|
|
; GCN64-MUBUF: BUFFER_STORE_DWORD_OFFSET killed $vgpr0, $sgpr28_sgpr29_sgpr30_sgpr31, $sgpr33, 0, 0, 0, 0, implicit $exec :: (store 4 into %fixed-stack.0, align 16, addrspace 5)
|
|
|
|
|
; GCN64-MUBUF: $vgpr0 = BUFFER_LOAD_DWORD_OFFSET $sgpr28_sgpr29_sgpr30_sgpr31, $sgpr33, 44, 0, 0, 0, implicit $exec :: (load 4 from %stack.4, addrspace 5)
|
|
|
|
|
; GCN64-MUBUF: $sgpr12 = V_READLANE_B32 $vgpr0, 0, implicit-def $sgpr12_sgpr13_sgpr14_sgpr15_sgpr16
|
|
|
|
|
; GCN64-MUBUF: $sgpr13 = V_READLANE_B32 $vgpr0, 1
|
|
|
|
|
; GCN64-MUBUF: $sgpr14 = V_READLANE_B32 $vgpr0, 2
|
|
|
|
|
; GCN64-MUBUF: $sgpr15 = V_READLANE_B32 $vgpr0, 3
|
|
|
|
|
; GCN64-MUBUF: $sgpr16 = V_READLANE_B32 killed $vgpr0, 4
|
|
|
|
|
; GCN64-MUBUF: $vgpr0 = BUFFER_LOAD_DWORD_OFFSET $sgpr28_sgpr29_sgpr30_sgpr31, $sgpr33, 0, 0, 0, 0, implicit $exec :: (load 4 from %fixed-stack.0, align 16, addrspace 5)
|
|
|
|
|
; GCN64-MUBUF: $exec = S_MOV_B64 killed $sgpr0_sgpr1, implicit killed $vgpr0
|
|
|
|
|
; GCN64-MUBUF: $sgpr0_sgpr1 = S_MOV_B64 $exec
|
|
|
|
|
; GCN64-MUBUF: $exec = S_MOV_B64 255, implicit-def $vgpr0
|
|
|
|
|
; GCN64-MUBUF: BUFFER_STORE_DWORD_OFFSET killed $vgpr0, $sgpr28_sgpr29_sgpr30_sgpr31, $sgpr33, 0, 0, 0, 0, implicit $exec :: (store 4 into %fixed-stack.0, align 16, addrspace 5)
|
|
|
|
|
; GCN64-MUBUF: $vgpr0 = BUFFER_LOAD_DWORD_OFFSET $sgpr28_sgpr29_sgpr30_sgpr31, $sgpr33, 64, 0, 0, 0, implicit $exec :: (load 4 from %stack.5, addrspace 5)
|
|
|
|
|
; GCN64-MUBUF: $sgpr12 = V_READLANE_B32 $vgpr0, 0, implicit-def $sgpr12_sgpr13_sgpr14_sgpr15_sgpr16_sgpr17_sgpr18_sgpr19
|
|
|
|
|
; GCN64-MUBUF: $sgpr13 = V_READLANE_B32 $vgpr0, 1
|
|
|
|
|
; GCN64-MUBUF: $sgpr14 = V_READLANE_B32 $vgpr0, 2
|
|
|
|
|
; GCN64-MUBUF: $sgpr15 = V_READLANE_B32 $vgpr0, 3
|
|
|
|
|
; GCN64-MUBUF: $sgpr16 = V_READLANE_B32 $vgpr0, 4
|
|
|
|
|
; GCN64-MUBUF: $sgpr17 = V_READLANE_B32 $vgpr0, 5
|
|
|
|
|
; GCN64-MUBUF: $sgpr18 = V_READLANE_B32 $vgpr0, 6
|
|
|
|
|
; GCN64-MUBUF: $sgpr19 = V_READLANE_B32 killed $vgpr0, 7
|
|
|
|
|
; GCN64-MUBUF: $vgpr0 = BUFFER_LOAD_DWORD_OFFSET $sgpr28_sgpr29_sgpr30_sgpr31, $sgpr33, 0, 0, 0, 0, implicit $exec :: (load 4 from %fixed-stack.0, align 16, addrspace 5)
|
|
|
|
|
; GCN64-MUBUF: $exec = S_MOV_B64 killed $sgpr0_sgpr1, implicit killed $vgpr0
|
|
|
|
|
; GCN64-MUBUF: $sgpr0_sgpr1 = S_MOV_B64 $exec
|
|
|
|
|
; GCN64-MUBUF: $exec = S_MOV_B64 65535, implicit-def $vgpr0
|
|
|
|
|
; GCN64-MUBUF: BUFFER_STORE_DWORD_OFFSET killed $vgpr0, $sgpr28_sgpr29_sgpr30_sgpr31, $sgpr33, 0, 0, 0, 0, implicit $exec :: (store 4 into %fixed-stack.0, align 16, addrspace 5)
|
|
|
|
|
; GCN64-MUBUF: $vgpr0 = BUFFER_LOAD_DWORD_OFFSET $sgpr28_sgpr29_sgpr30_sgpr31, $sgpr33, 96, 0, 0, 0, implicit $exec :: (load 4 from %stack.6, addrspace 5)
|
|
|
|
|
; GCN64-MUBUF: $sgpr12 = V_READLANE_B32 $vgpr0, 0, implicit-def $sgpr12_sgpr13_sgpr14_sgpr15_sgpr16_sgpr17_sgpr18_sgpr19_sgpr20_sgpr21_sgpr22_sgpr23_sgpr24_sgpr25_sgpr26_sgpr27
|
|
|
|
|
; GCN64-MUBUF: $sgpr13 = V_READLANE_B32 $vgpr0, 1
|
|
|
|
|
; GCN64-MUBUF: $sgpr14 = V_READLANE_B32 $vgpr0, 2
|
|
|
|
|
; GCN64-MUBUF: $sgpr15 = V_READLANE_B32 $vgpr0, 3
|
|
|
|
|
; GCN64-MUBUF: $sgpr16 = V_READLANE_B32 $vgpr0, 4
|
|
|
|
|
; GCN64-MUBUF: $sgpr17 = V_READLANE_B32 $vgpr0, 5
|
|
|
|
|
; GCN64-MUBUF: $sgpr18 = V_READLANE_B32 $vgpr0, 6
|
|
|
|
|
; GCN64-MUBUF: $sgpr19 = V_READLANE_B32 $vgpr0, 7
|
|
|
|
|
; GCN64-MUBUF: $sgpr20 = V_READLANE_B32 $vgpr0, 8
|
|
|
|
|
; GCN64-MUBUF: $sgpr21 = V_READLANE_B32 $vgpr0, 9
|
|
|
|
|
; GCN64-MUBUF: $sgpr22 = V_READLANE_B32 $vgpr0, 10
|
|
|
|
|
; GCN64-MUBUF: $sgpr23 = V_READLANE_B32 $vgpr0, 11
|
|
|
|
|
; GCN64-MUBUF: $sgpr24 = V_READLANE_B32 $vgpr0, 12
|
|
|
|
|
; GCN64-MUBUF: $sgpr25 = V_READLANE_B32 $vgpr0, 13
|
|
|
|
|
; GCN64-MUBUF: $sgpr26 = V_READLANE_B32 $vgpr0, 14
|
|
|
|
|
; GCN64-MUBUF: $sgpr27 = V_READLANE_B32 killed $vgpr0, 15
|
|
|
|
|
; GCN64-MUBUF: $vgpr0 = BUFFER_LOAD_DWORD_OFFSET $sgpr28_sgpr29_sgpr30_sgpr31, $sgpr33, 0, 0, 0, 0, implicit $exec :: (load 4 from %fixed-stack.0, align 16, addrspace 5)
|
|
|
|
|
; GCN64-MUBUF: $exec = S_MOV_B64 killed $sgpr0_sgpr1, implicit killed $vgpr0
|
|
|
|
|
; GCN64-MUBUF: $sgpr0_sgpr1 = S_MOV_B64 $exec
|
|
|
|
|
; GCN64-MUBUF: $exec = S_MOV_B64 4294967295, implicit-def $vgpr0
|
|
|
|
|
; GCN64-MUBUF: BUFFER_STORE_DWORD_OFFSET killed $vgpr0, $sgpr28_sgpr29_sgpr30_sgpr31, $sgpr33, 0, 0, 0, 0, implicit $exec :: (store 4 into %fixed-stack.0, align 16, addrspace 5)
|
|
|
|
|
; GCN64-MUBUF: $vgpr0 = BUFFER_LOAD_DWORD_OFFSET $sgpr28_sgpr29_sgpr30_sgpr31, $sgpr33, 160, 0, 0, 0, implicit $exec :: (load 4 from %stack.7, addrspace 5)
|
|
|
|
|
; GCN64-MUBUF: $sgpr64 = V_READLANE_B32 $vgpr0, 0, implicit-def $sgpr64_sgpr65_sgpr66_sgpr67_sgpr68_sgpr69_sgpr70_sgpr71_sgpr72_sgpr73_sgpr74_sgpr75_sgpr76_sgpr77_sgpr78_sgpr79_sgpr80_sgpr81_sgpr82_sgpr83_sgpr84_sgpr85_sgpr86_sgpr87_sgpr88_sgpr89_sgpr90_sgpr91_sgpr92_sgpr93_sgpr94_sgpr95
|
|
|
|
|
; GCN64-MUBUF: $sgpr65 = V_READLANE_B32 $vgpr0, 1
|
|
|
|
|
; GCN64-MUBUF: $sgpr66 = V_READLANE_B32 $vgpr0, 2
|
|
|
|
|
; GCN64-MUBUF: $sgpr67 = V_READLANE_B32 $vgpr0, 3
|
|
|
|
|
; GCN64-MUBUF: $sgpr68 = V_READLANE_B32 $vgpr0, 4
|
|
|
|
|
; GCN64-MUBUF: $sgpr69 = V_READLANE_B32 $vgpr0, 5
|
|
|
|
|
; GCN64-MUBUF: $sgpr70 = V_READLANE_B32 $vgpr0, 6
|
|
|
|
|
; GCN64-MUBUF: $sgpr71 = V_READLANE_B32 $vgpr0, 7
|
|
|
|
|
; GCN64-MUBUF: $sgpr72 = V_READLANE_B32 $vgpr0, 8
|
|
|
|
|
; GCN64-MUBUF: $sgpr73 = V_READLANE_B32 $vgpr0, 9
|
|
|
|
|
; GCN64-MUBUF: $sgpr74 = V_READLANE_B32 $vgpr0, 10
|
|
|
|
|
; GCN64-MUBUF: $sgpr75 = V_READLANE_B32 $vgpr0, 11
|
|
|
|
|
; GCN64-MUBUF: $sgpr76 = V_READLANE_B32 $vgpr0, 12
|
|
|
|
|
; GCN64-MUBUF: $sgpr77 = V_READLANE_B32 $vgpr0, 13
|
|
|
|
|
; GCN64-MUBUF: $sgpr78 = V_READLANE_B32 $vgpr0, 14
|
|
|
|
|
; GCN64-MUBUF: $sgpr79 = V_READLANE_B32 $vgpr0, 15
|
|
|
|
|
; GCN64-MUBUF: $sgpr80 = V_READLANE_B32 $vgpr0, 16
|
|
|
|
|
; GCN64-MUBUF: $sgpr81 = V_READLANE_B32 $vgpr0, 17
|
|
|
|
|
; GCN64-MUBUF: $sgpr82 = V_READLANE_B32 $vgpr0, 18
|
|
|
|
|
; GCN64-MUBUF: $sgpr83 = V_READLANE_B32 $vgpr0, 19
|
|
|
|
|
; GCN64-MUBUF: $sgpr84 = V_READLANE_B32 $vgpr0, 20
|
|
|
|
|
; GCN64-MUBUF: $sgpr85 = V_READLANE_B32 $vgpr0, 21
|
|
|
|
|
; GCN64-MUBUF: $sgpr86 = V_READLANE_B32 $vgpr0, 22
|
|
|
|
|
; GCN64-MUBUF: $sgpr87 = V_READLANE_B32 $vgpr0, 23
|
|
|
|
|
; GCN64-MUBUF: $sgpr88 = V_READLANE_B32 $vgpr0, 24
|
|
|
|
|
; GCN64-MUBUF: $sgpr89 = V_READLANE_B32 $vgpr0, 25
|
|
|
|
|
; GCN64-MUBUF: $sgpr90 = V_READLANE_B32 $vgpr0, 26
|
|
|
|
|
; GCN64-MUBUF: $sgpr91 = V_READLANE_B32 $vgpr0, 27
|
|
|
|
|
; GCN64-MUBUF: $sgpr92 = V_READLANE_B32 $vgpr0, 28
|
|
|
|
|
; GCN64-MUBUF: $sgpr93 = V_READLANE_B32 $vgpr0, 29
|
|
|
|
|
; GCN64-MUBUF: $sgpr94 = V_READLANE_B32 $vgpr0, 30
|
|
|
|
|
; GCN64-MUBUF: $sgpr95 = V_READLANE_B32 killed $vgpr0, 31
|
|
|
|
|
; GCN64-MUBUF: $vgpr0 = BUFFER_LOAD_DWORD_OFFSET $sgpr28_sgpr29_sgpr30_sgpr31, $sgpr33, 0, 0, 0, 0, implicit $exec :: (load 4 from %fixed-stack.0, align 16, addrspace 5)
|
|
|
|
|
; GCN64-MUBUF: $exec = S_MOV_B64 killed $sgpr0_sgpr1, implicit killed $vgpr0
|
|
|
|
|
; GCN64-MUBUF: $sgpr0_sgpr1 = S_MOV_B64 $exec
|
|
|
|
|
; GCN64-MUBUF: $exec = S_MOV_B64 1, implicit-def $vgpr0
|
|
|
|
|
; GCN64-MUBUF: BUFFER_STORE_DWORD_OFFSET killed $vgpr0, $sgpr28_sgpr29_sgpr30_sgpr31, $sgpr33, 0, 0, 0, 0, implicit $exec :: (store 4 into %fixed-stack.0, align 16, addrspace 5)
|
|
|
|
|
; GCN64-MUBUF: $sgpr2 = S_ADD_U32 $sgpr33, 262144, implicit-def $scc
|
|
|
|
|
; GCN64-MUBUF: $vgpr0 = BUFFER_LOAD_DWORD_OFFSET $sgpr28_sgpr29_sgpr30_sgpr31, killed $sgpr2, 0, 0, 0, 0, implicit $exec :: (load 4 from %stack.8, align 4096, addrspace 5)
|
|
|
|
|
; GCN64-MUBUF: $sgpr12 = V_READLANE_B32 killed $vgpr0, 0
|
|
|
|
|
; GCN64-MUBUF: $vgpr0 = BUFFER_LOAD_DWORD_OFFSET $sgpr28_sgpr29_sgpr30_sgpr31, $sgpr33, 0, 0, 0, 0, implicit $exec :: (load 4 from %fixed-stack.0, align 16, addrspace 5)
|
|
|
|
|
; GCN64-MUBUF: $exec = S_MOV_B64 killed $sgpr0_sgpr1, implicit killed $vgpr0
|
|
|
|
|
; GCN32-MUBUF-LABEL: name: check_reload
|
|
|
|
|
; GCN32-MUBUF: liveins: $sgpr8, $sgpr4_sgpr5, $sgpr6_sgpr7, $sgpr11
|
|
|
|
|
; GCN32-MUBUF: $sgpr33 = S_MOV_B32 0
|
|
|
|
|
; GCN32-MUBUF: $sgpr96 = S_MOV_B32 &SCRATCH_RSRC_DWORD0, implicit-def $sgpr96_sgpr97_sgpr98_sgpr99
|
|
|
|
|
; GCN32-MUBUF: $sgpr97 = S_MOV_B32 &SCRATCH_RSRC_DWORD1, implicit-def $sgpr96_sgpr97_sgpr98_sgpr99
|
|
|
|
|
; GCN32-MUBUF: $sgpr98 = S_MOV_B32 4294967295, implicit-def $sgpr96_sgpr97_sgpr98_sgpr99
|
|
|
|
|
; GCN32-MUBUF: $sgpr99 = S_MOV_B32 834756608, implicit-def $sgpr96_sgpr97_sgpr98_sgpr99
|
|
|
|
|
; GCN32-MUBUF: $sgpr96 = S_ADD_U32 $sgpr96, $sgpr11, implicit-def $scc, implicit-def $sgpr96_sgpr97_sgpr98_sgpr99
|
|
|
|
|
; GCN32-MUBUF: $sgpr97 = S_ADDC_U32 $sgpr97, 0, implicit-def $scc, implicit $scc, implicit-def $sgpr96_sgpr97_sgpr98_sgpr99
|
|
|
|
|
; GCN32-MUBUF: $sgpr0 = S_MOV_B32 $exec_lo
|
|
|
|
|
; GCN32-MUBUF: $exec_lo = S_MOV_B32 1, implicit-def $vgpr0
|
|
|
|
|
; GCN32-MUBUF: BUFFER_STORE_DWORD_OFFSET killed $vgpr0, $sgpr96_sgpr97_sgpr98_sgpr99, $sgpr33, 0, 0, 0, 0, implicit $exec :: (store 4 into %fixed-stack.0, align 16, addrspace 5)
|
|
|
|
|
; GCN32-MUBUF: $vgpr0 = BUFFER_LOAD_DWORD_OFFSET $sgpr96_sgpr97_sgpr98_sgpr99, $sgpr33, 4, 0, 0, 0, implicit $exec :: (load 4 from %stack.0, addrspace 5)
|
|
|
|
|
; GCN32-MUBUF: $sgpr12 = V_READLANE_B32 killed $vgpr0, 0
|
|
|
|
|
; GCN32-MUBUF: $vgpr0 = BUFFER_LOAD_DWORD_OFFSET $sgpr96_sgpr97_sgpr98_sgpr99, $sgpr33, 0, 0, 0, 0, implicit $exec :: (load 4 from %fixed-stack.0, align 16, addrspace 5)
|
|
|
|
|
; GCN32-MUBUF: $exec_lo = S_MOV_B32 killed $sgpr0, implicit killed $vgpr0
|
|
|
|
|
; GCN32-MUBUF: $sgpr0 = S_MOV_B32 $exec_lo
|
|
|
|
|
; GCN32-MUBUF: $exec_lo = S_MOV_B32 3, implicit-def $vgpr0
|
|
|
|
|
; GCN32-MUBUF: BUFFER_STORE_DWORD_OFFSET killed $vgpr0, $sgpr96_sgpr97_sgpr98_sgpr99, $sgpr33, 0, 0, 0, 0, implicit $exec :: (store 4 into %fixed-stack.0, align 16, addrspace 5)
|
|
|
|
|
; GCN32-MUBUF: $vgpr0 = BUFFER_LOAD_DWORD_OFFSET $sgpr96_sgpr97_sgpr98_sgpr99, $sgpr33, 8, 0, 0, 0, implicit $exec :: (load 4 from %stack.1, addrspace 5)
|
|
|
|
|
; GCN32-MUBUF: $sgpr12 = V_READLANE_B32 $vgpr0, 0, implicit-def $sgpr12_sgpr13
|
|
|
|
|
; GCN32-MUBUF: $sgpr13 = V_READLANE_B32 killed $vgpr0, 1
|
|
|
|
|
; GCN32-MUBUF: $vgpr0 = BUFFER_LOAD_DWORD_OFFSET $sgpr96_sgpr97_sgpr98_sgpr99, $sgpr33, 0, 0, 0, 0, implicit $exec :: (load 4 from %fixed-stack.0, align 16, addrspace 5)
|
|
|
|
|
; GCN32-MUBUF: $exec_lo = S_MOV_B32 killed $sgpr0, implicit killed $vgpr0
|
|
|
|
|
; GCN32-MUBUF: $sgpr0 = S_MOV_B32 $exec_lo
|
|
|
|
|
; GCN32-MUBUF: $exec_lo = S_MOV_B32 7, implicit-def $vgpr0
|
|
|
|
|
; GCN32-MUBUF: BUFFER_STORE_DWORD_OFFSET killed $vgpr0, $sgpr96_sgpr97_sgpr98_sgpr99, $sgpr33, 0, 0, 0, 0, implicit $exec :: (store 4 into %fixed-stack.0, align 16, addrspace 5)
|
|
|
|
|
; GCN32-MUBUF: $vgpr0 = BUFFER_LOAD_DWORD_OFFSET $sgpr96_sgpr97_sgpr98_sgpr99, $sgpr33, 16, 0, 0, 0, implicit $exec :: (load 4 from %stack.2, addrspace 5)
|
|
|
|
|
; GCN32-MUBUF: $sgpr12 = V_READLANE_B32 $vgpr0, 0, implicit-def $sgpr12_sgpr13_sgpr14
|
|
|
|
|
; GCN32-MUBUF: $sgpr13 = V_READLANE_B32 $vgpr0, 1
|
|
|
|
|
; GCN32-MUBUF: $sgpr14 = V_READLANE_B32 killed $vgpr0, 2
|
|
|
|
|
; GCN32-MUBUF: $vgpr0 = BUFFER_LOAD_DWORD_OFFSET $sgpr96_sgpr97_sgpr98_sgpr99, $sgpr33, 0, 0, 0, 0, implicit $exec :: (load 4 from %fixed-stack.0, align 16, addrspace 5)
|
|
|
|
|
; GCN32-MUBUF: $exec_lo = S_MOV_B32 killed $sgpr0, implicit killed $vgpr0
|
|
|
|
|
; GCN32-MUBUF: $sgpr0 = S_MOV_B32 $exec_lo
|
|
|
|
|
; GCN32-MUBUF: $exec_lo = S_MOV_B32 15, implicit-def $vgpr0
|
|
|
|
|
; GCN32-MUBUF: BUFFER_STORE_DWORD_OFFSET killed $vgpr0, $sgpr96_sgpr97_sgpr98_sgpr99, $sgpr33, 0, 0, 0, 0, implicit $exec :: (store 4 into %fixed-stack.0, align 16, addrspace 5)
|
|
|
|
|
; GCN32-MUBUF: $vgpr0 = BUFFER_LOAD_DWORD_OFFSET $sgpr96_sgpr97_sgpr98_sgpr99, $sgpr33, 28, 0, 0, 0, implicit $exec :: (load 4 from %stack.3, addrspace 5)
|
|
|
|
|
; GCN32-MUBUF: $sgpr12 = V_READLANE_B32 $vgpr0, 0, implicit-def $sgpr12_sgpr13_sgpr14_sgpr15
|
|
|
|
|
; GCN32-MUBUF: $sgpr13 = V_READLANE_B32 $vgpr0, 1
|
|
|
|
|
; GCN32-MUBUF: $sgpr14 = V_READLANE_B32 $vgpr0, 2
|
|
|
|
|
; GCN32-MUBUF: $sgpr15 = V_READLANE_B32 killed $vgpr0, 3
|
|
|
|
|
; GCN32-MUBUF: $vgpr0 = BUFFER_LOAD_DWORD_OFFSET $sgpr96_sgpr97_sgpr98_sgpr99, $sgpr33, 0, 0, 0, 0, implicit $exec :: (load 4 from %fixed-stack.0, align 16, addrspace 5)
|
|
|
|
|
; GCN32-MUBUF: $exec_lo = S_MOV_B32 killed $sgpr0, implicit killed $vgpr0
|
|
|
|
|
; GCN32-MUBUF: $sgpr0 = S_MOV_B32 $exec_lo
|
|
|
|
|
; GCN32-MUBUF: $exec_lo = S_MOV_B32 31, implicit-def $vgpr0
|
|
|
|
|
; GCN32-MUBUF: BUFFER_STORE_DWORD_OFFSET killed $vgpr0, $sgpr96_sgpr97_sgpr98_sgpr99, $sgpr33, 0, 0, 0, 0, implicit $exec :: (store 4 into %fixed-stack.0, align 16, addrspace 5)
|
|
|
|
|
; GCN32-MUBUF: $vgpr0 = BUFFER_LOAD_DWORD_OFFSET $sgpr96_sgpr97_sgpr98_sgpr99, $sgpr33, 44, 0, 0, 0, implicit $exec :: (load 4 from %stack.4, addrspace 5)
|
|
|
|
|
; GCN32-MUBUF: $sgpr12 = V_READLANE_B32 $vgpr0, 0, implicit-def $sgpr12_sgpr13_sgpr14_sgpr15_sgpr16
|
|
|
|
|
; GCN32-MUBUF: $sgpr13 = V_READLANE_B32 $vgpr0, 1
|
|
|
|
|
; GCN32-MUBUF: $sgpr14 = V_READLANE_B32 $vgpr0, 2
|
|
|
|
|
; GCN32-MUBUF: $sgpr15 = V_READLANE_B32 $vgpr0, 3
|
|
|
|
|
; GCN32-MUBUF: $sgpr16 = V_READLANE_B32 killed $vgpr0, 4
|
|
|
|
|
; GCN32-MUBUF: $vgpr0 = BUFFER_LOAD_DWORD_OFFSET $sgpr96_sgpr97_sgpr98_sgpr99, $sgpr33, 0, 0, 0, 0, implicit $exec :: (load 4 from %fixed-stack.0, align 16, addrspace 5)
|
|
|
|
|
; GCN32-MUBUF: $exec_lo = S_MOV_B32 killed $sgpr0, implicit killed $vgpr0
|
|
|
|
|
; GCN32-MUBUF: $sgpr0 = S_MOV_B32 $exec_lo
|
|
|
|
|
; GCN32-MUBUF: $exec_lo = S_MOV_B32 255, implicit-def $vgpr0
|
|
|
|
|
; GCN32-MUBUF: BUFFER_STORE_DWORD_OFFSET killed $vgpr0, $sgpr96_sgpr97_sgpr98_sgpr99, $sgpr33, 0, 0, 0, 0, implicit $exec :: (store 4 into %fixed-stack.0, align 16, addrspace 5)
|
|
|
|
|
; GCN32-MUBUF: $vgpr0 = BUFFER_LOAD_DWORD_OFFSET $sgpr96_sgpr97_sgpr98_sgpr99, $sgpr33, 64, 0, 0, 0, implicit $exec :: (load 4 from %stack.5, addrspace 5)
|
|
|
|
|
; GCN32-MUBUF: $sgpr12 = V_READLANE_B32 $vgpr0, 0, implicit-def $sgpr12_sgpr13_sgpr14_sgpr15_sgpr16_sgpr17_sgpr18_sgpr19
|
|
|
|
|
; GCN32-MUBUF: $sgpr13 = V_READLANE_B32 $vgpr0, 1
|
|
|
|
|
; GCN32-MUBUF: $sgpr14 = V_READLANE_B32 $vgpr0, 2
|
|
|
|
|
; GCN32-MUBUF: $sgpr15 = V_READLANE_B32 $vgpr0, 3
|
|
|
|
|
; GCN32-MUBUF: $sgpr16 = V_READLANE_B32 $vgpr0, 4
|
|
|
|
|
; GCN32-MUBUF: $sgpr17 = V_READLANE_B32 $vgpr0, 5
|
|
|
|
|
; GCN32-MUBUF: $sgpr18 = V_READLANE_B32 $vgpr0, 6
|
|
|
|
|
; GCN32-MUBUF: $sgpr19 = V_READLANE_B32 killed $vgpr0, 7
|
|
|
|
|
; GCN32-MUBUF: $vgpr0 = BUFFER_LOAD_DWORD_OFFSET $sgpr96_sgpr97_sgpr98_sgpr99, $sgpr33, 0, 0, 0, 0, implicit $exec :: (load 4 from %fixed-stack.0, align 16, addrspace 5)
|
|
|
|
|
; GCN32-MUBUF: $exec_lo = S_MOV_B32 killed $sgpr0, implicit killed $vgpr0
|
|
|
|
|
; GCN32-MUBUF: $sgpr0 = S_MOV_B32 $exec_lo
|
|
|
|
|
; GCN32-MUBUF: $exec_lo = S_MOV_B32 65535, implicit-def $vgpr0
|
|
|
|
|
; GCN32-MUBUF: BUFFER_STORE_DWORD_OFFSET killed $vgpr0, $sgpr96_sgpr97_sgpr98_sgpr99, $sgpr33, 0, 0, 0, 0, implicit $exec :: (store 4 into %fixed-stack.0, align 16, addrspace 5)
|
|
|
|
|
; GCN32-MUBUF: $vgpr0 = BUFFER_LOAD_DWORD_OFFSET $sgpr96_sgpr97_sgpr98_sgpr99, $sgpr33, 96, 0, 0, 0, implicit $exec :: (load 4 from %stack.6, addrspace 5)
|
|
|
|
|
; GCN32-MUBUF: $sgpr12 = V_READLANE_B32 $vgpr0, 0, implicit-def $sgpr12_sgpr13_sgpr14_sgpr15_sgpr16_sgpr17_sgpr18_sgpr19_sgpr20_sgpr21_sgpr22_sgpr23_sgpr24_sgpr25_sgpr26_sgpr27
|
|
|
|
|
; GCN32-MUBUF: $sgpr13 = V_READLANE_B32 $vgpr0, 1
|
|
|
|
|
; GCN32-MUBUF: $sgpr14 = V_READLANE_B32 $vgpr0, 2
|
|
|
|
|
; GCN32-MUBUF: $sgpr15 = V_READLANE_B32 $vgpr0, 3
|
|
|
|
|
; GCN32-MUBUF: $sgpr16 = V_READLANE_B32 $vgpr0, 4
|
|
|
|
|
; GCN32-MUBUF: $sgpr17 = V_READLANE_B32 $vgpr0, 5
|
|
|
|
|
; GCN32-MUBUF: $sgpr18 = V_READLANE_B32 $vgpr0, 6
|
|
|
|
|
; GCN32-MUBUF: $sgpr19 = V_READLANE_B32 $vgpr0, 7
|
|
|
|
|
; GCN32-MUBUF: $sgpr20 = V_READLANE_B32 $vgpr0, 8
|
|
|
|
|
; GCN32-MUBUF: $sgpr21 = V_READLANE_B32 $vgpr0, 9
|
|
|
|
|
; GCN32-MUBUF: $sgpr22 = V_READLANE_B32 $vgpr0, 10
|
|
|
|
|
; GCN32-MUBUF: $sgpr23 = V_READLANE_B32 $vgpr0, 11
|
|
|
|
|
; GCN32-MUBUF: $sgpr24 = V_READLANE_B32 $vgpr0, 12
|
|
|
|
|
; GCN32-MUBUF: $sgpr25 = V_READLANE_B32 $vgpr0, 13
|
|
|
|
|
; GCN32-MUBUF: $sgpr26 = V_READLANE_B32 $vgpr0, 14
|
|
|
|
|
; GCN32-MUBUF: $sgpr27 = V_READLANE_B32 killed $vgpr0, 15
|
|
|
|
|
; GCN32-MUBUF: $vgpr0 = BUFFER_LOAD_DWORD_OFFSET $sgpr96_sgpr97_sgpr98_sgpr99, $sgpr33, 0, 0, 0, 0, implicit $exec :: (load 4 from %fixed-stack.0, align 16, addrspace 5)
|
|
|
|
|
; GCN32-MUBUF: $exec_lo = S_MOV_B32 killed $sgpr0, implicit killed $vgpr0
|
|
|
|
|
; GCN32-MUBUF: $sgpr0 = S_MOV_B32 $exec_lo
|
|
|
|
|
; GCN32-MUBUF: $exec_lo = S_MOV_B32 4294967295, implicit-def $vgpr0
|
|
|
|
|
; GCN32-MUBUF: BUFFER_STORE_DWORD_OFFSET killed $vgpr0, $sgpr96_sgpr97_sgpr98_sgpr99, $sgpr33, 0, 0, 0, 0, implicit $exec :: (store 4 into %fixed-stack.0, align 16, addrspace 5)
|
|
|
|
|
; GCN32-MUBUF: $vgpr0 = BUFFER_LOAD_DWORD_OFFSET $sgpr96_sgpr97_sgpr98_sgpr99, $sgpr33, 160, 0, 0, 0, implicit $exec :: (load 4 from %stack.7, addrspace 5)
|
|
|
|
|
; GCN32-MUBUF: $sgpr64 = V_READLANE_B32 $vgpr0, 0, implicit-def $sgpr64_sgpr65_sgpr66_sgpr67_sgpr68_sgpr69_sgpr70_sgpr71_sgpr72_sgpr73_sgpr74_sgpr75_sgpr76_sgpr77_sgpr78_sgpr79_sgpr80_sgpr81_sgpr82_sgpr83_sgpr84_sgpr85_sgpr86_sgpr87_sgpr88_sgpr89_sgpr90_sgpr91_sgpr92_sgpr93_sgpr94_sgpr95
|
|
|
|
|
; GCN32-MUBUF: $sgpr65 = V_READLANE_B32 $vgpr0, 1
|
|
|
|
|
; GCN32-MUBUF: $sgpr66 = V_READLANE_B32 $vgpr0, 2
|
|
|
|
|
; GCN32-MUBUF: $sgpr67 = V_READLANE_B32 $vgpr0, 3
|
|
|
|
|
; GCN32-MUBUF: $sgpr68 = V_READLANE_B32 $vgpr0, 4
|
|
|
|
|
; GCN32-MUBUF: $sgpr69 = V_READLANE_B32 $vgpr0, 5
|
|
|
|
|
; GCN32-MUBUF: $sgpr70 = V_READLANE_B32 $vgpr0, 6
|
|
|
|
|
; GCN32-MUBUF: $sgpr71 = V_READLANE_B32 $vgpr0, 7
|
|
|
|
|
; GCN32-MUBUF: $sgpr72 = V_READLANE_B32 $vgpr0, 8
|
|
|
|
|
; GCN32-MUBUF: $sgpr73 = V_READLANE_B32 $vgpr0, 9
|
|
|
|
|
; GCN32-MUBUF: $sgpr74 = V_READLANE_B32 $vgpr0, 10
|
|
|
|
|
; GCN32-MUBUF: $sgpr75 = V_READLANE_B32 $vgpr0, 11
|
|
|
|
|
; GCN32-MUBUF: $sgpr76 = V_READLANE_B32 $vgpr0, 12
|
|
|
|
|
; GCN32-MUBUF: $sgpr77 = V_READLANE_B32 $vgpr0, 13
|
|
|
|
|
; GCN32-MUBUF: $sgpr78 = V_READLANE_B32 $vgpr0, 14
|
|
|
|
|
; GCN32-MUBUF: $sgpr79 = V_READLANE_B32 $vgpr0, 15
|
|
|
|
|
; GCN32-MUBUF: $sgpr80 = V_READLANE_B32 $vgpr0, 16
|
|
|
|
|
; GCN32-MUBUF: $sgpr81 = V_READLANE_B32 $vgpr0, 17
|
|
|
|
|
; GCN32-MUBUF: $sgpr82 = V_READLANE_B32 $vgpr0, 18
|
|
|
|
|
; GCN32-MUBUF: $sgpr83 = V_READLANE_B32 $vgpr0, 19
|
|
|
|
|
; GCN32-MUBUF: $sgpr84 = V_READLANE_B32 $vgpr0, 20
|
|
|
|
|
; GCN32-MUBUF: $sgpr85 = V_READLANE_B32 $vgpr0, 21
|
|
|
|
|
; GCN32-MUBUF: $sgpr86 = V_READLANE_B32 $vgpr0, 22
|
|
|
|
|
; GCN32-MUBUF: $sgpr87 = V_READLANE_B32 $vgpr0, 23
|
|
|
|
|
; GCN32-MUBUF: $sgpr88 = V_READLANE_B32 $vgpr0, 24
|
|
|
|
|
; GCN32-MUBUF: $sgpr89 = V_READLANE_B32 $vgpr0, 25
|
|
|
|
|
; GCN32-MUBUF: $sgpr90 = V_READLANE_B32 $vgpr0, 26
|
|
|
|
|
; GCN32-MUBUF: $sgpr91 = V_READLANE_B32 $vgpr0, 27
|
|
|
|
|
; GCN32-MUBUF: $sgpr92 = V_READLANE_B32 $vgpr0, 28
|
|
|
|
|
; GCN32-MUBUF: $sgpr93 = V_READLANE_B32 $vgpr0, 29
|
|
|
|
|
; GCN32-MUBUF: $sgpr94 = V_READLANE_B32 $vgpr0, 30
|
|
|
|
|
; GCN32-MUBUF: $sgpr95 = V_READLANE_B32 killed $vgpr0, 31
|
|
|
|
|
; GCN32-MUBUF: $vgpr0 = BUFFER_LOAD_DWORD_OFFSET $sgpr96_sgpr97_sgpr98_sgpr99, $sgpr33, 0, 0, 0, 0, implicit $exec :: (load 4 from %fixed-stack.0, align 16, addrspace 5)
|
|
|
|
|
; GCN32-MUBUF: $exec_lo = S_MOV_B32 killed $sgpr0, implicit killed $vgpr0
|
|
|
|
|
; GCN32-MUBUF: $sgpr0 = S_MOV_B32 $exec_lo
|
|
|
|
|
; GCN32-MUBUF: $exec_lo = S_MOV_B32 1, implicit-def $vgpr0
|
|
|
|
|
; GCN32-MUBUF: BUFFER_STORE_DWORD_OFFSET killed $vgpr0, $sgpr96_sgpr97_sgpr98_sgpr99, $sgpr33, 0, 0, 0, 0, implicit $exec :: (store 4 into %fixed-stack.0, align 16, addrspace 5)
|
|
|
|
|
; GCN32-MUBUF: $sgpr1 = S_ADD_U32 $sgpr33, 131072, implicit-def $scc
|
|
|
|
|
; GCN32-MUBUF: $vgpr0 = BUFFER_LOAD_DWORD_OFFSET $sgpr96_sgpr97_sgpr98_sgpr99, killed $sgpr1, 0, 0, 0, 0, implicit $exec :: (load 4 from %stack.8, align 4096, addrspace 5)
|
|
|
|
|
; GCN32-MUBUF: $sgpr12 = V_READLANE_B32 killed $vgpr0, 0
|
|
|
|
|
; GCN32-MUBUF: $vgpr0 = BUFFER_LOAD_DWORD_OFFSET $sgpr96_sgpr97_sgpr98_sgpr99, $sgpr33, 0, 0, 0, 0, implicit $exec :: (load 4 from %fixed-stack.0, align 16, addrspace 5)
|
|
|
|
|
; GCN32-MUBUF: $exec_lo = S_MOV_B32 killed $sgpr0, implicit killed $vgpr0
|
|
|
|
|
; GCN64-FLATSCR-LABEL: name: check_reload
|
|
|
|
|
; GCN64-FLATSCR: liveins: $sgpr8, $sgpr4_sgpr5, $sgpr6_sgpr7, $sgpr11, $sgpr0_sgpr1
|
|
|
|
|
; GCN64-FLATSCR: $sgpr33 = S_MOV_B32 0
|
|
|
|
|
; GCN64-FLATSCR: $flat_scr_lo = S_ADD_U32 $sgpr0, $sgpr11, implicit-def $scc
|
|
|
|
|
; GCN64-FLATSCR: $flat_scr_hi = S_ADDC_U32 $sgpr1, 0, implicit-def $scc, implicit $scc
|
|
|
|
|
; GCN64-FLATSCR: $sgpr2_sgpr3 = S_MOV_B64 $exec
|
|
|
|
|
; GCN64-FLATSCR: $exec = S_MOV_B64 1, implicit-def $vgpr0
|
|
|
|
|
; GCN64-FLATSCR: SCRATCH_STORE_DWORD_SADDR killed $vgpr0, $sgpr33, 0, 0, implicit $exec, implicit $flat_scr :: (store 4 into %fixed-stack.0, align 16, addrspace 5)
|
|
|
|
|
; GCN64-FLATSCR: $vgpr0 = SCRATCH_LOAD_DWORD_SADDR $sgpr33, 4, 0, implicit $exec, implicit $flat_scr :: (load 4 from %stack.0, addrspace 5)
|
|
|
|
|
; GCN64-FLATSCR: $sgpr12 = V_READLANE_B32 killed $vgpr0, 0
|
|
|
|
|
; GCN64-FLATSCR: $vgpr0 = SCRATCH_LOAD_DWORD_SADDR $sgpr33, 0, 0, implicit $exec, implicit $flat_scr :: (load 4 from %fixed-stack.0, align 16, addrspace 5)
|
|
|
|
|
; GCN64-FLATSCR: $exec = S_MOV_B64 killed $sgpr2_sgpr3, implicit killed $vgpr0
|
|
|
|
|
; GCN64-FLATSCR: $sgpr2_sgpr3 = S_MOV_B64 $exec
|
|
|
|
|
; GCN64-FLATSCR: $exec = S_MOV_B64 3, implicit-def $vgpr0
|
|
|
|
|
; GCN64-FLATSCR: SCRATCH_STORE_DWORD_SADDR killed $vgpr0, $sgpr33, 0, 0, implicit $exec, implicit $flat_scr :: (store 4 into %fixed-stack.0, align 16, addrspace 5)
|
|
|
|
|
; GCN64-FLATSCR: $vgpr0 = SCRATCH_LOAD_DWORD_SADDR $sgpr33, 8, 0, implicit $exec, implicit $flat_scr :: (load 4 from %stack.1, addrspace 5)
|
|
|
|
|
; GCN64-FLATSCR: $sgpr12 = V_READLANE_B32 $vgpr0, 0, implicit-def $sgpr12_sgpr13
|
|
|
|
|
; GCN64-FLATSCR: $sgpr13 = V_READLANE_B32 killed $vgpr0, 1
|
|
|
|
|
; GCN64-FLATSCR: $vgpr0 = SCRATCH_LOAD_DWORD_SADDR $sgpr33, 0, 0, implicit $exec, implicit $flat_scr :: (load 4 from %fixed-stack.0, align 16, addrspace 5)
|
|
|
|
|
; GCN64-FLATSCR: $exec = S_MOV_B64 killed $sgpr2_sgpr3, implicit killed $vgpr0
|
|
|
|
|
; GCN64-FLATSCR: $sgpr2_sgpr3 = S_MOV_B64 $exec
|
|
|
|
|
; GCN64-FLATSCR: $exec = S_MOV_B64 7, implicit-def $vgpr0
|
|
|
|
|
; GCN64-FLATSCR: SCRATCH_STORE_DWORD_SADDR killed $vgpr0, $sgpr33, 0, 0, implicit $exec, implicit $flat_scr :: (store 4 into %fixed-stack.0, align 16, addrspace 5)
|
|
|
|
|
; GCN64-FLATSCR: $vgpr0 = SCRATCH_LOAD_DWORD_SADDR $sgpr33, 16, 0, implicit $exec, implicit $flat_scr :: (load 4 from %stack.2, addrspace 5)
|
|
|
|
|
; GCN64-FLATSCR: $sgpr12 = V_READLANE_B32 $vgpr0, 0, implicit-def $sgpr12_sgpr13_sgpr14
|
|
|
|
|
; GCN64-FLATSCR: $sgpr13 = V_READLANE_B32 $vgpr0, 1
|
|
|
|
|
; GCN64-FLATSCR: $sgpr14 = V_READLANE_B32 killed $vgpr0, 2
|
|
|
|
|
; GCN64-FLATSCR: $vgpr0 = SCRATCH_LOAD_DWORD_SADDR $sgpr33, 0, 0, implicit $exec, implicit $flat_scr :: (load 4 from %fixed-stack.0, align 16, addrspace 5)
|
|
|
|
|
; GCN64-FLATSCR: $exec = S_MOV_B64 killed $sgpr2_sgpr3, implicit killed $vgpr0
|
|
|
|
|
; GCN64-FLATSCR: $sgpr2_sgpr3 = S_MOV_B64 $exec
|
|
|
|
|
; GCN64-FLATSCR: $exec = S_MOV_B64 15, implicit-def $vgpr0
|
|
|
|
|
; GCN64-FLATSCR: SCRATCH_STORE_DWORD_SADDR killed $vgpr0, $sgpr33, 0, 0, implicit $exec, implicit $flat_scr :: (store 4 into %fixed-stack.0, align 16, addrspace 5)
|
|
|
|
|
; GCN64-FLATSCR: $vgpr0 = SCRATCH_LOAD_DWORD_SADDR $sgpr33, 28, 0, implicit $exec, implicit $flat_scr :: (load 4 from %stack.3, addrspace 5)
|
|
|
|
|
; GCN64-FLATSCR: $sgpr12 = V_READLANE_B32 $vgpr0, 0, implicit-def $sgpr12_sgpr13_sgpr14_sgpr15
|
|
|
|
|
; GCN64-FLATSCR: $sgpr13 = V_READLANE_B32 $vgpr0, 1
|
|
|
|
|
; GCN64-FLATSCR: $sgpr14 = V_READLANE_B32 $vgpr0, 2
|
|
|
|
|
; GCN64-FLATSCR: $sgpr15 = V_READLANE_B32 killed $vgpr0, 3
|
|
|
|
|
; GCN64-FLATSCR: $vgpr0 = SCRATCH_LOAD_DWORD_SADDR $sgpr33, 0, 0, implicit $exec, implicit $flat_scr :: (load 4 from %fixed-stack.0, align 16, addrspace 5)
|
|
|
|
|
; GCN64-FLATSCR: $exec = S_MOV_B64 killed $sgpr2_sgpr3, implicit killed $vgpr0
|
|
|
|
|
; GCN64-FLATSCR: $sgpr2_sgpr3 = S_MOV_B64 $exec
|
|
|
|
|
; GCN64-FLATSCR: $exec = S_MOV_B64 31, implicit-def $vgpr0
|
|
|
|
|
; GCN64-FLATSCR: SCRATCH_STORE_DWORD_SADDR killed $vgpr0, $sgpr33, 0, 0, implicit $exec, implicit $flat_scr :: (store 4 into %fixed-stack.0, align 16, addrspace 5)
|
|
|
|
|
; GCN64-FLATSCR: $vgpr0 = SCRATCH_LOAD_DWORD_SADDR $sgpr33, 44, 0, implicit $exec, implicit $flat_scr :: (load 4 from %stack.4, addrspace 5)
|
|
|
|
|
; GCN64-FLATSCR: $sgpr12 = V_READLANE_B32 $vgpr0, 0, implicit-def $sgpr12_sgpr13_sgpr14_sgpr15_sgpr16
|
|
|
|
|
; GCN64-FLATSCR: $sgpr13 = V_READLANE_B32 $vgpr0, 1
|
|
|
|
|
; GCN64-FLATSCR: $sgpr14 = V_READLANE_B32 $vgpr0, 2
|
|
|
|
|
; GCN64-FLATSCR: $sgpr15 = V_READLANE_B32 $vgpr0, 3
|
|
|
|
|
; GCN64-FLATSCR: $sgpr16 = V_READLANE_B32 killed $vgpr0, 4
|
|
|
|
|
; GCN64-FLATSCR: $vgpr0 = SCRATCH_LOAD_DWORD_SADDR $sgpr33, 0, 0, implicit $exec, implicit $flat_scr :: (load 4 from %fixed-stack.0, align 16, addrspace 5)
|
|
|
|
|
; GCN64-FLATSCR: $exec = S_MOV_B64 killed $sgpr2_sgpr3, implicit killed $vgpr0
|
|
|
|
|
; GCN64-FLATSCR: $sgpr2_sgpr3 = S_MOV_B64 $exec
|
|
|
|
|
; GCN64-FLATSCR: $exec = S_MOV_B64 255, implicit-def $vgpr0
|
|
|
|
|
; GCN64-FLATSCR: SCRATCH_STORE_DWORD_SADDR killed $vgpr0, $sgpr33, 0, 0, implicit $exec, implicit $flat_scr :: (store 4 into %fixed-stack.0, align 16, addrspace 5)
|
|
|
|
|
; GCN64-FLATSCR: $vgpr0 = SCRATCH_LOAD_DWORD_SADDR $sgpr33, 64, 0, implicit $exec, implicit $flat_scr :: (load 4 from %stack.5, addrspace 5)
|
|
|
|
|
; GCN64-FLATSCR: $sgpr12 = V_READLANE_B32 $vgpr0, 0, implicit-def $sgpr12_sgpr13_sgpr14_sgpr15_sgpr16_sgpr17_sgpr18_sgpr19
|
|
|
|
|
; GCN64-FLATSCR: $sgpr13 = V_READLANE_B32 $vgpr0, 1
|
|
|
|
|
; GCN64-FLATSCR: $sgpr14 = V_READLANE_B32 $vgpr0, 2
|
|
|
|
|
; GCN64-FLATSCR: $sgpr15 = V_READLANE_B32 $vgpr0, 3
|
|
|
|
|
; GCN64-FLATSCR: $sgpr16 = V_READLANE_B32 $vgpr0, 4
|
|
|
|
|
; GCN64-FLATSCR: $sgpr17 = V_READLANE_B32 $vgpr0, 5
|
|
|
|
|
; GCN64-FLATSCR: $sgpr18 = V_READLANE_B32 $vgpr0, 6
|
|
|
|
|
; GCN64-FLATSCR: $sgpr19 = V_READLANE_B32 killed $vgpr0, 7
|
|
|
|
|
; GCN64-FLATSCR: $vgpr0 = SCRATCH_LOAD_DWORD_SADDR $sgpr33, 0, 0, implicit $exec, implicit $flat_scr :: (load 4 from %fixed-stack.0, align 16, addrspace 5)
|
|
|
|
|
; GCN64-FLATSCR: $exec = S_MOV_B64 killed $sgpr2_sgpr3, implicit killed $vgpr0
|
|
|
|
|
; GCN64-FLATSCR: $sgpr2_sgpr3 = S_MOV_B64 $exec
|
|
|
|
|
; GCN64-FLATSCR: $exec = S_MOV_B64 65535, implicit-def $vgpr0
|
|
|
|
|
; GCN64-FLATSCR: SCRATCH_STORE_DWORD_SADDR killed $vgpr0, $sgpr33, 0, 0, implicit $exec, implicit $flat_scr :: (store 4 into %fixed-stack.0, align 16, addrspace 5)
|
|
|
|
|
; GCN64-FLATSCR: $vgpr0 = SCRATCH_LOAD_DWORD_SADDR $sgpr33, 96, 0, implicit $exec, implicit $flat_scr :: (load 4 from %stack.6, addrspace 5)
|
|
|
|
|
; GCN64-FLATSCR: $sgpr12 = V_READLANE_B32 $vgpr0, 0, implicit-def $sgpr12_sgpr13_sgpr14_sgpr15_sgpr16_sgpr17_sgpr18_sgpr19_sgpr20_sgpr21_sgpr22_sgpr23_sgpr24_sgpr25_sgpr26_sgpr27
|
|
|
|
|
; GCN64-FLATSCR: $sgpr13 = V_READLANE_B32 $vgpr0, 1
|
|
|
|
|
; GCN64-FLATSCR: $sgpr14 = V_READLANE_B32 $vgpr0, 2
|
|
|
|
|
; GCN64-FLATSCR: $sgpr15 = V_READLANE_B32 $vgpr0, 3
|
|
|
|
|
; GCN64-FLATSCR: $sgpr16 = V_READLANE_B32 $vgpr0, 4
|
|
|
|
|
; GCN64-FLATSCR: $sgpr17 = V_READLANE_B32 $vgpr0, 5
|
|
|
|
|
; GCN64-FLATSCR: $sgpr18 = V_READLANE_B32 $vgpr0, 6
|
|
|
|
|
; GCN64-FLATSCR: $sgpr19 = V_READLANE_B32 $vgpr0, 7
|
|
|
|
|
; GCN64-FLATSCR: $sgpr20 = V_READLANE_B32 $vgpr0, 8
|
|
|
|
|
; GCN64-FLATSCR: $sgpr21 = V_READLANE_B32 $vgpr0, 9
|
|
|
|
|
; GCN64-FLATSCR: $sgpr22 = V_READLANE_B32 $vgpr0, 10
|
|
|
|
|
; GCN64-FLATSCR: $sgpr23 = V_READLANE_B32 $vgpr0, 11
|
|
|
|
|
; GCN64-FLATSCR: $sgpr24 = V_READLANE_B32 $vgpr0, 12
|
|
|
|
|
; GCN64-FLATSCR: $sgpr25 = V_READLANE_B32 $vgpr0, 13
|
|
|
|
|
; GCN64-FLATSCR: $sgpr26 = V_READLANE_B32 $vgpr0, 14
|
|
|
|
|
; GCN64-FLATSCR: $sgpr27 = V_READLANE_B32 killed $vgpr0, 15
|
|
|
|
|
; GCN64-FLATSCR: $vgpr0 = SCRATCH_LOAD_DWORD_SADDR $sgpr33, 0, 0, implicit $exec, implicit $flat_scr :: (load 4 from %fixed-stack.0, align 16, addrspace 5)
|
|
|
|
|
; GCN64-FLATSCR: $exec = S_MOV_B64 killed $sgpr2_sgpr3, implicit killed $vgpr0
|
|
|
|
|
; GCN64-FLATSCR: $sgpr2_sgpr3 = S_MOV_B64 $exec
|
|
|
|
|
; GCN64-FLATSCR: $exec = S_MOV_B64 4294967295, implicit-def $vgpr0
|
|
|
|
|
; GCN64-FLATSCR: SCRATCH_STORE_DWORD_SADDR killed $vgpr0, $sgpr33, 0, 0, implicit $exec, implicit $flat_scr :: (store 4 into %fixed-stack.0, align 16, addrspace 5)
|
|
|
|
|
; GCN64-FLATSCR: $vgpr0 = SCRATCH_LOAD_DWORD_SADDR $sgpr33, 160, 0, implicit $exec, implicit $flat_scr :: (load 4 from %stack.7, addrspace 5)
|
|
|
|
|
; GCN64-FLATSCR: $sgpr64 = V_READLANE_B32 $vgpr0, 0, implicit-def $sgpr64_sgpr65_sgpr66_sgpr67_sgpr68_sgpr69_sgpr70_sgpr71_sgpr72_sgpr73_sgpr74_sgpr75_sgpr76_sgpr77_sgpr78_sgpr79_sgpr80_sgpr81_sgpr82_sgpr83_sgpr84_sgpr85_sgpr86_sgpr87_sgpr88_sgpr89_sgpr90_sgpr91_sgpr92_sgpr93_sgpr94_sgpr95
|
|
|
|
|
; GCN64-FLATSCR: $sgpr65 = V_READLANE_B32 $vgpr0, 1
|
|
|
|
|
; GCN64-FLATSCR: $sgpr66 = V_READLANE_B32 $vgpr0, 2
|
|
|
|
|
; GCN64-FLATSCR: $sgpr67 = V_READLANE_B32 $vgpr0, 3
|
|
|
|
|
; GCN64-FLATSCR: $sgpr68 = V_READLANE_B32 $vgpr0, 4
|
|
|
|
|
; GCN64-FLATSCR: $sgpr69 = V_READLANE_B32 $vgpr0, 5
|
|
|
|
|
; GCN64-FLATSCR: $sgpr70 = V_READLANE_B32 $vgpr0, 6
|
|
|
|
|
; GCN64-FLATSCR: $sgpr71 = V_READLANE_B32 $vgpr0, 7
|
|
|
|
|
; GCN64-FLATSCR: $sgpr72 = V_READLANE_B32 $vgpr0, 8
|
|
|
|
|
; GCN64-FLATSCR: $sgpr73 = V_READLANE_B32 $vgpr0, 9
|
|
|
|
|
; GCN64-FLATSCR: $sgpr74 = V_READLANE_B32 $vgpr0, 10
|
|
|
|
|
; GCN64-FLATSCR: $sgpr75 = V_READLANE_B32 $vgpr0, 11
|
|
|
|
|
; GCN64-FLATSCR: $sgpr76 = V_READLANE_B32 $vgpr0, 12
|
|
|
|
|
; GCN64-FLATSCR: $sgpr77 = V_READLANE_B32 $vgpr0, 13
|
|
|
|
|
; GCN64-FLATSCR: $sgpr78 = V_READLANE_B32 $vgpr0, 14
|
|
|
|
|
; GCN64-FLATSCR: $sgpr79 = V_READLANE_B32 $vgpr0, 15
|
|
|
|
|
; GCN64-FLATSCR: $sgpr80 = V_READLANE_B32 $vgpr0, 16
|
|
|
|
|
; GCN64-FLATSCR: $sgpr81 = V_READLANE_B32 $vgpr0, 17
|
|
|
|
|
; GCN64-FLATSCR: $sgpr82 = V_READLANE_B32 $vgpr0, 18
|
|
|
|
|
; GCN64-FLATSCR: $sgpr83 = V_READLANE_B32 $vgpr0, 19
|
|
|
|
|
; GCN64-FLATSCR: $sgpr84 = V_READLANE_B32 $vgpr0, 20
|
|
|
|
|
; GCN64-FLATSCR: $sgpr85 = V_READLANE_B32 $vgpr0, 21
|
|
|
|
|
; GCN64-FLATSCR: $sgpr86 = V_READLANE_B32 $vgpr0, 22
|
|
|
|
|
; GCN64-FLATSCR: $sgpr87 = V_READLANE_B32 $vgpr0, 23
|
|
|
|
|
; GCN64-FLATSCR: $sgpr88 = V_READLANE_B32 $vgpr0, 24
|
|
|
|
|
; GCN64-FLATSCR: $sgpr89 = V_READLANE_B32 $vgpr0, 25
|
|
|
|
|
; GCN64-FLATSCR: $sgpr90 = V_READLANE_B32 $vgpr0, 26
|
|
|
|
|
; GCN64-FLATSCR: $sgpr91 = V_READLANE_B32 $vgpr0, 27
|
|
|
|
|
; GCN64-FLATSCR: $sgpr92 = V_READLANE_B32 $vgpr0, 28
|
|
|
|
|
; GCN64-FLATSCR: $sgpr93 = V_READLANE_B32 $vgpr0, 29
|
|
|
|
|
; GCN64-FLATSCR: $sgpr94 = V_READLANE_B32 $vgpr0, 30
|
|
|
|
|
; GCN64-FLATSCR: $sgpr95 = V_READLANE_B32 killed $vgpr0, 31
|
|
|
|
|
; GCN64-FLATSCR: $vgpr0 = SCRATCH_LOAD_DWORD_SADDR $sgpr33, 0, 0, implicit $exec, implicit $flat_scr :: (load 4 from %fixed-stack.0, align 16, addrspace 5)
|
|
|
|
|
; GCN64-FLATSCR: $exec = S_MOV_B64 killed $sgpr2_sgpr3, implicit killed $vgpr0
|
|
|
|
|
; GCN64-FLATSCR: $sgpr2_sgpr3 = S_MOV_B64 $exec
|
|
|
|
|
; GCN64-FLATSCR: $exec = S_MOV_B64 1, implicit-def $vgpr0
|
|
|
|
|
; GCN64-FLATSCR: SCRATCH_STORE_DWORD_SADDR killed $vgpr0, $sgpr33, 0, 0, implicit $exec, implicit $flat_scr :: (store 4 into %fixed-stack.0, align 16, addrspace 5)
|
|
|
|
|
; GCN64-FLATSCR: $sgpr9 = S_ADD_U32 $sgpr33, 4096, implicit-def $scc
|
|
|
|
|
; GCN64-FLATSCR: $vgpr0 = SCRATCH_LOAD_DWORD_SADDR killed $sgpr9, 0, 0, implicit $exec, implicit $flat_scr :: (load 4 from %stack.8, align 4096, addrspace 5)
|
|
|
|
|
; GCN64-FLATSCR: $sgpr12 = V_READLANE_B32 killed $vgpr0, 0
|
|
|
|
|
; GCN64-FLATSCR: $vgpr0 = SCRATCH_LOAD_DWORD_SADDR $sgpr33, 0, 0, implicit $exec, implicit $flat_scr :: (load 4 from %fixed-stack.0, align 16, addrspace 5)
|
|
|
|
|
; GCN64-FLATSCR: $exec = S_MOV_B64 killed $sgpr2_sgpr3, implicit killed $vgpr0
|
|
|
|
|
renamable $sgpr12 = SI_SPILL_S32_RESTORE %stack.0, implicit $exec, implicit $sgpr96_sgpr97_sgpr98_sgpr99, implicit $sgpr32
|
|
|
|
|
|
|
|
|
|
renamable $sgpr12_sgpr13 = SI_SPILL_S64_RESTORE %stack.1, implicit $exec, implicit $sgpr96_sgpr97_sgpr98_sgpr99, implicit $sgpr32
|
|
|
|
@ -1014,3 +1419,4 @@ body: |
|
|
|
|
|
renamable $sgpr64_sgpr65_sgpr66_sgpr67_sgpr68_sgpr69_sgpr70_sgpr71_sgpr72_sgpr73_sgpr74_sgpr75_sgpr76_sgpr77_sgpr78_sgpr79_sgpr80_sgpr81_sgpr82_sgpr83_sgpr84_sgpr85_sgpr86_sgpr87_sgpr88_sgpr89_sgpr90_sgpr91_sgpr92_sgpr93_sgpr94_sgpr95 = SI_SPILL_S1024_RESTORE %stack.7, implicit $exec, implicit $sgpr96_sgpr97_sgpr98_sgpr99, implicit $sgpr32
|
|
|
|
|
|
|
|
|
|
renamable $sgpr12 = SI_SPILL_S32_RESTORE %stack.8, implicit $exec, implicit $sgpr96_sgpr97_sgpr98_sgpr99, implicit $sgpr32
|
|
|
|
|
...
|
|
|
|
|