diff options
author | Richard Henderson <rth@cygnus.com> | 1998-07-01 16:07:35 -0700 |
---|---|---|
committer | Richard Henderson <rth@gcc.gnu.org> | 1998-07-01 16:07:35 -0700 |
commit | 9591225263488fa9e6fe00508d39a431979e1f2a (patch) | |
tree | 46fb25f8645a1790176bbb3e0abe6dc5ef643d04 /gcc | |
parent | 56159047bb0b5fbd3e4355733e656fbb89290abc (diff) | |
download | gcc-9591225263488fa9e6fe00508d39a431979e1f2a.zip gcc-9591225263488fa9e6fe00508d39a431979e1f2a.tar.gz gcc-9591225263488fa9e6fe00508d39a431979e1f2a.tar.bz2 |
i386.h (HARD_REGNO_MODE_OK): Kill spurrious test.
* i386.h (HARD_REGNO_MODE_OK): Kill spurrious test.
(MODES_TIEABLE_P): Tie SImode and HImode.
From-SVN: r20884
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/config/i386/i386.h | 8 |
2 files changed, 10 insertions, 3 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 093d3fb..fc7c2d0 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -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. diff --git a/gcc/config/i386/i386.h b/gcc/config/i386/i386.h index 7e7152c..87eaf86 100644 --- a/gcc/config/i386/i386.h +++ b/gcc/config/i386/i386.h @@ -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. */ |