gcc/
commitdf931be43215b210a0a8ba6f8ea3fa70d3e5ec8f
authornathan <nathan@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 14 Dec 2015 19:26:49 +0000 (14 19:26 +0000)
committernathan <nathan@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 14 Dec 2015 19:26:49 +0000 (14 19:26 +0000)
tree0db4672849e10a27a980f0dffce1ba6e0e14c9cd
parent7ca909c695cf94388d30d13e46d829ae0bcea84d
gcc/
* config/nvptx/nvptx.h (PARM_BOUNDARY): Set to 32.
* config/nvptx/nvptx.c (PASS_IN_REG_P, RETURN_IN_REG_P): Delete.
(pass_in_memory, promote_arg, promote_return): New.
(nvptx_function_arg_boundary): Delete.
(nvptx_function_value): Use promote_return.
(nvptx_pass_by_reference): Use pass_in_memory.
(nvptx_return_in_memory): Use pass_in_memory.
(nvptx_promote_function_mode): Use promote_arg.
(write_arg): Adjust arg splitting logic.
(write_return): Check and clear ret_reg_mode, if needed.
(write_fn_proto, nvptx_declare_function_name): Adust write_return
calls.
(TARGET_RUNCTION_ARG_BOUNDARY,
TARGET_FUNCTION_ARG_ROUND_BOUNDARY): Don't override.

gcc/testsuite/
* g++.dg/abi/nvptx-nrv1.C: New.
* g++.dg/abi/nvptx-ptrmem1.C: New.
* gcc.target/nvptx/abi-complex-arg.c: New.
* gcc.target/nvptx/abi-complex-ret.c: New.
* gcc.target/nvptx/abi-enum-arg.c: New.
* gcc.target/nvptx/abi-enum-ret.c: New.
* gcc.target/nvptx/abi-knr-arg.c: New.
* gcc.target/nvptx/abi-knr-ret.c: New.
* gcc.target/nvptx/abi-scalar-arg.c: New.
* gcc.target/nvptx/abi-scalar-ret.c: New.
* gcc.target/nvptx/abi-struct-arg.c: New.
* gcc.target/nvptx/abi-struct-ret.c: New.
* gcc.target/nvptx/abi-vararg-1.c: New.
* gcc.target/nvptx/abi-vararg-2.c: New.
* gcc.target/nvptx/abi-vect-arg.c: New.
* gcc.target/nvptx/abi-vect-ret.c: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@231628 138bc75d-0d04-0410-961f-82ee72b054a4
20 files changed:
gcc/ChangeLog
gcc/config/nvptx/nvptx.c
gcc/config/nvptx/nvptx.h
gcc/testsuite/ChangeLog
gcc/testsuite/g++.dg/abi/nvptx-nrv1.C [new file with mode: 0644]
gcc/testsuite/g++.dg/abi/nvptx-ptrmem1.C [new file with mode: 0644]
gcc/testsuite/gcc.target/nvptx/abi-complex-arg.c [new file with mode: 0644]
gcc/testsuite/gcc.target/nvptx/abi-complex-ret.c [new file with mode: 0644]
gcc/testsuite/gcc.target/nvptx/abi-enum-arg.c [new file with mode: 0644]
gcc/testsuite/gcc.target/nvptx/abi-enum-ret.c [new file with mode: 0644]
gcc/testsuite/gcc.target/nvptx/abi-knr-arg.c [new file with mode: 0644]
gcc/testsuite/gcc.target/nvptx/abi-knr-ret.c [new file with mode: 0644]
gcc/testsuite/gcc.target/nvptx/abi-scalar-arg.c [new file with mode: 0644]
gcc/testsuite/gcc.target/nvptx/abi-scalar-ret.c [new file with mode: 0644]
gcc/testsuite/gcc.target/nvptx/abi-struct-arg.c [new file with mode: 0644]
gcc/testsuite/gcc.target/nvptx/abi-struct-ret.c [new file with mode: 0644]
gcc/testsuite/gcc.target/nvptx/abi-vararg-1.c [new file with mode: 0644]
gcc/testsuite/gcc.target/nvptx/abi-vararg-2.c [new file with mode: 0644]
gcc/testsuite/gcc.target/nvptx/abi-vect-arg.c [new file with mode: 0644]
gcc/testsuite/gcc.target/nvptx/abi-vect-ret.c [new file with mode: 0644]