]> gcc.gnu.org Git - gcc.git/commitdiff
i386.h (HARD_REGNO_MODE_OK): Kill spurrious test.
authorRichard Henderson <rth@cygnus.com>
Wed, 1 Jul 1998 23:07:35 +0000 (16:07 -0700)
committerRichard Henderson <rth@gcc.gnu.org>
Wed, 1 Jul 1998 23:07:35 +0000 (16:07 -0700)
        * i386.h (HARD_REGNO_MODE_OK): Kill spurrious test.
        (MODES_TIEABLE_P): Tie SImode and HImode.

From-SVN: r20884

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

index 093d3fb47f44bc45f36c676ec7c826e2eca906c7..fc7c2d0b2e68394d0c5b9335b8b414ce9adb70cb 100644 (file)
@@ -1,3 +1,8 @@
+Wed Jul  1 23:06:03 1998  Richard Henderson  <rth@cygnus.com>
+
+       * i386.h (HARD_REGNO_MODE_OK): Kill spurrious test.
+       (MODES_TIEABLE_P): Tie SImode and HImode.
+
 1998-07-01  Andreas Jaeger  <aj@arthur.rhein-neckar.de>
 
        * invoke.texi (Optimize Options): Fix typo.
index 7e7152c5f206bd11b26271bbd884977ce182c18e..87eaf868a126a4214680ac0614d64066d3398140 100644 (file)
@@ -639,8 +639,7 @@ extern int ix86_arch;
    for cross-compiler testing.  */
 
 #define HARD_REGNO_MODE_OK(REGNO, MODE) \
-  ((REGNO) < 2 ? 1                                             \
-   : (REGNO) < 4 ? 1                                           \
+  ((REGNO) < 4 ? 1                                             \
    : FP_REGNO_P (REGNO)                                                \
    ? (((int) GET_MODE_CLASS (MODE) == (int) MODE_FLOAT         \
        || (int) GET_MODE_CLASS (MODE) == (int) MODE_COMPLEX_FLOAT)     \
@@ -653,7 +652,10 @@ extern int ix86_arch;
    If HARD_REGNO_MODE_OK could produce different values for MODE1 and MODE2,
    for any hard reg, then this must be 0 for correct output.  */
 
-#define MODES_TIEABLE_P(MODE1, MODE2) ((MODE1) == (MODE2))
+#define MODES_TIEABLE_P(MODE1, MODE2)                          \
+  ((MODE1) == (MODE2)                                          \
+   || ((MODE1) == SImode && (MODE2) == HImode                  \
+       || (MODE1) == HImode && (MODE2) == SImode))
 
 /* Specify the registers used for certain standard purposes.
    The values of these macros are register numbers.  */
This page took 0.094209 seconds and 5 git commands to generate.