i386.h (HARD_REGNO_NREGS): Use GENERAL_REGNO_P.
authorUros Bizjak <ubizjak@gmail.com>
Thu, 8 Dec 2016 19:15:45 +0000 (20:15 +0100)
committerUros Bizjak <uros@gcc.gnu.org>
Thu, 8 Dec 2016 19:15:45 +0000 (20:15 +0100)
* gcc.target/i386/i386.h (HARD_REGNO_NREGS): Use GENERAL_REGNO_P.
(HARD_REGNO_NREGS_HAS_PADDING): Ditto.  Simplify macro.

From-SVN: r243455

gcc/ChangeLog
gcc/config/i386/i386.h

index 6ada9cdf598e937fd4db95e3425ce46700c86a27..1becd5fddb59a4f0945a6c8f1adf22ed5aba0b44 100644 (file)
@@ -1,3 +1,8 @@
+2016-12-08  Uros Bizjak  <ubizjak@gmail.com>
+
+       * gcc.target/i386/i386.h (HARD_REGNO_NREGS): Use GENERAL_REGNO_P.
+       (HARD_REGNO_NREGS_HAS_PADDING): Ditto.  Simplify macro.
+
 2016-12-08  David Malcolm  <dmalcolm@redhat.com>
 
        * emit-rtl.c (gen_reg_rtx): Move regno_pointer_align and
index 83ffd4e5a58d781cc9a23ace77e231dcef3354e6..8bc31f9187d5a2c319754510a921dc4a6d849b30 100644 (file)
@@ -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)