PR middle-end/20419
* builtins.c (expand_builtin_signbit): Force the signbit's word
into an integer register to avoid SUBREGs of floating point modes.
From-SVN: r96328
+2005-03-11 Roger Sayle <roger@eyesopen.com>
+
+ PR middle-end/20419
+ * builtins.c (expand_builtin_signbit): Force the signbit's word
+ into an integer register to avoid SUBREGs of floating point modes.
+
2005-03-12 Kazu Hirata <kazu@cs.umass.edu>
* cfglayout.c, loop-doloop.c, profile.c, target-def.h,
bitpos = bitpos % BITS_PER_WORD;
}
+ /* Force the intermediate word_mode (or narrower) result into a
+ register. This avoids attempting to create paradoxical SUBREGs
+ of floating point modes below. */
+ temp = force_reg (imode, temp);
+
/* If the bitpos is within the "result mode" lowpart, the operation
can be implement with a single bitwise AND. Otherwise, we need
a right shift and an AND. */