Dorit Naishlos [Sun, 9 Jan 2005 17:30:24 +0000 (17:30 +0000)]
tree-vectorizer.c (vect_enhance_data_refs_alignment): Add dump prints.
* tree-vectorizer.c (vect_enhance_data_refs_alignment): Add dump prints.
(vect_analyze_data_refs_alignment): Add dump prints.
* gcc.dg/vect/pr18400.c: Add checks for alignment prints.
* gcc.dg/vect/pr18425.c: Add checks for alignment prints.
* gcc.dg/vect/pr18536.c: Add checks for alignment prints.
* gcc.dg/vect/vect-1.c: Add checks for alignment prints.
* gcc.dg/vect/vect-2.c: Add checks for alignment prints.
* gcc.dg/vect/vect-3.c: Add checks for alignment prints.
* gcc.dg/vect/vect-4.c: Add checks for alignment prints.
* gcc.dg/vect/vect-5.c: Add checks for alignment prints.
* gcc.dg/vect/vect-6.c: Add checks for alignment prints.
* gcc.dg/vect/vect-7.c: Add checks for alignment prints.
* gcc.dg/vect/vect-13.c: Add checks for alignment prints.
* gcc.dg/vect/vect-17.c: Add checks for alignment prints.
* gcc.dg/vect/vect-18.c: Add checks for alignment prints.
* gcc.dg/vect/vect-19.c: Add checks for alignment prints.
* gcc.dg/vect/vect-20.c: Add checks for alignment prints.
* gcc.dg/vect/vect-21.c: Add checks for alignment prints.
* gcc.dg/vect/vect-22.c: Add checks for alignment prints.
* gcc.dg/vect/vect-23.c: Add checks for alignment prints.
* gcc.dg/vect/vect-24.c: Add checks for alignment prints.
* gcc.dg/vect/vect-25.c: Add checks for alignment prints.
* gcc.dg/vect/vect-26.c: Add checks for alignment prints.
* gcc.dg/vect/vect-27.c: Add checks for alignment prints.
* gcc.dg/vect/vect-28.c: Add checks for alignment prints.
* gcc.dg/vect/vect-29.c: Add checks for alignment prints.
* gcc.dg/vect/vect-31.c: Add checks for alignment prints.
* gcc.dg/vect/vect-32.c: Add checks for alignment prints.
* gcc.dg/vect/vect-33.c: Add checks for alignment prints.
* gcc.dg/vect/vect-34.c: Add checks for alignment prints.
* gcc.dg/vect/vect-35.c: Add checks for alignment prints.
* gcc.dg/vect/vect-36.c: Add checks for alignment prints.
* gcc.dg/vect/vect-37.c: Add checks for alignment prints.
* gcc.dg/vect/vect-40.c: Add checks for alignment prints.
* gcc.dg/vect/vect-41.c: Add checks for alignment prints.
* gcc.dg/vect/vect-42.c: Add checks for alignment prints.
* gcc.dg/vect/vect-43.c: Add checks for alignment prints.
* gcc.dg/vect/vect-44.c: Add checks for alignment prints.
* gcc.dg/vect/vect-46.c: Add checks for alignment prints.
* gcc.dg/vect/vect-47.c: Add checks for alignment prints.
* gcc.dg/vect/vect-48.c: Add checks for alignment prints.
* gcc.dg/vect/vect-50.c: Add checks for alignment prints.
* gcc.dg/vect/vect-52.c: Add checks for alignment prints.
* gcc.dg/vect/vect-53.c: Add checks for alignment prints.
* gcc.dg/vect/vect-56.c: Add checks for alignment prints.
* gcc.dg/vect/vect-58.c: Add checks for alignment prints.
* gcc.dg/vect/vect-60.c: Add checks for alignment prints.
* gcc.dg/vect/vect-62.c: Add checks for alignment prints.
* gcc.dg/vect/vect-64.c: Add checks for alignment prints.
* gcc.dg/vect/vect-65.c: Add checks for alignment prints.
* gcc.dg/vect/vect-66.c: Add checks for alignment prints.
* gcc.dg/vect/vect-67.c: Add checks for alignment prints.
* gcc.dg/vect/vect-68.c: Add checks for alignment prints.
* gcc.dg/vect/vect-69.c: Add checks for alignment prints.
* gcc.dg/vect/vect-72.c: Add checks for alignment prints.
* gcc.dg/vect/vect-73.c: Add checks for alignment prints.
* gcc.dg/vect/vect-74.c: Add checks for alignment prints.
* gcc.dg/vect/vect-75.c: Add checks for alignment prints.
* gcc.dg/vect/vect-76.c: Add checks for alignment prints.
* gcc.dg/vect/vect-77.c: Add checks for alignment prints.
* gcc.dg/vect/vect-78.c: Add checks for alignment prints.
* gcc.dg/vect/vect-80.c: Add checks for alignment prints.
* gcc.dg/vect/vect-86.c: Add checks for alignment prints.
* gcc.dg/vect/vect-87.c: Add checks for alignment prints.
* gcc.dg/vect/vect-88.c: Add checks for alignment prints.
* gcc.dg/vect/vect-89.c: Add checks for alignment prints.
* gcc.dg/vect/vect-all.c: Add checks for alignment prints.
* gcc.dg/vect/vect-1.c: Fix spelling.
* gcc.dg/vect/vect-10.c: Fix spelling.
* gcc.dg/vect/vect-11.c: Fix spelling.
* gcc.dg/vect/vect-12.c: Fix spelling.
* gcc.dg/vect/vect-14.c: Fix spelling.
* gcc.dg/vect/vect-15.c: Fix spelling.
* gcc.dg/vect/vect-16.c: Fix spelling.
* gcc.dg/vect/vect-46.c: Remove obsolete comment.
* gcc.dg/vect/vect-64.c: Fix comments.
* gcc.dg/vect/vect-none.c: Remove vectorizable loop.
Co-Authored-By: Ira Rosen <irar@il.ibm.com>
From-SVN: r93114
Ira Rosen [Sun, 9 Jan 2005 15:12:36 +0000 (15:12 +0000)]
tree-vectorizer.c (vect_analyze_offset_expr): Use expr_invariant_in_loop_p.
2005-01-09 Ira Rosen <irar@il.ibm.com>
* tree-vectorizer.c (vect_analyze_offset_expr): Use
expr_invariant_in_loop_p.
Initialize outputs first thing in the function.
(vect_update_ivs_after_vectorizer): Call initial_condition_in_loop_num.
(vect_is_simple_iv_evolution): Call initial_condition_in_loop_num.
(vect_analyze_pointer_ref_access): Check that the initial condition of
the access function is loop invariant.
From-SVN: r93113
Mark Wielaard [Sun, 9 Jan 2005 13:54:34 +0000 (13:54 +0000)]
parse.y (process_imports): Allocate (and free) original_name only when not already defined.
* parse.y (process_imports): Allocate (and free) original_name only
when not already defined.
* jcf-parse.c (read_class): Free results of find_class() and
lrealpath().
(java_parse_file): Keep pointer to head of file_list and free when
done. Free result of lrealpath().
From-SVN: r93109
Manfred Hollstein [Sun, 9 Jan 2005 12:28:14 +0000 (12:28 +0000)]
pr18241-1.c: Fix dg-do parameter.
* gcc.dg/pr18241-1.c: Fix dg-do parameter.
* gcc.dg/pr18241-2.c: Likewise.
* gcc.dg/pr18241-3.c: Likewise.
* gcc.dg/pr18241-4.c: Likewise.
* gcc.dg/pr18241-5.c: Likewise.
From-SVN: r93108
Richard Henderson [Sun, 9 Jan 2005 11:23:25 +0000 (03:23 -0800)]
i386.c (bdesc_2arg): Update names for mmx_ prefixes.
* config/i386/i386.c (bdesc_2arg): Update names for mmx_ prefixes.
(ix86_expand_builtin): Likewise. Frob MASKMOVQ wrt the input mem
just like MASKMOVDQU. Return plain zero for MMX_ZERO.
* config/i386/i386.md (MMXMODEI, mov<MMXMODEI>,
mov<MMXMODEI>_internal_rex64, mov<MMXMODEI>_internal, movv2sf,
movv2sf_internal_rex64, movv2sf_internal, MMXMODE,
movmisalign<MMXMODE>, mmx_pmovmskb, mmx_maskmovq, mmx_maskmovq_rex,
sse_movntdi, addv8qi3, addv4hi3, addv2si3, mmx_adddi3, ssaddv8qi3,
ssaddv4hi3, usaddv8qi3, usaddv4hi3, subv8qi3, subv4hi3, subv2si3,
mmx_subdi3, sssubv8qi3, sssubv4hi3, ussubv8qi3, ussubv4hi3,
mulv4hi3, smulv4hi3_highpart, umulv4hi3_highpart, mmx_pmaddwd,
sse2_umulsidi3, mmx_iordi3, mmx_xordi3, mmx_anddi3, mmx_nanddi3,
mmx_uavgv8qi3, mmx_uavgv4hi3, mmx_psadbw, mmx_pinsrw, mmx_pinsrw,
mmx_pextrw, mmx_pshufw, eqv8qi3, eqv4hi3, eqv2si3, gtv8qi3, gtv4hi3,
gtv2si3, umaxv8qi3, smaxv4hi3, uminv8qi3, sminv4hi3, ashrv4hi3,
ashrv2si3, lshrv4hi3, lshrv2si3, mmx_lshrdi3, ashlv4hi3, ashlv2si3,
mmx_ashldi3, mmx_packsswb, mmx_packssdw, mmx_packuswb, mmx_punpckhbw,
mmx_punpckhwd, mmx_punpckhdq, mmx_punpcklbw, mmx_punpcklwd,
mmx_punpckldq, emms, addv2sf3, subv2sf3, subrv2sf3, gtv2sf3, gev2sf3,
eqv2sf3, pfmaxv2sf3, pfminv2sf3, mulv2sf3, femms, pf2id, pf2iw,
pfacc, pfnacc, pfpnacc, pi2fw, floatv2si2, pfrcpv2sf2, pfrcpit1v2sf3,
pfrcpit2v2sf3, pfrsqrtv2sf2, pfrsqit1v2sf3, pmulhrwv4hi3, pswapdv2si2,
pswapdv2sf2): Move to mmx.md; rename as necessary with leading
mmx_ prefix.
(mmx_clrdi, pavgusb): Remove.
(ldmxcsr, stmxcsr, sfence, sfence_insn): Move to sse.md; rename
with leading sse_ prefix.
* config/i386/sse.md: Receive them.
* config/i386/mmx.md: New file.
(MMXMODE12, MMXMODE24, mmxvecsize): New.
(subrv2sf3): Turn into expander for normal subtraction.
(mmx_addv2sf3, mmx_mulv2sf3, mmx_smaxv2sf3, mmx_sminv2sf3,
mmx_eqv2sf3, mmx_mulv4hi3, mmx_smulv4hi3_highpart,
mmx_umulv4hi3_highpart, mmx_pmaddwd, mmx_pmulhrwv4hi3, sse2_umulsidi3,
mmx_umaxv8qi3, mmx_smaxv4hi3, mmx_uminv8qi3, mmx_sminv4hi3): Mark
commutative; use ix86_binary_operator_ok.
(mmx_add<MMXMODEI>3, mmx_ssadd<MMXMODE12>3, mmx_usadd<MMXMODE12>3,
mmx_sub<MMXMODEI>3, mmx_sssub<MMXMODE12>3, mmx_ussub<MMXMODE12>3
mmx_ashr<MMXMODE24>3, mmx_lshr<MMXMODE23>3, mmx_ashl<MMXMODE24>3
mmx_eq<MMXMODEI>3, mmx_gt<MMXMODEI>3, mmx_and<MMXMODEI>3,
mmx_nand<MMXMODEI>3, mmx_ior<MMXMODEI>3, mmx_xor<MMXMODEI>3):
Macroize from existing patterns; use ix86_binary_operator_ok.
(mmx_packsswb, mmx_packssdw, mmx_packuswb): Add memory alternative.
(mmx_punpckhbw, mmx_punpcklbw, mmx_punpckhwd, mmx_punpcklwd,
mmx_punpckhdq, mmx_punpckhdq, mmx_punpckldq): Likewise. Model
with vec_select+vec_concat.
(mmx_pshufw, mmx_pshufw_1): Likewise.
(mmx_uavgv8qi3): Merge pavgusb. Model correcty.
(mmx_uavgv4hi3): Model correctly.
* config/i386/mmintrin.h (_mm_and_si64, _mm_andnot_si64, _mm_or_si64,
_mm_xor_si64): Remove casts.
From-SVN: r93107
Zdenek Dvorak [Sun, 9 Jan 2005 08:22:10 +0000 (09:22 +0100)]
re PR tree-optimization/19224 (Endless loop compiling simple file: Bug in tree-scalar-evolution.c (instantiate_parameters_1)?)
PR tree-optimization/19224
* tree-scalar-evolution.c (get_instantiated_value,
set_instantiated_value): New functions.
(instantiate_parameters_1): Cache the results.
(instantiate_parameters, resolve_mixers): Initialize and free
the cache.
From-SVN: r93106
David Edelsohn [Sun, 9 Jan 2005 01:28:04 +0000 (01:28 +0000)]
i386.md (addhi_4): Correct reference in comment.
* config/i386/i386.md (addhi_4): Correct reference in comment.
(addqi_4): Same.
From-SVN: r93102
Richard Henderson [Sun, 9 Jan 2005 00:51:31 +0000 (16:51 -0800)]
emmintrin.h (_mm_cvtsi128_si32): Move earlier.
* config/i386/emmintrin.h (_mm_cvtsi128_si32): Move earlier.
(_mm_cvtsi128_si64x): Likewise.
(_mm_srl_epi64, _mm_srl_epi32, _mm_srl_epi16, _mm_sra_epi32,
_mm_sra_epi16, _mm_sll_epi64, _mm_sll_epi32, _mm_sll_epi16): Use
the _mm_{srl,sll}i_foo counterpart, and _mm_cvtsi128_si32.
* config/i386/i386-modes.def: Add V16HI, V32QI, V4DF, V8SF.
* config/i386/i386-protos.h: Update.
* config/i386/i386.c (print_operand): Add 'H'.
(ix86_fixup_binary_operands): Split out from ...
(ix86_expand_binary_operator): ... here.
(ix86_fixup_binary_operands_no_copy): New.
(ix86_expand_fp_absneg_operator): Handle vector mode results.
(bdesc_2arg): Update names for sse{,2,3}_ prefixes.
(ix86_init_mmx_sse_builtins): Remove *maskncmp* special cases.
(safe_vector_operand): Use CONST0_RTX.
(ix86_expand_binop_builtin): Use ix86_fixup_binary_operands.
(ix86_expand_builtin): Merge CODE_FOR_sse2_maskmovdqu_rex64 and
CODE_FOR_sse2_maskmovdqu. Special case SSE version of MASKMOVDQU
expansion. Update names for sse{,2,3}_ prefixes. Remove *maskncmp*
special cases.
* config/i386/i386.h (IX86_BUILTIN_CMPNGTSS): New.
(IX86_BUILTIN_CMPNGESS): New.
* config/i386/i386.md (UNSPEC_FIX_NOTRUNC): New.
(attr type): Add sselog1.
(attr unit, attr memory): Handle it.
(movti, movti_internal, movti_rex64): Move near other integer moves.
(movtf, movtf_internal): Move near other fp moves.
(SSEMODE, SSEMODEI, vec_setv2df, vec_extractv2df, vec_initv2df,
vec_setv4sf, vec_extractv4sf, vec_initv4sf, movv4sf, movv4sf_internal,
movv2df, movv2df_internal, mov<SSEMODEI>, mov<SSEMODEI>_internal,
movmisalign<SSEMODE>, sse_movups_1, sse_movmskps, sse_movntv4sf,
sse_movhlps, sse_movlhps, sse_storehps, sse_loadhps, sse_storelps,
sse_loadlps, sse_loadss, sse_loadss_1, sse_movss, sse_storess,
sse_shufps, addv4sf3, vmaddv4sf3, subv4sf3, vmsubv4sf3, negv4sf2,
mulv4sf3, vmmulv4sf3, divv4sf3, vmdivv4sf3, rcpv4sf2, vmrcpv4sf2,
rsqrtv4sf2, vmrsqrtv4sf2, sqrtv4sf2, vmsqrtv4sf2, sse_andv4sf3,
sse_nandv4sf3, sse_iorv4sf3, sse_xorv4sf3, sse2_andv2df3,
sse2_nandv2df3, sse2_iorv2df3, sse2_xorv2df3, sse2_andv2di3,
sse2_nandv2di3, sse2_iorv2di3, sse2_xorv2di3, maskcmpv4sf3,
vmmaskcmpv4sf3, sse_comi, sse_ucomi, sse_unpckhps, sse_unpcklps,
smaxv4sf3, vmsmaxv4sf3, sminv4sf3, vmsminv4sf3, cvtpi2ps, cvtps2pi,
cvttps2pi, cvtsi2ss, cvtsi2ssq, cvtss2si, cvtss2siq, cvttss2si,
cvttss2siq, addv2df3, vmaddv2df3, subv2df3, vmsubv2df3, mulv2df3,
vmmulv2df3, divv2df3, vmdivv2df3, smaxv2df3, vmsmaxv2df3, sminv2df3,
vmsminv2df3, sqrtv2df2, vmsqrtv2df2, maskcmpv2df3, vmmaskcmpv2df3,
sse2_comi, sse2_ucomi, sse2_movmskpd, sse2_pmovmskb, sse2_maskmovdqu,
sse2_maskmovdqu_rex64, sse2_movntv2df, sse2_movntv2di, sse2_movntsi,
cvtdq2ps, cvtps2dq, cvttps2dq, cvtdq2pd, cvtpd2dq, cvttpd2dq,
cvtpd2pi, cvttpd2pi, cvtpi2pd, cvtsd2si, cvtsd2siq, cvttsd2si,
cvttsd2siq, cvtsi2sd, cvtsi2sdq, cvtsd2ss, cvtss2sd, cvtpd2ps,
cvtps2pd, addv16qi3, addv8hi3, addv4si3, addv2di3, ssaddv16qi3,
ssaddv8hi3, usaddv16qi3, usaddv8hi3, subv16qi3, subv8hi3, subv4si3,
subv2di3, sssubv16qi3, sssubv8hi3, ussubv16qi3, ussubv8hi3, mulv8hi3,
smulv8hi3_highpart, umulv8hi3_highpart, sse2_umulsidi3,
sse2_umulv2siv2di3, sse2_pmaddwd, sse2_uavgv16qi3, sse2_uavgv8hi3,
sse2_psadbw, sse2_pinsrw, sse2_pextrw, sse2_pshufd, sse2_pshuflw,
sse2_pshufhw, eqv16qi3, eqv8hi3, eqv4si3, gtv16qi3, gtv8hi3,
gtv4si3, umaxv16qi3, smaxv8hi3, uminv16qi3, sminv8hi3, ashrv8hi3,
ashrv4si3, lshrv8hi3, lshrv4si3, lshrv2di3, ashlv8hi3, ashlv4si3,
ashlv2di3, sse2_ashlti3, sse2_lshrti3, sse2_unpckhpd, sse2_unpcklpd,
sse2_packsswb, sse2_packssdw, sse2_packuswb, sse2_punpckhbw,
sse2_punpckhwd, sse2_punpckhdq, sse2_punpcklbw, sse2_punpcklwd,
sse2_punpckldq, sse2_punpcklqdq, sse2_punpckhqdq, sse2_movupd,
sse2_movdqu, sse2_movdq2q, sse2_movdq2q_rex64, sse2_movq2dq,
sse2_movq2dq_rex64, sse2_loadd, sse2_stored, sse2_storehpd,
sse2_loadhpd, sse2_storelpd, sse2_loadlpd, sse2_movsd, sse2_loadsd,
sse2_loadsd_1, sse2_storesd, sse2_shufpd, sse2_clflush, sse2_mfence,
mfence_insn, sse2_lfence, lfence_insn, mwait, monitor, addsubv4sf3,
addsubv2df3, haddv4sf3, haddv2df3, hsubv4sf3, hsubv2df3, movshdup,
movsldup, lddqu, loadddup, movddup): Move to sse.md. Any with
non-optabs meanings renamed with an "sse{,2,3}_" prefix at the
same time.
(SSEPUSH, push<SSEPUSH>): Remove.
(MMXPUSH, push<MMXPUSH>): Remove.
(sse_movaps, sse_movaps_1, sse_movups): Remove.
(sse2_movapd, sse2_movdqa, sse2_movq): Remove.
(sse2_andti3, sse2_nandti3, sse2_iorti3, sse2_xorti3): Remove.
(sse_clrv4sf, sse_clrv2df, sse2_clrti): Remove.
(maskncmpv4sf3, vmmaskncmpv4sf3): Remove.
(maskncmpv2df3, vmmaskncmpv2df3): Remove.
(ashrv8hi3_ti, ashrv4si3_ti, lshrv8hi3_ti, lshrv4si3_ti): Remove.
(lshrv2di3_ti, ashlv8hi3_ti, ashlv4si3_ti, ashlv2di3_ti): Remove.
* config/i386/athlon.md (athlon_sselog_load): Handle sselog1.
(athlon_sselog_load_k8, athlon_sselog, athlon_sselog_k8): Likewise.
* config/i386/ppro.md (ppro_sse_div_V4SF_load): Fix memory attr.
(ppro_sse_log_V4SF_load): Similarly. Handle sselog1.
(ppro_sse_log_V4SF): Handle sselog1.
* config/i386/predicates.md (const_0_to_1_operand): New.
(const_0_to_255_mul_8_operand): New.
(const_1_to_31_operand): Rename from const_int_1_31_operand.
(const_2_to_3_operand, const_4_to_7_operand): New.
* config/i386/sse.md: New file.
(SSEMODE12, SSEMODE24, SSEMODE124, SSEMODE248, ssevecsize): New.
(sse_movups): Rename from sse_movups_1.
(sse_loadlss): Rename from sse_loadss_1.
(andv4sf3, iorv4sf3, xorv4sf3, andv2df3): Remove the sse prefix
from the name.
(negv4sf2): Use ix86_expand_fp_absneg_operator.
(absv4sf2, negv2df, absv2df): New.
(addv4sf3): Add expander to call ix86_fixup_binary_operands_no_copy.
(subv4sf3, mulv4sf3, divv4sf3, smaxv4sf3, sminv4sf3, andv4sf3,
iorv4sf3, xorv4sf3, addv2df3, subv2df3, mulv2df3, divv2df3,
smaxv2df3, sminv2df3, andv2df3, iorv2df3, xorv2df3, mulv8hi3,
umaxv16qi3, smaxv8hi3, uminv16qi3, sminv8hi3): Likewise.
(sse3_addsubv4sf3): Model correctly.
sse3_haddv4sf3, sse3_hsubv4sf3, sse3_addsubv2df3, sse3_haddv2df3,
sse3_hsubv2df3, sse2_ashlti3, sse2_lshrti3): Likewise.
(sse_movhlps): Model with vec_select+vec_concat.
(sse_movlhps, sse_unpckhps, sse_unpcklps, sse3_movshdup,
sse3_movsldup, sse_shufps, sse_shufps_1, sse2_unpckhpd, sse3_movddup,
sse2_unpcklpd, sse2_shufpd, sse2_shufpd_1, sse2_punpckhbw,
sse2_punpcklbw, sse2_punpckhwd, sse2_punpcklwd, sse2_punpckhdq,
sse2_punpckldq, sse2_punpckhqdq, sse2_punpcklqdq, sse2_pshufd,
sse2_pshufd_1, sse2_pshuflw, sse2_pshuflw_1, sse2_pshufhw,
sse2_pshufhw_1): Likewise.
(neg<SSEMODEI>2, one_cmpl<SSEMODEI>2): New.
(add<SSEMODEI>3, sse2_ssadd<SSEMODE12>3, sse2_usadd<SSEMODE12>3,
sub<SSEMODEI>3, sse2_sssub<SSEMODE12>3, sse2_ussub<SSEMODE12>3,
ashr<SSEMODE24>3, lshr<SSEMODE248>3, sse2_eq<SSEMODE124>3,
sse2_gt<SSEMODDE124>3, and<SSEMODEI>3, sse_nand<SSEMODEI>3,
ior<SSEMODEI>3, xor<SSEMODEI>3): Macroize from existing patterns.
(addv4sf3, sse_vmaddv4sf3, mulv4sf3, sse_vmmulv4sf3, smaxv4sf3,
sse_vmsmaxv4sf3, sminv4sf3, sse_vmsminv4sf3, addv2df3, sse2_vmaddv2df3,
mulv2df3, sse2_vmmulv2df3, smaxv2df3, sse2_vmsmaxv2df3, sminv2df3,
sse2_vmsminv2df3, umaxv16qi3, smaxv8hi3, uminv16qi3
sminv8hi3): Mark commutative
operands. Use ix86_binary_operator_ok.
(sse_unpckhps, sse_unpcklps, sse2_packsswb, sse2_packssdw,
sse2_packuswb, sse2_punpckhbw, sse2_punpcklbw, sse2_punpckhwd,
sse2_punpcklwd, sse2_punpckhdq, sse2_punpckldq, sse2_punpckhqdq,
sse2_punpcklqdq): Allow operand2 in memory.
(sse_movhlps, sse_movlhps, sse2_unpckhpd, sse2_unpcklpd
sse2_movsd): Add memory alternatives.
(sse_storelps): Turn expander into an insn; split after reload.
(sse_storess, sse2_loadhpd, sse2_loadlpd): Add non-xmm inputs.
(sse2_storehpd, sse2_storelpd): Add non-xmm outputs.
From-SVN: r93101
GCC Administrator [Sun, 9 Jan 2005 00:16:24 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r93098
Tobias Schlüter [Sat, 8 Jan 2005 23:16:18 +0000 (00:16 +0100)]
Fix typo
From-SVN: r93095
Eric Botcazou [Sat, 8 Jan 2005 23:14:06 +0000 (00:14 +0100)]
configure.ac (DWARF-2 debug_line): Use objdump.
* configure.ac (DWARF-2 debug_line): Use objdump.
* configure: Regenerate.
From-SVN: r93094
Tobias Schlüter [Sat, 8 Jan 2005 22:40:47 +0000 (23:40 +0100)]
arith.c (arctangent2, [...]): Fix whitespace issues.
* arith.c (arctangent2, gfc_arith_init_1, gfc_arith_done_1,
gfc_constant_result, gfc_range_check, gfc_arith_power,
eval_type_intrinsic0, eval_intrinsic_f2, gfc_real2real,
gfc_real2complex, gfc_complex2int, gfc_complex2real,
gfc_complex2complex): Fix whitespace issues.
check.c (must_be, type_check, numeric_check, int_or_real_check,
logical_array_check, array_check, scalar_check, nonoptional_check,
variable_check, dim_check, check_a_kind, gfc_check_a_ikind,
gfc_check_a_xkind, gfc_check_abs, gfc_check_all_any,
gfc_check_allocated, gfc_check_a_p, gfc_check_besn,
gfc_check_btest, gfc_check_char, gfc_check_cmplx, gfc_check_count,
gfc_check_cshift, gfc_check_dcmplx, gfc_check_dble,
gfc_check_digits, gfc_check_dot_product, gfc_check_eoshift,
gfc_check_fnum, gfc_check_g77_math1, gfc_check_huge, gfc_check_i,
gfc_check_iand, gfc_check_ibclr, gfc_check_ibits, gfc_check_ibset,
gfc_check_idnint, gfc_check_ieor, gfc_check_index, gfc_check_int,
gfc_check_ior, gfc_check_ishft, gfc_check_ishftc, gfc_check_kind,
gfc_check_lbound, gfc_check_logical, min_max_args,
gfc_check_min_max_integer, gfc_check_min_max_real,
gfc_check_min_max_double, gfc_check_matmul,
gfc_check_minval_maxval, gfc_check_merge, gfc_check_nearest,
gfc_check_pack, gfc_check_precision, gfc_check_radix,
gfc_check_range, gfc_check_real, gfc_check_repeat,
gfc_check_scale, gfc_check_scan, gfc_check_selected_real_kind,
gfc_check_set_exponent): Fix formatting issues.
(gfc_check_size, gfc_check_sign): Alphabetize function order,
remove whitespace-only line.
(gfc_check_fstat, gfc_check_fstat_sub, gfc_check_stat,
gfc_check_stat_sub, gfc_check_transfer, gfc_check_transpose,
gfc_check_ubound, gfc_check_unpack, gfc_check_verify, gfc_check_x,
gfc_check_cpu_time, gfc_check_date_and_time, gfc_check_mvbits,
gfc_check_random_number, gfc_check_random_seed,
gfc_check_second_sub, gfc_check_system_clock,
gfc_check_getcwd_sub, gfc_check_exit, gfc_check_flush,
gfc_check_umask, gfc_check_umask_sub, gfc_check_unlink,
gfc_check_unlink_sub): Fix formatting issues.
From-SVN: r93093
Tobias Schlüter [Sat, 8 Jan 2005 21:47:36 +0000 (22:47 +0100)]
trans-intrinsic.c (gfc_get_intrinsic_lib_fndecl, [...]): Remove trailing whitespace.
* trans-intrinsic.c (gfc_get_intrinsic_lib_fndecl,
gfc_conv_intrinsic_bound, gfc_conv_intrinsic_minmaxloc,
gfc_conv_intrinsic_ishft, gfc_conv_intrinsic_len): Remove
trailing whitespace.
(prepare_arg_info): Fix formatting, indenting and remove trailing
whitespace.
(gfc_conv_intrinsic_spacing, gfc_conv_intrinsic_trim): Remove
trailing whitespace.
From-SVN: r93092
Tobias Schlüter [Sat, 8 Jan 2005 20:18:53 +0000 (21:18 +0100)]
* trans-const.c: Don't include unused math.h.
From-SVN: r93090
Diego Novillo [Sat, 8 Jan 2005 18:32:48 +0000 (13:32 -0500)]
Fix botched ChangeLog entries in previous commit.
From-SVN: r93089
Diego Novillo [Sat, 8 Jan 2005 18:31:39 +0000 (13:31 -0500)]
[multiple changes]
2005-01-08 Jeff Law <law@redhat.com>
Diego Novillo <dnovillo@redhat.com>
* tree-nrv.c (tree_nrv): Ignore volatile return values.
* tree-ssa-dse.c (dse_optimize_stmt): Do not optimize
statements with volatile operands.
* tree-ssa-operands.c (add_stmt_operand): Do add volatile
operands after marking a statement with has_volatile_ops.
testsuite/ChangeLog:
2005-01-08 Diego Novillo <dnovillo@redhat.com>
* gcc.dg/pr18241-1.c: New test.
* gcc.dg/pr18241-2.c: New test.
* gcc.dg/pr18241-3.c: New test.
* gcc.dg/pr18241-4.c: New test.
* gcc.dg/pr18241-5.c: New test.
From-SVN: r93088
Steven G. Kargl [Sat, 8 Jan 2005 17:31:40 +0000 (18:31 +0100)]
select_2.f90, [...]: New.
* gfortran.dg/select_2.f90, gfortran.dg/select_3.f90,
gfortran.dg/select_4.f90: New.
From-SVN: r93087
Roger Sayle [Sat, 8 Jan 2005 16:13:22 +0000 (16:13 +0000)]
tree.c (int_fits_type_p): Always honor integer constant TYPE_MIN_VALUE and TYPE_MAX_VALUE if they exist.
* tree.c (int_fits_type_p): Always honor integer constant
TYPE_MIN_VALUE and TYPE_MAX_VALUE if they exist.
From-SVN: r93086
Roger Sayle [Sat, 8 Jan 2005 14:47:56 +0000 (14:47 +0000)]
ifcvt.c (find_if_case_1): Reinstate 2005-01-04 change...
* ifcvt.c (find_if_case_1): Reinstate 2005-01-04 change, now that
the latent bug in rtl_delete_block has been resolved.
From-SVN: r93085
Tobias Schlüter [Sat, 8 Jan 2005 13:35:18 +0000 (14:35 +0100)]
gfortran.h: Remove outdated comment.
* gfortran.h: Remove outdated comment. Don't include stdio.h
explicitly.
From-SVN: r93082
Richard Sandiford [Sat, 8 Jan 2005 11:59:25 +0000 (11:59 +0000)]
t-iris6 (MULTILIB_DIRNAMES): Use -mabi argument values.
* config/mips/t-iris6 (MULTILIB_DIRNAMES): Use -mabi argument values.
(MULTILIB_OSDIRNAMES): Use the standard lib, lib32 and lib64.
From-SVN: r93081
Richard Sandiford [Sat, 8 Jan 2005 11:45:54 +0000 (11:45 +0000)]
t-slibgcc-irix (SHLIB_LINK): Install a copy of the library as @multilib_dir@/$(SHLIB_SONAME).
* config/mips/t-slibgcc-irix (SHLIB_LINK): Install a copy of the
library as @multilib_dir@/$(SHLIB_SONAME).
From-SVN: r93080
Eric Botcazou [Sat, 8 Jan 2005 01:17:47 +0000 (02:17 +0100)]
configure.ac (HAVE_AS_OFFSETABLE_LO10): Fix typo.
* configure.ac (HAVE_AS_OFFSETABLE_LO10): Fix typo.
* configure: Regenerate.
From-SVN: r93075
GCC Administrator [Sat, 8 Jan 2005 00:16:36 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r93072
Tom Tromey [Fri, 7 Jan 2005 22:15:46 +0000 (22:15 +0000)]
* java/lang/ClassLoader.java (findClass): Fixed documentation.
From-SVN: r93069
Jakub Jelinek [Fri, 7 Jan 2005 20:05:14 +0000 (21:05 +0100)]
c-common.c (handle_mode_attribute): For ENUMERAL_TYPE, also copy TYPE_MODE.
* c-common.c (handle_mode_attribute): For ENUMERAL_TYPE, also copy
TYPE_MODE.
* gcc.c-torture/execute/
20050107-1.c: New test.
From-SVN: r93066
Benjamin Kosnik [Fri, 7 Jan 2005 19:34:46 +0000 (19:34 +0000)]
acinclude.m4: Remove CCODECVT_H.
2005-01-07 Benjamin Kosnik <bkoz@redhat.com>
* acinclude.m4: Remove CCODECVT_H.
* configure: Regenerate.
* include/Makefile.am (host_headers_extra): Move to...
(ext_headers): ...here.
* include/Makefile.in: Regenerate.
* include/ext/enc_filebuf: Remove enc_filebuf, consolidate
enc_traits to...
* config/locale/ieee_1003.1-2001/codecvt_specializations.h: Move...
* include/ext/codecvt_specializations.h: ...here. Remove
_GLIBCXX_USE___ENC_TRAITS.
(__enc_traits): To __encoding_state, put in __gnu_cxx namespace.
(enc_char_traits): To __encoding_char_traits, put in __gnu_cxx
namespace.
* config/locale/generic/codecvt_specializations.h: Remove.
* include/bits/codecvt.h: Remove codecvt_specializations.h include.
* src/codecvt.cc: Remove __enc_traits::_S_max_size.
From-SVN: r93062
Nathan Sidwell [Fri, 7 Jan 2005 17:09:15 +0000 (17:09 +0000)]
re PR c++/19298 (dependent type (references) and calling a function method)
cp:
PR c++/19298
* pt.c (tsubst_qualified_id): Call convert_from_reference.
testsuite:
PR c++/19298
* g++.dg/template/ref2.C: New.
From-SVN: r93055
Andrew Pinski [Fri, 7 Jan 2005 15:52:02 +0000 (15:52 +0000)]
pr17529.c (y): Change size of array to 1 instead of being empty.
2005-01-07 Andrew Pinski <pinskia@physics.uc.edu>
* gcc.c-torture/compile/pr17529.c (y): Change size of array to 1
instead of being empty.
From-SVN: r93053
David Edelsohn [Fri, 7 Jan 2005 15:30:13 +0000 (15:30 +0000)]
re PR rtl-optimization/13674 (ICE in reload_cse_simplify_operands, at postreload.c:378 on PPC64)
PR target/13674
* config/rs6000/rs6000.c (rs6000_legitimize_reload_address):
Convert non-word aligned offset address using ld/std into
indirect address.
From-SVN: r93052
Richard Henderson [Fri, 7 Jan 2005 14:29:44 +0000 (06:29 -0800)]
* config/i386/i386.md (sse_loadhps splitter): Fix operand number typo.
From-SVN: r93051
Tobias Schlüter [Fri, 7 Jan 2005 11:56:11 +0000 (12:56 +0100)]
re PR fortran/15553 (Array copy operation produces garbage)
PR fortran/15553
* gfortran.dg/array-1.f90: New test.
From-SVN: r93049
Michael Koch [Fri, 7 Jan 2005 11:32:07 +0000 (11:32 +0000)]
re PR libgcj/18115 (JNI nio buffer functions only work with byte buffers)
2005-01-07 Michael Koch <konqueror@gmx.de>
PR libgcj/18115
* java/nio/Buffer.java (address): New field.
* java/nio/DirectByteBufferImpl.java (address): Removed.
* java/nio/MappedByteBufferImpl.java (address): Likewise.
* java/nio/CharViewBufferImpl.java (CharViewBufferImpl):
Explicitly initialize Buffer.address if needed.
* java/nio/DoubleViewBufferImpl.java (DoubleViewBufferImpl): Likewise.
* java/nio/FloatViewBufferImpl.java (FloatViewBufferImpl): Likewise.
* java/nio/IntViewBufferImpl.java (IntViewBufferImpl): Likewise.
* java/nio/LongViewBufferImpl.java (LongViewBufferImpl): Likewise.
* java/nio/ShortViewBufferImpl.java (ShortViewBufferImpl): Likewise.
* jni.cc (_Jv_JNI_GetDirectBufferAddress): Don't assume buffer is a
DirectByteBufferImpl object.
(_Jv_JNI_GetDirectBufferCapacity): Likewise.
* testsuite/libjava.jni/directbuffer.c,
testsuite/libjava.jni/directbuffer.java,
testsuite/libjava.jni/directbuffer.out,
testsuite/libjava.jni/bytebuffer.c,
testsuite/libjava.jni/bytebuffer.java,
testsuite/libjava.jni/bytebuffer.out: New files.
From-SVN: r93046
Richard Sandiford [Fri, 7 Jan 2005 09:24:49 +0000 (09:24 +0000)]
* tree.h (IS_EXPR_CODE_CLASS): Use a straight-forward range check.
From-SVN: r93044
Jakub Jelinek [Fri, 7 Jan 2005 09:08:10 +0000 (10:08 +0100)]
re PR tree-optimization/19283 (Bad code generated in final_cleanup)
PR tree-optimization/19283
* fold-const.c (fold_widened_comparison): Return NULL if shorter_type
is not shorter than the original type.
* gcc.c-torture/execute/
20050106-1.c: New test.
From-SVN: r93043
Jakub Jelinek [Fri, 7 Jan 2005 09:05:46 +0000 (10:05 +0100)]
re PR target/19012 (ICE on testsuite/gcc.c-torture/execute/930208-1.c with -fpack-struct -Os)
PR rtl-optimization/19012
* config/i386/i386.md (addqi_1_slp): Set memory attribute.
From-SVN: r93042
Jakub Jelinek [Fri, 7 Jan 2005 09:04:01 +0000 (10:04 +0100)]
re PR rtl-optimization/18861 (ICE Segmentation fault in try_crossjump_to_edge at ../../gcc/gcc/cfgcleanup.c:1637 with two switches (table jumps))
PR rtl-optimization/18861
* cfgbuild.c (BLOCK_USED_BY_TABLEJUMP): Define.
(FULL_STATE): Define.
(mark_tablejump_edge): New function.
(purge_dead_tablejump_edges): New function.
(find_bb_boundaries): Use it.
* gcc.dg/
20050105-1.c: New test.
From-SVN: r93041
Jakub Jelinek [Fri, 7 Jan 2005 09:01:00 +0000 (10:01 +0100)]
re PR tree-optimization/18828 (Extraneous warning with var_start and optimization)
PR tree-optimization/18828
* builtins.c (expand_builtin_next_arg): Remove argument and all
the argument checking.
(expand_builtin): Adjust caller.
(expand_builtin_va_start): Likewise. Remove error for too many
arguments.
(fold_builtin_next_arg): Issue error for too many arguments.
After checking arguments, replace them with magic arguments that
prevent further checking of the args.
* gcc.dg/
20050105-2.c: New test.
From-SVN: r93040
Andreas Jaeger [Fri, 7 Jan 2005 06:49:02 +0000 (07:49 +0100)]
* gcc.dg/i386-local.c: Handle -m32/-m64 runs correctly.
From-SVN: r93039
Bud Davis [Fri, 7 Jan 2005 03:25:47 +0000 (03:25 +0000)]
re PR libfortran/18398 (Formatted I/O problems)
2005-01-07 Bud Davis <bdavis9659@comcast.net>
PR fortran/18398
* transfer.c (next_record_r): always skip the
eol search if it was found during sf_read.
* gfortran.dg/fmt_read.f90: New test.
From-SVN: r93035
John David Anglin [Fri, 7 Jan 2005 01:11:57 +0000 (01:11 +0000)]
* pa64-hpux.h (STARTFILE_SPEC): Fix typo in spec.
From-SVN: r93024
Roger Sayle [Fri, 7 Jan 2005 01:05:37 +0000 (01:05 +0000)]
re PR target/6077 ([alpha-osf].s with -x assembler-with-cpp breaks mips-tfile)
PR target/6077
* gcc.c (input_suffix_matches): Tweak the semantics of %{.s:...}
and %{.S:...} (and their negative variants) to test whether the
input file is assembler or pre-processed-assembler independent of
the actual filename extension.
From-SVN: r93023
Roger Sayle [Fri, 7 Jan 2005 00:47:13 +0000 (00:47 +0000)]
simplify-rtx.c (simplify_subreg): Simplify truncations of shifts of sign or zero extended values.
* simplify-rtx.c (simplify_subreg): Simplify truncations of shifts
of sign or zero extended values.
From-SVN: r93022
Geoffrey Keating [Fri, 7 Jan 2005 00:19:23 +0000 (00:19 +0000)]
c-cppbuiltin.c (builtin_define_float_constants): Set __*_EPSILON__ for IBM long double format correctly.
* c-cppbuiltin.c (builtin_define_float_constants): Set __*_EPSILON__
for IBM long double format correctly.
From-SVN: r93021
GCC Administrator [Fri, 7 Jan 2005 00:16:18 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r93018
Daniel Berlin [Thu, 6 Jan 2005 22:08:27 +0000 (22:08 +0000)]
re PR tree-optimization/18792 (ICE with -O1 -ftree-loop-linear on small test case)
2005-01-06 Daniel Berlin <dberlin@dberlin.org>
Fix PR tree-optimization/18792
* tree-data-ref.c (build_classic_dist_vector): Change first_loop
to first_loop_depth, and use loop depth instead of loop number.
(build_classic_dir_vector): Ditto.
(compute_data_dependences_for_loop): Use depth, not loop number.
* tree-loop-linear.c (try_interchange_loops): Use loop depth, not loop
number. Pass in loops, instead of loop numbers.
(gather_interchange_stats): Ditto.
(linear_transform_loops): Ditto.
From-SVN: r93008
Benjamin Kosnik [Thu, 6 Jan 2005 20:40:25 +0000 (20:40 +0000)]
fstream.tcc: Remove unnecessary qualifications for uglified data members of basic_filebuf...
2005-01-06 Benjamin Kosnik <bkoz@redhat.com>
* include/bits/fstream.tcc: Remove unnecessary qualifications for
uglified data members of basic_filebuf, including _M_buf,
_M_buf_size, _M_mode, _M_pback_init.
* include/std/std_fstream.h: Same.
From-SVN: r93006
Mark Mitchell [Thu, 6 Jan 2005 20:23:38 +0000 (20:23 +0000)]
Update copyright dateas
From-SVN: r93005
Mark Mitchell [Thu, 6 Jan 2005 20:21:13 +0000 (20:21 +0000)]
re PR c++/19244 (Typedef of anonymous class incorrectly handled in member function definition)
PR c++/19244
* class.c (add_implicitly_declared_members): Remove dead code.
* decl.c (grokfndecl): Add sfk parameter. Use it do set
DECL_CONSTRUCTOR_P.
(grokdeclarator): Adjust calls to grokfndecl.
* method.c (implicitly_declare_fn): Improve documentation.
* parser.c (cp_parser_direct_declarator): Do not consider a
function to be a constructor if the containing class was
originally anonymous.
PR c++/19244
* g++.dg/parser/ctor2.C: New test.
From-SVN: r93004
Richard Sandiford [Thu, 6 Jan 2005 19:10:56 +0000 (19:10 +0000)]
re PR rtl-optimization/13299 (Unsafe treatment of extended givs)
PR rtl-opt/13299
* loop.c (get_monotonic_increment, biased_biv_fits_mode_p,
biv_fits_mode_p, extension_within_bounds_p): New functions.
(check_ext_dependent_givs): Use them.
From-SVN: r93000
Roger Sayle [Thu, 6 Jan 2005 18:05:27 +0000 (18:05 +0000)]
cfgrtl.c (rtl_delete_block): A basic block may be followed by more than one barrier...
* cfgrtl.c (rtl_delete_block): A basic block may be followed by
more than one barrier, in which case we should delete them all.
From-SVN: r92996
Tobias Schlüter [Thu, 6 Jan 2005 16:41:36 +0000 (17:41 +0100)]
gcc.c (process_command): Change year in 'gcc --version' to 2005.
* gcc.c (process_command): Change year in 'gcc --version' to 2005.
fortran/
* gfortranspec.c (lang_specific_driver): Change year to 2005 in
output of 'gfortran --version'.
From-SVN: r92995
Kriang Lerdsuwanakij [Thu, 6 Jan 2005 16:04:05 +0000 (16:04 +0000)]
re PR c++/17154 (Using declaration of function name ignored inside partial specialization of template class)
PR c++/17154
* search.c (lookup_field_1): Handle using declaration in
class template partial specialization.
* g++.dg/template/using9.C: New test.
From-SVN: r92994
Kriang Lerdsuwanakij [Thu, 6 Jan 2005 15:41:34 +0000 (15:41 +0000)]
re PR c++/19258 (Incorrect access check for default argument)
PR c++/19258
* pt.c (push_access_scope): Handle friend defined in class.
(pop_access_scope): Likewise.
* g++.dg/lookup/friend6.C: New test.
From-SVN: r92993
Nathan Sidwell [Thu, 6 Jan 2005 15:22:11 +0000 (15:22 +0000)]
re PR c++/19270 (ice on valid template code)
cp:
PR c++/19270
* pt.c (tsubst_copy) <ARRAY_REF case>: Handle separately.
(tsubst_copy_and_build) <ARRAY_REF case>: Remove obsolete
array-new handling code. Use build_x_binary_op.
testsuite:
PR c++/19270
* g++.dg/template/array10.C: New.
From-SVN: r92992
Daniel Berlin [Thu, 6 Jan 2005 14:49:34 +0000 (14:49 +0000)]
Fix PR middle-end/19286 Fix PR debug/19267
2005-01-05 Daniel Berlin <dberlin@dberlin.org>
Fix PR middle-end/19286
Fix PR debug/19267
* dwarf2out.c (gen_subprogram_die): If we've already tried to
output this subprogram, simply ignore this attempt to do it again.
(add_abstract_origin_attribute): Don't abort trying to add the abstract
origin attribute if it's not possible.
(gen_block_die): Don't ignore subblocks of "unused" blocks.
(decls_for_scope): Ditto.
* gimple-low.c (mark_blocks_with_used_subblocks): Remove.
(mark_used_blocks): Don't call mark_blocks_with_used_subblocks.
From-SVN: r92991
Benjamin Kosnik [Thu, 6 Jan 2005 07:08:48 +0000 (07:08 +0000)]
2005-01-05 Benjamin Kosnik <bkoz@redhat.com>
* testsuite/testsuite_hooks.h:
(copy_constructor::mark_call): Use __throw_runtime_error.
(assignment_operator::mark_call): Same.
* testsuite/testsuite_hooks.cc (verify_demangle): Same.
(locale_data): Remove, just use runtime_error directly.
(environment_variable): Same.
(not_found): Same.
(run_tests_wrapped_locale): Use __throw_runtime_error.
(run_tests_wrapped_env): Same.
(semaphore::semaphore): Same.
(semaphore::signal): Same.
(semaphore::wait): Same.
* testsuite/testsuite_abi.h (symbol_error): Remove, use logic_error.
* testsuite/testsuite_abi.cc (get_symbol): Use __throw_logic_error.
(create_symbols): Use __throw_runtime_error.
* src/bitmap_allocator.cc: Use __throw_bad_alloc.
From-SVN: r92989
Richard Henderson [Thu, 6 Jan 2005 06:22:32 +0000 (22:22 -0800)]
re PR rtl-optimization/11327 (Non-optimal code when using MMX/SSE builtins)
PR target/11327
* config/i386/i386.c (BUILTIN_DESC_SWAP_OPERANDS): New.
(bdesc_2arg): Use it.
(ix86_expand_binop_builtin): Force operands into registers
when optimizing.
(ix86_expand_unop_builtin, ix86_expand_unop1_builtin,
ix86_expand_sse_compare, ix86_expand_sse_comi,
ix86_expand_builtin): Likewise.
From-SVN: r92988
Richard Henderson [Thu, 6 Jan 2005 06:18:15 +0000 (22:18 -0800)]
ia64.c (rtx_needs_barrier): Handle CONST_VECTOR and VEC_SELECT.
* config/ia64/ia64.c (rtx_needs_barrier): Handle CONST_VECTOR
and VEC_SELECT.
* config/ia64/vect.md (mulv8qi3): Re-implement with mix_[rl].
(mulv4hi3): Set itanium_class mmmul.
(fpack_sfxf, fpack_xfsf, fpack_xfxf): Remove.
From-SVN: r92987
Richard Henderson [Thu, 6 Jan 2005 04:09:34 +0000 (20:09 -0800)]
Update copyright.
From-SVN: r92985
Richard Henderson [Thu, 6 Jan 2005 04:09:11 +0000 (20:09 -0800)]
re PR rtl-optimization/10692 ([m68k] miscompilation of perl with -O2 -fPIC)
PR rtl-opt/10692
* reload1.c (do_input_reload): Restrict the optimization deleteing
a previous output reload to RELOAD_FOR_INPUT.
From-SVN: r92984
Kaveh R. Ghazi [Thu, 6 Jan 2005 02:32:57 +0000 (02:32 +0000)]
asm1.C, [...]: Bypass tests on x86 when using -fpic/-fPIC.
* g++.old-deja/g++.pt/asm1.C, g++.old-deja/g++.pt/asm2.C,
gcc.dg/
20011119-1.c: Bypass tests on x86 when using -fpic/-fPIC.
From-SVN: r92983
GCC Administrator [Thu, 6 Jan 2005 00:16:18 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r92980
Jakub Jelinek [Wed, 5 Jan 2005 23:44:11 +0000 (00:44 +0100)]
* gcc.c-torture/compile/
20050105-1.c: New test.
From-SVN: r92975
Steven Bosscher [Wed, 5 Jan 2005 23:19:23 +0000 (23:19 +0000)]
combine.c (expand_compound_operation): Add comment that we fall through after case.
* combine.c (expand_compound_operation) <ZERO_EXTRACT>: Add
comment that we fall through after case.
(mark_used_regs_combine): Don't expect a SIGN_EXTRACT in a SET_DEST.
(distribute_links): Likewise.
* cse.c (cse_insn): Likewise.
* cselib.c (cselib_invalidate_mem): Likewise.
* df.c: Update comments at the top of the file.
(read_modify_subreg_p): Update comments here too.
(df_def_record_1): Don't expect a SIGN_EXTRACT in a SET_DEST.
* flow.c (mark_set_1): Likewise.
(mark_used_regs): Likewise.
* gcse.c (mems_conflict_for_gcse_p): Likewise.
(canon_list_insert): Likewise.
(mark_set): Likewise.
(try_replace_reg): Likewise.
(store_killed_in_insn): Likewise.
* loop.c (count_one_set): Likewise.
(basic_induction_var): Likewise.
* postreload-gcse.c (find_mem_conflicts): Likewise.
* postreload.c (reload_combine_note_store): Likewise.
(move2add_note_store): Likewise.
* reload.c (find_equiv_reg): Likewise.
(mark_referenced_resources): Likewise.
* rtlanal.c (set_noop_p): Likewise.
(note_stores): Likewise.
(note_uses): Likewise.
* sched-deps.c (sched_analyze_1): Likewise.
* sched-rgn.c (check_live_1): Likewise.
(update_live_1): Likewise.
* config/i860/i860.c: Likewise.
* rtl.dec (SIGN_EXTRACT): Document that this cannot appear as
an lvalue.
(ZERO_EXTRACT): Mention that this one can be an lvalue.
* doc/rtl.texi: Update documentation for bit-fields and SET.
From-SVN: r92974
Geoffrey Keating [Wed, 5 Jan 2005 22:41:04 +0000 (22:41 +0000)]
* gcc.dg/darwin-weakimport-2.c: Remove stray 'APPLE LOCAL' marker.
From-SVN: r92973
Stan Shebs [Wed, 5 Jan 2005 21:53:25 +0000 (21:53 +0000)]
Fix an oopsie in the last commit, sorry
From-SVN: r92971
Roger Sayle [Wed, 5 Jan 2005 21:13:08 +0000 (21:13 +0000)]
* ifcvt.c (find_if_case_1): Revert 2005-01-04 change.
From-SVN: r92970
Tom Tromey [Wed, 5 Jan 2005 20:41:27 +0000 (20:41 +0000)]
ZipEntry.java (setCompressedSize): Allow any argument.
* java/util/zip/ZipEntry.java (setCompressedSize): Allow any
argument.
(compressedSize): Now 'long'. Default to -1.
(getCompressedSize): Rewrote.
* java/util/zip/DeflaterOutputStream.java (deflate): Don't
deflate at all if we need input.
From-SVN: r92969
Jan Hubicka [Wed, 5 Jan 2005 20:29:06 +0000 (21:29 +0100)]
re PR target/18910 (unrecognisable insn in regclass on x86/amd64)
PR target/18910
* config/i386/i386.c (ix86_expand_move): Handle tls symbols
with an offset.
Co-Authored-By: Richard Henderson <rth@redhat.com>
From-SVN: r92968
Richard Henderson [Wed, 5 Jan 2005 19:14:39 +0000 (11:14 -0800)]
re PR target/12902 (Invalid assembly generated when using SSE / xmmintrin.h)
PR target/12902
* config/i386/i386.md (sse_movhps, sse_movlps): Remove.
(sse_shufps): Change operand 3 to const_int_operand.
(sse2_storelps): Fix typo in template.
(sse_storehps, sse_loadhps, sse_storelps, sse_loadlps): New.
* config/i386/i386.c (ix86_expand_vector_move_misalign): Use them.
(ix86_expand_builtin): Likewise.
From-SVN: r92967
Tom Tromey [Wed, 5 Jan 2005 19:03:10 +0000 (19:03 +0000)]
re PR libgcj/15719 (GIJ Interpeter: Problem with NaN / infinity comparisons)
PR libgcj/15719:
* interpret.cc (run) <insn_dcmpl, insn_dcmpg>: Set tmpval
correctly.
From-SVN: r92966
Tom Tromey [Wed, 5 Jan 2005 18:58:00 +0000 (18:58 +0000)]
* gcj.texi (Standard Properties): java.ext.dirs is now used.
From-SVN: r92965
Tom Tromey [Wed, 5 Jan 2005 18:55:27 +0000 (18:55 +0000)]
natRuntime.cc (insertSystemProperties): Set java.ext.dirs earlier.
* java/lang/natRuntime.cc (insertSystemProperties): Set
java.ext.dirs earlier.
From-SVN: r92964
Julian Brown [Wed, 5 Jan 2005 18:53:08 +0000 (18:53 +0000)]
arm.c (arm_return_in_memory): Treat complex types as aggregates for AAPCS ABIs.
2004-01-05 Julian Brown <julian@codesourcery.com>
* config/arm/arm.c (arm_return_in_memory): Treat complex types
as aggregates for AAPCS ABIs.
From-SVN: r92963
Stan Shebs [Wed, 5 Jan 2005 18:39:43 +0000 (18:39 +0000)]
unwind-dw2-fde-darwin.c (examine_objects): Use 64-bit Mach-O getters if ppc64.
* unwind-dw2-fde-darwin.c (examine_objects): Use 64-bit
Mach-O getters if ppc64.
* config/darwin.c (darwin_asm_output_dwarf_delta): Obey
size argument.
* config/darwin.h (ASM_PREFERRED_EH_DATA_FORMAT): Use
signed four-byte field for global code case.
(STARTFILE_SPEC): Avoid crt2.o for 64-bit compilation.
From-SVN: r92962
Roger Sayle [Wed, 5 Jan 2005 17:31:37 +0000 (17:31 +0000)]
[Missed by the previous cvs commit!]
* Makefile.in (c-common.o): Update dependencies.
From-SVN: r92958
Roger Sayle [Wed, 5 Jan 2005 17:27:26 +0000 (17:27 +0000)]
re PR middle-end/19100 (Wrong code for ?-operator with casted ?-operator predicat)
PR middle-end/19100
* c-common.c: Include real.h.
(c_common_truthvalue_conversion): Avoid destructively modifying expr.
Correctly handle TREE_CONSTANT_OVERFLOW for INTEGER_CST.
Correctly handle TREE_CONSTANT_OVERFLOW and NaNs for REAL_CST.
* Makefile.in (c-common.o): Update dependencies.
* gcc.dg/conv-3.c: New test case.
From-SVN: r92957
Joseph Myers [Wed, 5 Jan 2005 17:08:35 +0000 (17:08 +0000)]
* c-parse.in (asm_string): Add trailing semicolon.
From-SVN: r92956
Mark Mitchell [Wed, 5 Jan 2005 16:13:46 +0000 (16:13 +0000)]
9507.cc: Remove child process.
* testsuite/27_io/basic_filebuf/open/char/9507.cc: Remove child
process.
From-SVN: r92953
Joseph Myers [Wed, 5 Jan 2005 15:27:26 +0000 (15:27 +0000)]
c-parse.in (asm_string): New.
* c-parse.in (asm_string): New. Don't allow wide strings in
'asm'.
(simple_asm_expr, asm_argument, asm_operand, asm_clobbers): Use
asm_string instead of STRING.
testsuite:
* gcc.dg/asm-wide-1.c: New test.
From-SVN: r92952
Joseph Myers [Wed, 5 Jan 2005 15:22:38 +0000 (15:22 +0000)]
c-typeck.c (constructor_no_implicit): Remove.
* c-typeck.c (constructor_no_implicit): Remove.
(set_designator, process_init_element): Don't check
constructor_no_implicit.
From-SVN: r92951
J"orn Rennecke [Wed, 5 Jan 2005 14:41:30 +0000 (14:41 +0000)]
re PR target/16482 (gcc.c-torture/unsorted/SFset.c fails with "-O2 -m4")
PR target/16482
* lcm.c (create_pre_exit): New.
(optimize_mode_switching): In MODE_ENTRY / MODE_EXIT case, set
ENTRY_EXIT_EXTRA to 3. Use create_pre_exit.
Co-Authored-By: Kaz Kojima <kkojima@gcc.gnu.org>
From-SVN: r92950
Richard Earnshaw [Wed, 5 Jan 2005 11:56:24 +0000 (11:56 +0000)]
arm.h (TARGET_OPTIONS): Correctly record -mhard-float and -msoft-float in target_float_switch.
* arm.h (TARGET_OPTIONS): Correctly record -mhard-float and
-msoft-float in target_float_switch.
* arm.c (arm_override_options): Fix processing of target_float_switch.
From-SVN: r92949
Richard Earnshaw [Wed, 5 Jan 2005 11:24:20 +0000 (11:24 +0000)]
vfp.md (arm_movsi_vfp): Hide VFP register classes from register preferencing.
* arm/vfp.md (arm_movsi_vfp): Hide VFP register classes from register
preferencing.
From-SVN: r92948
Paolo Carlini [Wed, 5 Jan 2005 11:11:48 +0000 (11:11 +0000)]
istream.cc (basic_istream<char>::ignore(streamsize), [...]): At the end, first check _M_gcount vs __n.
2005-01-05 Paolo Carlini <pcarlini@suse.de>
* src/istream.cc (basic_istream<char>::ignore(streamsize),
basic_istream<char>::ignore(streamsize, int_type),
basic_istream<wchar_t>::ignore(streamsize),
basic_istream<wchar_t>::ignore(streamsize, int_type)): At the end,
first check _M_gcount vs __n.
* include/bits/istream.tcc (ignore(streamsize), ignore(streamsize,
int_type)): Likewise.
* testsuite/27_io/basic_istream/ignore/char/4.cc: New.
* testsuite/27_io/basic_istream/ignore/wchar_t/4.cc: Likewise.
From-SVN: r92947
Nathan Sidwell [Wed, 5 Jan 2005 10:02:35 +0000 (10:02 +0000)]
re PR c++/19030 (ice on tree check)
cp:
PR c++/19030
* cp-tree.h (start_decl): Take pointer to pushed scope, not bool.
* name-lookup.h (push_scope): Return pushed scope, not flag.
* name-lookup.c (push_scope): Return scope that should be popped,
not a flag.
* decl.c (start_decl): Adjust.
(grokfndecl): Adjust scope push and pop.
* decl2.c (check_classfn): Likewise.
* parser.c (cp_parser_condition, cp_parser_conversion_function_id,
cp_parser_init_declarator, cp_parser_direct_declarator,
cp_parser_class_specifier, cp_parser_class_head,
cp_parser_lookup_name,
cp_parser_constructor_declarator_p): Likewise.
* pt.c (instantiate_class_template,
resolve_typename_type): Likewise.
testsuite:
PR c++/19030
* g++.dg/parse/crash22.C: New
From-SVN: r92946
Uros Bizjak [Wed, 5 Jan 2005 09:55:55 +0000 (10:55 +0100)]
invoke.texi (Intel 386 and AMD x86-64 Options): Replace i387 with 'i386 compiler' in -mfpmath=sse option.
* doc/invoke.texi (Intel 386 and AMD x86-64 Options):
Replace i387 with 'i386 compiler' in -mfpmath=sse option.
From-SVN: r92943
Richard Henderson [Wed, 5 Jan 2005 09:27:50 +0000 (01:27 -0800)]
* testsuite/libmudflap.c/pass32-frag.c: Fix typo.
From-SVN: r92930
Eric Botcazou [Wed, 5 Jan 2005 05:09:09 +0000 (06:09 +0100)]
natObject.cc (_Jv_ObjectCheckMonitor): Initialize the sync_info element of the object if needed.
* java/lang/natObject.cc (_Jv_ObjectCheckMonitor): Initialize the
sync_info element of the object if needed.
From-SVN: r92922
Roger Sayle [Wed, 5 Jan 2005 01:45:00 +0000 (01:45 +0000)]
ifcvt.c (find_if_case_1): Avoid creating an empty forwarder block...
* ifcvt.c (find_if_case_1): Avoid creating an empty forwarder block,
if deleting the then-block allows the test-block to fallthru to the
else-block.
From-SVN: r92919
Andrew Pinski [Wed, 5 Jan 2005 01:41:36 +0000 (17:41 -0800)]
re PR c/19152 (IMA and external inline don't get along)
2005-01-04 Andrew Pinski <pinskia@physics.uc.edu>
PR c/19152
* c-decl.c (diagnose_mismatched_decls): Accept "extern inline" declared
after the full declaration if the are in two different TUs.
From-SVN: r92918
GCC Administrator [Wed, 5 Jan 2005 00:16:16 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r92915
Richard Henderson [Tue, 4 Jan 2005 23:54:26 +0000 (15:54 -0800)]
re PR tree-optimization/19158 (GNAT Bug Box compiling makegpr.adb of the GNAT tools)
2005-01-04 Richard Henderson <rth@redhat.com>
PR tree-opt/19158
* tree-sra.c (generate_one_element_init): Just
call gimplify_and_add.
(generate_element_init): Record the
new referenced variables and mark them for renaming
and split out to ...
(generate_element_init_1): This.
(scalarize_init): Don't call push_gimplify_context/
pop_gimplify_context.
From-SVN: r92911
Geoffrey Keating [Tue, 4 Jan 2005 23:28:00 +0000 (23:28 +0000)]
* toplev.c (get_src_pwd): Handle failure of getpwd().
From-SVN: r92910
Roger Sayle [Tue, 4 Jan 2005 21:42:52 +0000 (21:42 +0000)]
fold-const.c (fold_single_bit_test): Delete unreachable handling of TRUTH_NOT_EXPR.
* fold-const.c (fold_single_bit_test): Delete unreachable handling
of TRUTH_NOT_EXPR.
(fold): Don't call fold_single_bit_test with a TRUTH_NOT_EXPR, as
all the cases handled by it are inverted by invert_truthvalue.
From-SVN: r92909
Geoffrey Keating [Tue, 4 Jan 2005 19:39:09 +0000 (19:39 +0000)]
re PR preprocessor/19257 (mmix-knuth-mmixware testsuite failure: gcc.dg/cpp/subframework1.c)
PR 19257
* gcc.dg/cpp/subframework1.c: Run only on Darwin.
From-SVN: r92903
Eric Botcazou [Tue, 4 Jan 2005 19:03:45 +0000 (20:03 +0100)]
sparc.md (save_register_windowdi): Add missing mode.
* config/sparc/sparc.md (save_register_windowdi): Add missing mode.
(save_register_windowsi): Likewise.
From-SVN: r92902
Richard Henderson [Tue, 4 Jan 2005 18:47:02 +0000 (10:47 -0800)]
* tree-mudflap.c (mf_varname_tree): Fix thinko setting declname.
From-SVN: r92901
Uros Bizjak [Tue, 4 Jan 2005 15:44:25 +0000 (16:44 +0100)]
re PR middle-end/17767 (MMX intrinsics cause internal compiler error)
PR middle-end/17767
* cse.c (fold_rtx) [RTX_COMPARE, RTX_COMM_COMPARE]: Don't attempt
any simplifications of vector mode comparison operators.
* simplify-rtx.c (simplify_relational_operation): Fix variable name.
testsuite:
* gcc.dg/i386-mmx-6.c: New test case.
From-SVN: r92896