+2006-11-30 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.md (movsf_1): Enable pattern for standard
+ 80387 constants before reload when optimizing for size.
+ (*movdf_nointeger, *movdf_integer): Ditto.
+ (*movxf_nointeger, *movxf_integer): Disable patterns for standard
+ 80387 constants before reload when not optimizing for size.
+
+ (*fop_xf_4_i387, *fop_xf_5_i387, *fop_xf_6_i387): Avoid float
+ extension of XFmode input operands.
+
2006-11-29 Andrew Pinski <andrew_pinski@playstation.sony.com>
* config/spu/crt0.c (__dso_handle): Define.
2006-11-27 Roger Sayle <roger@eyesopen.com>
Manuel Lopez-Ibanez <manu@gcc.gnu.org>
-
+
* c-common.c (constant_fits_type_p): Delete.
(unsigned_conversion_warning): Delete.
(conversion_warning): Integrate Wconversion warning from
* doc/invoke.texi: Fixed typo.
2006-11-27 Michael Matz <matz@suse.de>
- Andreas Krebbel <krebbel1@de.ibm.com>
+ Andreas Krebbel <krebbel1@de.ibm.com>
PR target/29319
* config/s390/predicates.md (larl_operand): Check addend of larl
NOTE_FUNCTION_END.
2006-11-27 Richard Guenther <rguenther@suse.de>
- Zdenek Dvorak <dvorakz@suse.cz>
+ Zdenek Dvorak <dvorakz@suse.cz>
* target.h (struct gcc_target): Add builtin_vectorized_function
target hook.
"!(MEM_P (operands[0]) && MEM_P (operands[1]))
&& (reload_in_progress || reload_completed
|| (ix86_cmodel == CM_MEDIUM || ix86_cmodel == CM_LARGE)
+ || (!TARGET_SSE_MATH && optimize_size
+ && standard_80387_constant_p (operands[1]))
|| GET_CODE (operands[1]) != CONST_DOUBLE
|| memory_operand (operands[0], SFmode))"
{
&& ((optimize_size || !TARGET_INTEGER_DFMODE_MOVES) && !TARGET_64BIT)
&& (reload_in_progress || reload_completed
|| (ix86_cmodel == CM_MEDIUM || ix86_cmodel == CM_LARGE)
+ || (!(TARGET_SSE2 && TARGET_SSE_MATH) && optimize_size
+ && standard_80387_constant_p (operands[1]))
|| GET_CODE (operands[1]) != CONST_DOUBLE
|| memory_operand (operands[0], DFmode))"
{
&& ((!optimize_size && TARGET_INTEGER_DFMODE_MOVES) || TARGET_64BIT)
&& (reload_in_progress || reload_completed
|| (ix86_cmodel == CM_MEDIUM || ix86_cmodel == CM_LARGE)
+ || (!(TARGET_SSE2 && TARGET_SSE_MATH) && optimize_size
+ && standard_80387_constant_p (operands[1]))
|| GET_CODE (operands[1]) != CONST_DOUBLE
|| memory_operand (operands[0], DFmode))"
{
"optimize_size
&& (GET_CODE (operands[0]) != MEM || GET_CODE (operands[1]) != MEM)
&& (reload_in_progress || reload_completed
- || standard_80387_constant_p (operands[1])
+ || (optimize_size && standard_80387_constant_p (operands[1]))
|| GET_CODE (operands[1]) != CONST_DOUBLE
|| memory_operand (operands[0], XFmode))"
{
"!optimize_size
&& (GET_CODE (operands[0]) != MEM || GET_CODE (operands[1]) != MEM)
&& (reload_in_progress || reload_completed
- || standard_80387_constant_p (operands[1])
+ || (optimize_size && standard_80387_constant_p (operands[1]))
|| GET_CODE (operands[1]) != CONST_DOUBLE
|| memory_operand (operands[0], XFmode))"
{
(define_insn "*fop_xf_4_i387"
[(set (match_operand:XF 0 "register_operand" "=f,f")
(match_operator:XF 3 "binary_fp_operator"
- [(float_extend:XF (match_operand 1 "nonimmediate_operand" "fm,0"))
+ [(float_extend:XF
+ (match_operand:X87MODEF12 1 "nonimmediate_operand" "fm,0"))
(match_operand:XF 2 "register_operand" "0,f")]))]
"TARGET_80387"
"* return output_387_binary_op (insn, operands);"
(match_operator:XF 3 "binary_fp_operator"
[(match_operand:XF 1 "register_operand" "0,f")
(float_extend:XF
- (match_operand 2 "nonimmediate_operand" "fm,0"))]))]
+ (match_operand:X87MODEF12 2 "nonimmediate_operand" "fm,0"))]))]
"TARGET_80387"
"* return output_387_binary_op (insn, operands);"
[(set (attr "type")
[(set (match_operand:XF 0 "register_operand" "=f,f")
(match_operator:XF 3 "binary_fp_operator"
[(float_extend:XF
- (match_operand 1 "register_operand" "0,f"))
+ (match_operand:X87MODEF12 1 "register_operand" "0,f"))
(float_extend:XF
- (match_operand 2 "nonimmediate_operand" "fm,0"))]))]
+ (match_operand:X87MODEF12 2 "nonimmediate_operand" "fm,0"))]))]
"TARGET_80387"
"* return output_387_binary_op (insn, operands);"
[(set (attr "type")