summaryrefslogtreecommitdiff
path: root/gcc/config/nvptx/nvptx.h
diff options
context:
space:
mode:
authornathan <nathan@138bc75d-0d04-0410-961f-82ee72b054a4>2015-12-14 19:26:49 +0000
committernathan <nathan@138bc75d-0d04-0410-961f-82ee72b054a4>2015-12-14 19:26:49 +0000
commitdf931be43215b210a0a8ba6f8ea3fa70d3e5ec8f (patch)
tree0db4672849e10a27a980f0dffce1ba6e0e14c9cd /gcc/config/nvptx/nvptx.h
parent7ca909c695cf94388d30d13e46d829ae0bcea84d (diff)
downloadgcc-df931be43215b210a0a8ba6f8ea3fa70d3e5ec8f.tar.gz
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
Diffstat (limited to 'gcc/config/nvptx/nvptx.h')
-rw-r--r--gcc/config/nvptx/nvptx.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/gcc/config/nvptx/nvptx.h b/gcc/config/nvptx/nvptx.h
index 33b2c72d9d9..ed0f28e0dd8 100644
--- a/gcc/config/nvptx/nvptx.h
+++ b/gcc/config/nvptx/nvptx.h
@@ -46,7 +46,8 @@
/* Chosen such that we won't have to deal with multi-word subregs. */
#define UNITS_PER_WORD 8
-#define PARM_BOUNDARY 8
+/* Alignments in bits. */
+#define PARM_BOUNDARY 32
#define STACK_BOUNDARY 64
#define FUNCTION_BOUNDARY 32
#define BIGGEST_ALIGNMENT 64