diff options
author | James Van Artsdalen <jrv@gnu.org> | 1992-11-12 13:36:55 +0000 |
---|---|---|
committer | James Van Artsdalen <jrv@gnu.org> | 1992-11-12 13:36:55 +0000 |
commit | 1bbe49a61811a8abef89487625f87bf338a9639f (patch) | |
tree | 9821a86d33cade13e17eb12fa67589d8696b7154 /gcc | |
parent | bf02fc09833ec12432a4c5821419837d077c13ac (diff) | |
download | gcc-1bbe49a61811a8abef89487625f87bf338a9639f.zip gcc-1bbe49a61811a8abef89487625f87bf338a9639f.tar.gz gcc-1bbe49a61811a8abef89487625f87bf338a9639f.tar.bz2 |
(HARD_REGNO_MODE_OK): Restrict MODE_INT from FP regs only.
From-SVN: r2745
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/config/i386/i386.h | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/gcc/config/i386/i386.h b/gcc/config/i386/i386.h index ec7daea..cd2ba8a 100644 --- a/gcc/config/i386/i386.h +++ b/gcc/config/i386/i386.h @@ -276,11 +276,12 @@ extern int target_flags; Make it clear that the fp regs could not hold a 16-byte float. */ #define HARD_REGNO_MODE_OK(REGNO, MODE) \ - ((REGNO) < 2 ? 1 \ - : (REGNO) < 4 ? 1 \ - : (REGNO) >= 8 ? ((GET_MODE_CLASS (MODE) == MODE_FLOAT \ - || GET_MODE_CLASS (MODE) == MODE_COMPLEX_FLOAT) \ - && GET_MODE_UNIT_SIZE (MODE) <= 8) \ + ((REGNO) < 2 ? 1 \ + : (REGNO) < 4 ? 1 \ + : FP_REGNO_P ((REGNO)) \ + ? ((GET_MODE_CLASS (MODE) == MODE_FLOAT \ + || GET_MODE_CLASS (MODE) == MODE_COMPLEX_FLOAT) \ + && GET_MODE_UNIT_SIZE (MODE) <= 8) \ : (MODE) != QImode) /* Value is 1 if it is a good idea to tie two pseudo registers |