aboutsummaryrefslogtreecommitdiff
path: root/gcc/config/i386/i386.h
diff options
context:
space:
mode:
authorUros Bizjak <ubizjak@gmail.com>2016-12-08 20:15:45 +0100
committerUros Bizjak <uros@gcc.gnu.org>2016-12-08 20:15:45 +0100
commit7bf65250f195566a57ab6338aef7aa4d13c035a2 (patch)
treec90d62d9ef166f7c78cfbd19fd24a3287f1475cb /gcc/config/i386/i386.h
parenteb6f6eddd4fe24a1f7b148b451b7f09736f9ba74 (diff)
downloadgcc-7bf65250f195566a57ab6338aef7aa4d13c035a2.zip
gcc-7bf65250f195566a57ab6338aef7aa4d13c035a2.tar.gz
gcc-7bf65250f195566a57ab6338aef7aa4d13c035a2.tar.bz2
i386.h (HARD_REGNO_NREGS): Use GENERAL_REGNO_P.
* gcc.target/i386/i386.h (HARD_REGNO_NREGS): Use GENERAL_REGNO_P. (HARD_REGNO_NREGS_HAS_PADDING): Ditto. Simplify macro. From-SVN: r243455
Diffstat (limited to 'gcc/config/i386/i386.h')
-rw-r--r--gcc/config/i386/i386.h19
1 files changed, 8 insertions, 11 deletions
diff --git a/gcc/config/i386/i386.h b/gcc/config/i386/i386.h
index 83ffd4e..8bc31f9 100644
--- a/gcc/config/i386/i386.h
+++ b/gcc/config/i386/i386.h
@@ -1080,22 +1080,19 @@ extern const char *host_detect_local_cpu (int argc, const char **argv);
applied to them. */
#define HARD_REGNO_NREGS(REGNO, MODE) \
- (STACK_REGNO_P (REGNO) || SSE_REGNO_P (REGNO) || MMX_REGNO_P (REGNO) \
- || MASK_REGNO_P (REGNO) || BND_REGNO_P (REGNO) \
- ? (COMPLEX_MODE_P (MODE) ? 2 : \
- (((MODE == V64SFmode) || (MODE == V64SImode)) ? 4 : 1)) \
- : ((MODE) == XFmode \
+ (GENERAL_REGNO_P (REGNO) \
+ ? ((MODE) == XFmode \
? (TARGET_64BIT ? 2 : 3) \
: ((MODE) == XCmode \
? (TARGET_64BIT ? 4 : 6) \
- : CEIL (GET_MODE_SIZE (MODE), UNITS_PER_WORD))))
+ : CEIL (GET_MODE_SIZE (MODE), UNITS_PER_WORD))) \
+ : (COMPLEX_MODE_P (MODE) ? 2 : \
+ (((MODE == V64SFmode) || (MODE == V64SImode)) ? 4 : 1)))
#define HARD_REGNO_NREGS_HAS_PADDING(REGNO, MODE) \
- ((TARGET_128BIT_LONG_DOUBLE && !TARGET_64BIT) \
- ? (STACK_REGNO_P (REGNO) || SSE_REGNO_P (REGNO) || MMX_REGNO_P (REGNO) \
- ? 0 \
- : ((MODE) == XFmode || (MODE) == XCmode)) \
- : 0)
+ (TARGET_128BIT_LONG_DOUBLE && !TARGET_64BIT \
+ && GENERAL_REGNO_P (REGNO) \
+ && ((MODE) == XFmode || (MODE) == XCmode))
#define HARD_REGNO_NREGS_WITH_PADDING(REGNO, MODE) ((MODE) == XFmode ? 4 : 8)