mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-08-21 18:29:46 +00:00
Summary: Fixes PR21100 which is caused by inconsistency between the declared return type and the expected return type at the call site. The new behavior is consistent with nvcc and the NVPTXTargetLowering::getPrototype function. Test Plan: test/Codegen/NVPTX/vector-return.ll Reviewers: jholewinski Reviewed By: jholewinski Subscribers: llvm-commits, meheff, eliben, jholewinski Differential Revision: http://reviews.llvm.org/D5612 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@220607 91177308-0d34-0410-b5e6-96231b3b80d8
15 lines
500 B
LLVM
15 lines
500 B
LLVM
; RUN: llc < %s -march=nvptx64 -mcpu=sm_35 | FileCheck %s
|
|
|
|
declare <2 x float> @bar(<2 x float> %input)
|
|
|
|
define void @foo(<2 x float> %input, <2 x float>* %output) {
|
|
; CHECK-LABEL: @foo
|
|
entry:
|
|
%call = tail call <2 x float> @bar(<2 x float> %input)
|
|
; CHECK: .param .align 8 .b8 retval0[8];
|
|
; CHECK: ld.param.v2.f32 {[[ELEM1:%f[0-9]+]], [[ELEM2:%f[0-9]+]]}, [retval0+0];
|
|
store <2 x float> %call, <2 x float>* %output, align 8
|
|
; CHECK: st.v2.f32 [{{%rd[0-9]+}}], {[[ELEM1]], [[ELEM2]]}
|
|
ret void
|
|
}
|