mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-08-26 23:29:22 +00:00
R600/SI: Fix broken check lines.
Fix missing check, and hardcoded register numbers. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@217318 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
5f61134595
commit
360ed46f68
@ -26,6 +26,7 @@ entry:
|
|||||||
; CHECK-LABEL: @smrd2
|
; CHECK-LABEL: @smrd2
|
||||||
; CHECK: S_MOV_B32 s[[OFFSET:[0-9]]], 0x400
|
; CHECK: S_MOV_B32 s[[OFFSET:[0-9]]], 0x400
|
||||||
; CHECK: S_LOAD_DWORD s{{[0-9]}}, s[{{[0-9]:[0-9]}}], s[[OFFSET]] ; encoding: [0x0[[OFFSET]]
|
; CHECK: S_LOAD_DWORD s{{[0-9]}}, s[{{[0-9]:[0-9]}}], s[[OFFSET]] ; encoding: [0x0[[OFFSET]]
|
||||||
|
; CHECK: S_ENDPGM
|
||||||
define void @smrd2(i32 addrspace(1)* %out, i32 addrspace(2)* %ptr) {
|
define void @smrd2(i32 addrspace(1)* %out, i32 addrspace(2)* %ptr) {
|
||||||
entry:
|
entry:
|
||||||
%0 = getelementptr i32 addrspace(2)* %ptr, i64 256
|
%0 = getelementptr i32 addrspace(2)* %ptr, i64 256
|
||||||
@ -36,14 +37,14 @@ entry:
|
|||||||
|
|
||||||
; SMRD load with a 64-bit offset
|
; SMRD load with a 64-bit offset
|
||||||
; CHECK-LABEL: @smrd3
|
; CHECK-LABEL: @smrd3
|
||||||
; CHECK-DAG: S_MOV_B32 s[[SHI:[0-9]+]], 4
|
|
||||||
; CHECK-DAG: S_MOV_B32 s[[SLO:[0-9]+]], 0
|
; CHECK-DAG: S_MOV_B32 s[[SLO:[0-9]+]], 0
|
||||||
|
; CHECK-DAG: S_MOV_B32 s[[SHI:[0-9]+]], 4
|
||||||
; FIXME: We don't need to copy these values to VGPRs
|
; FIXME: We don't need to copy these values to VGPRs
|
||||||
; CHECK-DAG: V_MOV_B32_e32 v[[VHI:[0-9]+]], s[[SHI]]
|
; CHECK-DAG: V_MOV_B32_e32 v[[VHI:[0-9]+]], s[[SHI]]
|
||||||
; CHECK-DAG: V_MOV_B32_e32 v[[VLO:[0-9]+]], s[[SLO]]
|
; CHECK-DAG: V_MOV_B32_e32 v[[VLO:[0-9]+]], s[[SLO]]
|
||||||
; FIXME: We should be able to use S_LOAD_DWORD here
|
; FIXME: We should be able to use S_LOAD_DWORD here
|
||||||
; BUFFER_LOAD_DWORD v{{[0-9]+}}, s[{{[0-9]+:[0-9]+}}] + v[[[VLO]]:[[VHI]]] + 0x0
|
; CHECK: BUFFER_LOAD_DWORD v{{[0-9]+}}, v{{\[}}[[VLO]]:[[VHI]]{{\]}}, s[{{[0-9]+:[0-9]+}}], 0
|
||||||
|
; CHECK: S_ENDPGM
|
||||||
define void @smrd3(i32 addrspace(1)* %out, i32 addrspace(2)* %ptr) {
|
define void @smrd3(i32 addrspace(1)* %out, i32 addrspace(2)* %ptr) {
|
||||||
entry:
|
entry:
|
||||||
%0 = getelementptr i32 addrspace(2)* %ptr, i64 4294967296 ; 2 ^ 32
|
%0 = getelementptr i32 addrspace(2)* %ptr, i64 4294967296 ; 2 ^ 32
|
||||||
|
@ -3,9 +3,9 @@
|
|||||||
|
|
||||||
define void @trunc_i64_to_i32_store(i32 addrspace(1)* %out, i64 %in) {
|
define void @trunc_i64_to_i32_store(i32 addrspace(1)* %out, i64 %in) {
|
||||||
; SI-LABEL: @trunc_i64_to_i32_store
|
; SI-LABEL: @trunc_i64_to_i32_store
|
||||||
; SI: S_LOAD_DWORD s0, s[0:1], 0xb
|
; SI: S_LOAD_DWORD [[SLOAD:s[0-9]+]], s[0:1], 0xb
|
||||||
; SI: V_MOV_B32_e32 v0, s0
|
; SI: V_MOV_B32_e32 [[VLOAD:v[0-9]+]], [[SLOAD]]
|
||||||
; SI: BUFFER_STORE_DWORD v0
|
; SI: BUFFER_STORE_DWORD [[VLOAD]]
|
||||||
|
|
||||||
; EG-LABEL: @trunc_i64_to_i32_store
|
; EG-LABEL: @trunc_i64_to_i32_store
|
||||||
; EG: MEM_RAT_CACHELESS STORE_RAW T0.X, T1.X, 1
|
; EG: MEM_RAT_CACHELESS STORE_RAW T0.X, T1.X, 1
|
||||||
|
Loading…
Reference in New Issue
Block a user