aboutsummaryrefslogtreecommitdiff
path: root/gcc/config/xtensa/xtensa.h
diff options
context:
space:
mode:
author(no author) <(no author)@138bc75d-0d04-0410-961f-82ee72b054a4>2005-04-05 00:40:41 +0000
committer(no author) <(no author)@138bc75d-0d04-0410-961f-82ee72b054a4>2005-04-05 00:40:41 +0000
commitf6ff45b5b0d670379779a72fe907f5147c2459bb (patch)
treeb1540de4319151105aaad777b387219ef01bc592 /gcc/config/xtensa/xtensa.h
parent521f3adaa1baeaf00caf66ecb1761b845c1bcea7 (diff)
This commit was manufactured by cvs2svn to create tagbje-unsw-branchpoint
'bje-unsw-branchpoint'. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/tags/bje-unsw-branchpoint@97592 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/config/xtensa/xtensa.h')
-rw-r--r--gcc/config/xtensa/xtensa.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/gcc/config/xtensa/xtensa.h b/gcc/config/xtensa/xtensa.h
index 01c0caef91d..776fb5feb23 100644
--- a/gcc/config/xtensa/xtensa.h
+++ b/gcc/config/xtensa/xtensa.h
@@ -209,6 +209,15 @@ extern unsigned xtensa_current_frame_size;
bitfields and the structures that contain them. */
#define PCC_BITFIELD_TYPE_MATTERS 1
+/* Disable the use of word-sized or smaller complex modes for structures,
+ and for function arguments in particular, where they cause problems with
+ register a7. The xtensa_copy_incoming_a7 function assumes that there is
+ a single reference to an argument in a7, but with small complex modes the
+ real and imaginary components may be extracted separately, leading to two
+ uses of the register, only one of which would be replaced. */
+#define MEMBER_TYPE_FORCES_BLK(FIELD, MODE) \
+ ((MODE) == CQImode || (MODE) == CHImode)
+
/* Align string constants and constructors to at least a word boundary.
The typical use of this macro is to increase alignment for string
constants to be word aligned so that 'strcpy' calls that copy