nvptx.h (PARM_BOUNDARY): Set to 32.
authorNathan Sidwell <nathan@acm.org>
Mon, 14 Dec 2015 19:26:49 +0000 (19:26 +0000)
committerNathan Sidwell <nathan@gcc.gnu.org>
Mon, 14 Dec 2015 19:26:49 +0000 (19:26 +0000)
commit44eba92d0a0594bda5b53fcb3c8f84f164c653b6
tree0db4672849e10a27a980f0dffce1ba6e0e14c9cd
parent54d62f5148febdf714fa374a10a72c73850ed6bb
nvptx.h (PARM_BOUNDARY): Set to 32.

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.

From-SVN: r231628
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]