[PATCH] D41126: [SelectionDAG] Fixed f16-from-vector promotion problem
Matt Arsenault via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Wed Dec 13 07:55:18 PST 2017
arsenm added a comment.
Are you running with asserts disabled? I see:
ScalarizeVectorOperand Op #0: t34: f32 = fp16_to_fp t25
LLVM ERROR: Do not know how to scalarize this operator's operand!
and sure enough ScalarizeVectorOperand doesn't handle this.
================
Comment at: test/CodeGen/AMDGPU/unpack-half.ll:20
+ %7 = extractelement <2 x i32> %bc, i32 1
+ call void @llvm.amdgcn.tbuffer.store.i32(i32 %7, <4 x i32> undef, i32 0, i32 4, i32 %0, i32 0, i32 4, i32 4, i1 true, i1 true) #0
+ ret void
----------------
tpr wrote:
> arsenm wrote:
> > You can probably replace the intrinsics with a regular load and store
> That made it crash, probably because I didn't get the right address space or something. I think it's easier to leave it with the intrinsics from the original reproducer.
Replacing this with
%tmp = load volatile float, float addrspace(1)* undef
and
store volatile i32 %tmp6, i32 addrspace(1)* undef
works for me
https://reviews.llvm.org/D41126
More information about the llvm-commits
mailing list