Commit Graph

64974 Commits

Author SHA1 Message Date
Richard Henderson
e358acde2c 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
2005-01-05 22:22:32 -08:00
Richard Henderson
051d824588 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
2005-01-05 22:18:15 -08:00
Richard Henderson
8f98556f01 Update copyright.
From-SVN: r92985
2005-01-05 20:09:34 -08:00
Richard Henderson
19f17bb9a0 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
2005-01-05 20:09:11 -08:00
Kaveh R. Ghazi
2070df3c39 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
2005-01-06 02:32:57 +00:00
GCC Administrator
bb19349385 Daily bump.
From-SVN: r92980
2005-01-06 00:16:18 +00:00
Jakub Jelinek
7f62ca0820 * gcc.c-torture/compile/20050105-1.c: New test.
From-SVN: r92975
2005-01-06 00:44:11 +01:00
Steven Bosscher
46d096a3c7 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
2005-01-05 23:19:23 +00:00
Geoffrey Keating
b95ec5c191 * gcc.dg/darwin-weakimport-2.c: Remove stray 'APPLE LOCAL' marker.
From-SVN: r92973
2005-01-05 22:41:04 +00:00
Stan Shebs
d4b5651119 Fix an oopsie in the last commit, sorry
From-SVN: r92971
2005-01-05 21:53:25 +00:00
Roger Sayle
65a878f5db * ifcvt.c (find_if_case_1): Revert 2005-01-04 change.
From-SVN: r92970
2005-01-05 21:13:08 +00:00
Tom Tromey
ea97f102ef 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
2005-01-05 20:41:27 +00:00
Jan Hubicka
d2ad2c8a9c 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
2005-01-05 12:29:06 -08:00
Richard Henderson
2cdb314898 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
2005-01-05 11:14:39 -08:00
Tom Tromey
a8182d3719 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
2005-01-05 19:03:10 +00:00
Tom Tromey
b4a49222ae * gcj.texi (Standard Properties): java.ext.dirs is now used.
From-SVN: r92965
2005-01-05 18:58:00 +00:00
Tom Tromey
7385c78009 natRuntime.cc (insertSystemProperties): Set java.ext.dirs earlier.
* java/lang/natRuntime.cc (insertSystemProperties): Set
	java.ext.dirs earlier.

From-SVN: r92964
2005-01-05 18:55:27 +00:00
Julian Brown
3dd7ab6505 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
2005-01-05 18:53:08 +00:00
Stan Shebs
59d8fe2722 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
2005-01-05 18:39:43 +00:00
Roger Sayle
a6cc7e85de [Missed by the previous cvs commit!]
* Makefile.in (c-common.o): Update dependencies.

From-SVN: r92958
2005-01-05 17:31:37 +00:00
Roger Sayle
010c4d9c14 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
2005-01-05 17:27:26 +00:00
Joseph Myers
9368fb8fbc * c-parse.in (asm_string): Add trailing semicolon.
From-SVN: r92956
2005-01-05 17:08:35 +00:00
Mark Mitchell
5cfa47941f 9507.cc: Remove child process.
* testsuite/27_io/basic_filebuf/open/char/9507.cc: Remove child
	process.

