- 09 Jan, 2005 2 commits
-
-
* 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
Richard Henderson committed -
From-SVN: r93098
GCC Administrator committed
-
- 08 Jan, 2005 15 commits
-
-
From-SVN: r93095
Tobias Schlüter committed -
* configure.ac (DWARF-2 debug_line): Use objdump. * configure: Regenerate. From-SVN: r93094
Eric Botcazou committed -
* 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 committed -
* 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 committed -
From-SVN: r93090
Tobias Schlüter committed -
From-SVN: r93089
Diego Novillo committed -
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
Diego Novillo committed -
* gfortran.dg/select_2.f90, gfortran.dg/select_3.f90, gfortran.dg/select_4.f90: New. From-SVN: r93087
Steven G. Kargl committed -
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 committed -
* 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
Roger Sayle committed -
* gfortran.h: Remove outdated comment. Don't include stdio.h explicitly. From-SVN: r93082
Tobias Schlüter committed -
* config/mips/t-iris6 (MULTILIB_DIRNAMES): Use -mabi argument values. (MULTILIB_OSDIRNAMES): Use the standard lib, lib32 and lib64. From-SVN: r93081
Richard Sandiford committed -
* config/mips/t-slibgcc-irix (SHLIB_LINK): Install a copy of the library as @multilib_dir@/$(SHLIB_SONAME). From-SVN: r93080
Richard Sandiford committed -
* configure.ac (HAVE_AS_OFFSETABLE_LO10): Fix typo. * configure: Regenerate. From-SVN: r93075
Eric Botcazou committed -
From-SVN: r93072
GCC Administrator committed
-
- 07 Jan, 2005 21 commits
-
-
From-SVN: r93069
Tom Tromey committed -
* 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
Jakub Jelinek committed -
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
Benjamin Kosnik committed -
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
Nathan Sidwell committed -
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
Andrew Pinski committed -
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
David Edelsohn committed -
From-SVN: r93051
Richard Henderson committed -
PR fortran/15553 * gfortran.dg/array-1.f90: New test. From-SVN: r93049
Tobias Schlüter committed -
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
Michael Koch committed -
From-SVN: r93044
Richard Sandiford committed -
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 committed -
PR rtl-optimization/19012 * config/i386/i386.md (addqi_1_slp): Set memory attribute. From-SVN: r93042
Jakub Jelinek committed -
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 committed -
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
Jakub Jelinek committed -
From-SVN: r93039
Andreas Jaeger committed -
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
Bud Davis committed -
From-SVN: r93024
John David Anglin committed -
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 committed -
* simplify-rtx.c (simplify_subreg): Simplify truncations of shifts of sign or zero extended values. From-SVN: r93022
Roger Sayle committed -
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
Geoffrey Keating committed -
From-SVN: r93018
GCC Administrator committed
-
- 06 Jan, 2005 2 commits
-
-
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
Daniel Berlin committed -
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
Benjamin Kosnik committed
-