Commit 210e1852 by Roger Sayle Committed by Roger Sayle

re PR middle-end/20419 (ICE in gen_lowpart_general, at rtlhooks.c:58)


	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
parent 7999e310
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,
......
......@@ -5003,6 +5003,11 @@ expand_builtin_signbit (tree exp, rtx target)
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. */
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment