aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJim Wilson <wilson@gcc.gnu.org>1992-09-24 22:46:02 -0700
committerJim Wilson <wilson@gcc.gnu.org>1992-09-24 22:46:02 -0700
commit1e4eb8d1a0317445b17d6df6c7e1042511bec9b1 (patch)
treed5d218d3724df51af1fccfd7e46a22c3944db600 /gcc
parentbc78eb101e3a9e9cdd0ffc82b1d6c6dbc8c53af4 (diff)
downloadgcc-1e4eb8d1a0317445b17d6df6c7e1042511bec9b1.zip
gcc-1e4eb8d1a0317445b17d6df6c7e1042511bec9b1.tar.gz
gcc-1e4eb8d1a0317445b17d6df6c7e1042511bec9b1.tar.bz2
(SF_MODES): Accept all single word or smaller integer modes not just SImode.
(SF_MODES): Accept all single word or smaller integer modes not just SImode. These are needed for fix/float conversions. From-SVN: r2241
Diffstat (limited to 'gcc')
-rw-r--r--gcc/config/sparc/sparc.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/gcc/config/sparc/sparc.c b/gcc/config/sparc/sparc.c
index cfd5064..fe451f9 100644
--- a/gcc/config/sparc/sparc.c
+++ b/gcc/config/sparc/sparc.c
@@ -1957,8 +1957,10 @@ output_scc_insn (operands, insn)
/* Modes for quad-word quantities. */
#define T_MODES (~C_MODES)
-/* Modes for single-float quantities. */
-#define SF_MODES ((1 << (int) SFmode) | (1 << (int) SImode))
+/* Modes for single-float quantities. We must allow any single word or
+ smaller quantity. This is because the fix/float conversion instructions
+ take integer inputs/outputs from the float registers. */
+#define SF_MODES (S_MODES)
/* Modes for double-float quantities. */
#define DF_MODES (SF_MODES | (1 << (int) DFmode) | (1 << (int) SCmode))