mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-10-23 04:52:54 +02:00
f2debeba3c
r600 uses dummy pointer info for lowering load/store. Since dummy pointer info assumes address space 0, this causes isel failure when temporary load/store SDNodes are generated for amdgiz environment. Since the offest is not constant, FixedStack pseudo source value cannot be used to create the pointer info. This patch creates pointer info using llvm undef value. At least this provides correct address space so that isel can be done correctly. Differential Revision: https://reviews.llvm.org/D39698 llvm-svn: 317862
21 lines
602 B
LLVM
21 lines
602 B
LLVM
; RUN: llc < %s -march=r600 -mtriple=r600---amdgiz -mcpu=redwood | FileCheck %s
|
|
|
|
; This tests for a bug in the SelectionDAG where custom lowered truncated
|
|
; vector stores at the end of a basic block were not being added to the
|
|
; LegalizedNodes list, which triggered an assertion failure.
|
|
|
|
; CHECK-LABEL: {{^}}test:
|
|
; CHECK: MEM_RAT_CACHELESS STORE_RAW
|
|
define amdgpu_kernel void @test(<4 x i8> addrspace(1)* %out, i32 %cond, <4 x i8> %in) {
|
|
entry:
|
|
%0 = icmp eq i32 %cond, 0
|
|
br i1 %0, label %if, label %done
|
|
|
|
if:
|
|
store <4 x i8> %in, <4 x i8> addrspace(1)* %out
|
|
br label %done
|
|
|
|
done:
|
|
ret void
|
|
}
|