From-SVN: r92953
2005-01-05 16:13:46 +00:00
Joseph Myers
9143de5c01 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
2005-01-05 15:27:26 +00:00
Joseph Myers
0953878d48 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
2005-01-05 15:22:38 +00:00
J"orn Rennecke
cf99f196e2 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
2005-01-05 14:41:30 +00:00
Richard Earnshaw
712ecf4dfb 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
2005-01-05 11:56:24 +00:00
Richard Earnshaw
082cca25d0 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
2005-01-05 11:24:20 +00:00
Paolo Carlini
1e156882fa 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
2005-01-05 11:11:48 +00:00
Nathan Sidwell
4514aa8c67 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
2005-01-05 10:02:35 +00:00
Uros Bizjak
c2b43d7ab2 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
2005-01-05 10:55:55 +01:00
Richard Henderson
130e4a02c2 * testsuite/libmudflap.c/pass32-frag.c: Fix typo.
From-SVN: r92930
2005-01-05 01:27:50 -08:00
Eric Botcazou
ec24eb4ebb 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
2005-01-05 05:09:09 +00:00
Roger Sayle
e82f57499b 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
2005-01-05 01:45:00 +00:00
Andrew Pinski
f8f5c4b3aa 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
2005-01-04 17:41:36 -08:00
GCC Administrator
8d0cf6032b Daily bump.
From-SVN: r92915
2005-01-05 00:16:16 +00:00
Richard Henderson
fa5884290a 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
2005-01-04 15:54:26 -08:00
Geoffrey Keating
5f0c48ed93 * toplev.c (get_src_pwd): Handle failure of getpwd().
From-SVN: r92910
2005-01-04 23:28:00 +00:00
Roger Sayle
e3523f56d2 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
2005-01-04 21:42:52 +00:00
Geoffrey Keating
242746f197 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
2005-01-04 19:39:09 +00:00
Eric Botcazou
9746bb275e 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
2005-01-04 19:03:45 +00:00
Richard Henderson
bfee926bd1 * tree-mudflap.c (mf_varname_tree): Fix thinko setting declname.
From-SVN: r92901
2005-01-04 10:47:02 -08:00
Uros Bizjak
21e5076a0b 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
2005-01-04 16:44:25 +01:00
Paolo Bonzini
8ea9d0c7c9 re PR tree-optimization/18308 (ICE in do_jump, at dojump.c:274)
gcc:
2005-01-04  Paolo Bonzini  <bonzini@gnu.org>
	    Devang Patel  <dpatel@apple.com>

	PR tree-optimization/18308

	* tree-if-conv.c (add_to_dst_predicate_list): Gimplify
	the operands before creating a new expression.
	* dojump.c (do_jump): Make drop_through_label available
	for all cases.  Add expansion of COND_EXPR.

gcc/testsuite:
2005-01-04  Paolo Bonzini  <bonzini@gnu.org>

	* gcc.dg/vect/pr18308.c: New testcase.

Co-Authored-By: Devang Patel <dpatel@apple.com>

From-SVN: r92895
2005-01-04 14:37:23 +00:00
Ira Rosen
8c427b58d1 tree-vectorizer.c (vect_analyze_offset_expr): Test for INTEGER_CST instead of TREE_CONSTANT.
2005-01-04  Ira Rosen  <irar@il.ibm.com>

        * tree-vectorizer.c (vect_analyze_offset_expr): Test for
        INTEGER_CST instead of TREE_CONSTANT.
        (vect_gen_niters_for_prolog_loop): Test for INTEGER_CST
        instead of TREE_CONSTANT.
        (vect_analyze_pointer_ref_access): Test for INTEGER_CST
        instead of TREE_CONSTANT.

From-SVN: r92894
2005-01-04 13:12:26 +00:00
Eric Botcazou
8287d24ad5 tree-eh.c (replace_goto_queue): Return early if the queue is empty.
* tree-eh.c (replace_goto_queue): Return early if the queue is
          empty.

From-SVN: r92893
2005-01-04 12:45:42 +00:00
Arnaud Charlet
e550819c80 * gnat_ugn.texi: Fix texi errors with null variables.
From-SVN: r92892
2005-01-04 11:51:22 +01:00
Uros Bizjak
9e4ae64b32 re PR target/19240 (runtime performance regression in floating point heavy code, x86/SSE)
PR target/19240
	* config/i386/i386.md (*fop_df_1_i387): Disable for TARGET_SSE_MATH.
	(*fop_df_1_i387): Disable for (TARGET_SSE2 && TARGET_SSE_MATH).

From-SVN: r92891
2005-01-04 11:40:52 +01:00
Richard Henderson
c756af7901 fold-const.c (force_fit_type): Cope with types larger than 2 HWI.
* fold-const.c (force_fit_type): Cope with types larger than 2 HWI.
        (fold_convert_const_int_from_int, fold_convert_const_int_from_real,
        fold_convert_const_real_from_real): Split out from ...
        (fold_convert_const): ... here.

From-SVN: r92890
2005-01-04 02:11:22 -08:00
Richard Henderson
d30c94610f re PR target/19235 (GCC generates SSE2 instructions for AthlonXP which doesn't support them.)
PR target/19235
        * config/i386/i386.md (movdi_2): Separate SSE1 and SSE2 alternatives.
        (mov<MMXMODEI>_internal): Likewise.
        (movdf_nointeger): Prefer Y while not preferring, but allowing, x.
        Add V2SF case; use it for SSE1; don't use TI.
        (movdf_integer): Likewise.
        (mov<SSEMODEI>_internal, movti_internal): Force V4SF for SSE1.

From-SVN: r92889
2005-01-04 02:00:55 -08:00