(SF_MODES): Accept all single word or smaller integer modes not just SImode.
authorJim Wilson <wilson@gcc.gnu.org>
Fri, 25 Sep 1992 05:46:02 +0000 (22:46 -0700)
committerJim Wilson <wilson@gcc.gnu.org>
Fri, 25 Sep 1992 05:46:02 +0000 (22:46 -0700)
(SF_MODES): Accept all single word or smaller integer
modes not just SImode.  These are needed for fix/float conversions.

From-SVN: r2241

gcc/config/sparc/sparc.c

index cfd50648f0d2d0dd6ba292b27ffde374976d97fb..fe451f9132113cda3f07b56e06926e3383cde31d 100644 (file)
@@ -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))