aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorUros Bizjak <uros@gcc.gnu.org>2010-09-08 23:57:59 +0200
committerUros Bizjak <uros@gcc.gnu.org>2010-09-08 23:57:59 +0200
commit2824d6e567c61e0fc3351449ff652bdbc7e93e26 (patch)
tree1e1009f017e0b106c1d29f72b96617ca80541c70 /gcc
parentc485684d0acd2d99cd81c327bd4b33f4d0a5872e (diff)
downloadgcc-2824d6e567c61e0fc3351449ff652bdbc7e93e26.zip
gcc-2824d6e567c61e0fc3351449ff652bdbc7e93e26.tar.gz
gcc-2824d6e567c61e0fc3351449ff652bdbc7e93e26.tar.bz2
* config/i386/i386.h (EH_RETURN_DATA_REGNO) Use DX_REG instead of
numerical constant. (EH_RETURN_STACKADJ_RTX): Use CX_REG insted of numerical constant. From-SVN: r164033
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog8
-rw-r--r--gcc/config/i386/i386.h24
2 files changed, 21 insertions, 11 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index a6c6db3..f4ebde1 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2010-09-08 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.h (EH_RETURN_DATA_REGNO) Use DX_REG instead of
+ numerical constant.
+ (EH_RETURN_STACKADJ_RTX): Use CX_REG insted of numerical constant.
+
2010-09-08 Alexandre Oliva <aoliva@redhat.com>
PR debug/45531
@@ -21,7 +27,7 @@
2010-09-08 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
PR other/18555
- * doc/cppopts.texi (-isysroot): Document Darwin behaviour.
+ * doc/cppopts.texi (-isysroot): Document Darwin behaviour.
2010-09-08 Uros Bizjak <ubizjak@gmail.com>
diff --git a/gcc/config/i386/i386.h b/gcc/config/i386/i386.h
index cbf990a..49402d1 100644
--- a/gcc/config/i386/i386.h
+++ b/gcc/config/i386/i386.h
@@ -740,7 +740,7 @@ enum target_cpu_default
Pentium+ prefers DFmode values to be aligned to 64 bit boundary
and Pentium Pro XFmode values at 128 bit boundaries. */
-#define BIGGEST_ALIGNMENT (TARGET_AVX ? 256: 128)
+#define BIGGEST_ALIGNMENT (TARGET_AVX ? 256 : 128)
/* Maximum stack alignment. */
#define MAX_STACK_ALIGNMENT MAX_OFILE_ALIGNMENT
@@ -1553,8 +1553,9 @@ typedef struct ix86_args {
int mmx_nregs; /* # mmx registers available for passing */
int mmx_regno; /* next available mmx register number */
int maybe_vaarg; /* true for calls to possibly vardic fncts. */
- int float_in_sse; /* 1 if in 32-bit mode SFmode (2 for DFmode) should
- be passed in SSE registers. Otherwise 0. */
+ int float_in_sse; /* Set to 1 or 2 for 32bit targets if
+ SFmode/DFmode arguments should be passed
+ in SSE registers. Otherwise 0. */
enum calling_abi call_abi; /* Set to SYSV_ABI for sysv abi. Otherwise
MS_ABI for ms abi. */
} CUMULATIVE_ARGS;
@@ -1741,8 +1742,10 @@ typedef struct ix86_args {
#define X86_32_REGPARM_MAX 3
#define REGPARM_MAX \
- (TARGET_64BIT ? (TARGET_64BIT_MS_ABI ? X86_64_MS_REGPARM_MAX \
- : X86_64_REGPARM_MAX) \
+ (TARGET_64BIT \
+ ? (TARGET_64BIT_MS_ABI \
+ ? X86_64_MS_REGPARM_MAX \
+ : X86_64_REGPARM_MAX) \
: X86_32_REGPARM_MAX)
#define X86_64_SSE_REGPARM_MAX 8
@@ -1751,12 +1754,13 @@ typedef struct ix86_args {
#define X86_32_SSE_REGPARM_MAX (TARGET_SSE ? (TARGET_MACHO ? 4 : 3) : 0)
#define SSE_REGPARM_MAX \
- (TARGET_64BIT ? (TARGET_64BIT_MS_ABI ? X86_64_MS_SSE_REGPARM_MAX \
- : X86_64_SSE_REGPARM_MAX) \
+ (TARGET_64BIT \
+ ? (TARGET_64BIT_MS_ABI \
+ ? X86_64_MS_SSE_REGPARM_MAX \
+ : X86_64_SSE_REGPARM_MAX) \
: X86_32_SSE_REGPARM_MAX)
#define MMX_REGPARM_MAX (TARGET_64BIT ? 0 : (TARGET_MMX ? 3 : 0))
-
/* Specify the machine mode that this machine uses
for the index in the tablejump instruction. */
@@ -1969,8 +1973,8 @@ extern int const svr4_dbx_register_map[FIRST_PSEUDO_REGISTER];
#define INCOMING_FRAME_SP_OFFSET UNITS_PER_WORD
/* Describe how we implement __builtin_eh_return. */
-#define EH_RETURN_DATA_REGNO(N) ((N) < 2 ? (N) : INVALID_REGNUM)
-#define EH_RETURN_STACKADJ_RTX gen_rtx_REG (Pmode, 2)
+#define EH_RETURN_DATA_REGNO(N) ((N) <= DX_REG ? (N) : INVALID_REGNUM)
+#define EH_RETURN_STACKADJ_RTX gen_rtx_REG (Pmode, CX_REG)
/* Select a format to encode pointers in exception handling data. CODE