aboutsummaryrefslogtreecommitdiff
path: root/gcc
AgeCommit message (Collapse)AuthorFilesLines
2004-05-10altivec.h (vec_sld): Add overloads for argument/return types of 'vector bool ↵Ziemowit Laski5-1/+71
int'... [gcc/ChangeLog] 2004-05-10 Ziemowit Laski <zlaski@apple.com> * config/rs6000/altivec.h (vec_sld): Add overloads for argument/return types of 'vector bool int', 'vector bool short' and 'vector bool char'. [gcc/testsuite/ChangeLog] 2004-05-10 Ziemowit Laski <zlaski@apple.com> * g++.dg/ext/altivec-8.C: New test case. * gcc.dg/altivec-13.c: New test case. From-SVN: r81681
2004-05-10c-decl.c (store_parm_decls_newstyle): Correct test for a nested function.Zack Weinberg2-3/+7
* c-decl.c (store_parm_decls_newstyle): Correct test for a nested function. From-SVN: r81677
2004-05-10read-rtl.c (read_rtx): Allow 's' and 'T' strings to be omitted, treating ↵Richard Sandiford5-493/+503
missing ones as "". * read-rtl.c (read_rtx): Allow 's' and 'T' strings to be omitted, treating missing ones as "". * config/mips/mips.md: Remove constraints from match_operands and match_scratches if they appear in define_expands (except reload*), define_peephole2s, define_splits or attribute specifications. * config/mips/7000.md, config/mips/sb1.md: Remove match_operand constraint strings. From-SVN: r81676
2004-05-10parse.y (create_class): Set TYPE_VFIELD.Andrew Haley6-20/+81
2004-05-10 Andrew Haley <aph@redhat.com> * parse.y (create_class): Set TYPE_VFIELD. * decl.c (java_init_decl_processing): Likewise. * expr.c (build_invokevirtual): Remove DECL_VINDEX offset adjustment. * class.c (make_method_value): Replace DECL_VINDEX with call to get_method_index(). (get_dispatch_vector): Likewise. (layout_class_method): Likewise. Replace set of DECL_VINDEX with call to set_method_index(). (set_method_index): New function. (get_method_index): New function. * java-tree.h (set_method_index): New function decl. (get_method_index): New function decl. From-SVN: r81672
2004-05-10[multiple changes]Arnaud Charlet47-284/+639
2004-05-10 Doug Rupp <rupp@gnat.com> * 5qsystem.ads: Remove Short_Address subtype declaration. Moved to system.aux_dec. * s-auxdec.ads: Add Short_Address subtype (moved here from System). * Makefile.in: [VMS]: Add translation for 5qauxdec.ads. * init.c: [VMS] Macroize LIB$ calls for IA64 and Alpha. Fixes undefined symbols in IA64 gnatlib. * 5vinmaop.adb: Reference s-auxdec for Short_Address. * 5xsystem.ads, 5vsystem.ads: Back out last change (addition of subtype Short_Address). This will be moved to system.auxdec. 2004-05-10 Thomas Quinot <quinot@act-europe.fr> * sem_util.adb: Replace test for presence of a node that is always present with a call to Discard_Node. * sem_ch10.adb (Analyze_Compilation_Unit): Remove superfluous call to Analyze on the library unit node after generation of distribution stub constructs. The call was a no-op because Unit_Node has already been Analyzed, and the tree fragments for the distribution stubs are analyzed as they are inserted in Exp_Dist. Update comment regarding to distribution stubs to reflect that we do not generate stub in separate files anymore. * einfo.ads: Clarify the fact that a tagged private type has the E_Record_Type_With_Private Ekind. * erroutc.adb: Minor reformatting * erroutc.ads (Max_Msg_Length): Increase to cover possible larger values if line length is increased using -gnatyM (noticed during code reading). * eval_fat.adb: Minor reformatting Put spaces around exponentiation operator 2004-05-10 Ed Schonberg <schonberg@gnat.com> PR ada/15005 * sem_util.adb (Is_Dependent_Component_Of_Mutable_Object): If prefix has been rewritten as an explicit dereference, retrieve type of original node to check for possibly unconstrained record type. 2004-05-10 Ed Schonberg <schonberg@gnat.com> * exp_ch7.adb (Check_Visibly_Controlled): If given operation is not overriding, use the operation of the parent unconditionally. * sem_ch4.adb (Remove_Address_Interpretations): Remove address operation when either operand is a literal, to avoid further ambiguities. * sem_ch6.adb (New_Overloaded_Entity): If new entity is inherited and overridden by a previous explicit declaration, mark the previous entity as overriding. * sem_disp.adb (Check_Dispatching_Operation): New predicate Is_Visibly_Controlled, to determine whether a declaration of a primitive control operation for a derived type overrides an inherited one. Add warning if the explicit declaration does not override. 2004-05-10 Vincent Celier <celier@gnat.com> * gnatls.adb (Gnatls): Initialize Snames, to avoid assertion error in some cases when the sources are no longer present. * make.adb (Collect_Arguments): Fail if an external source, not part of any project need to be compiled, when switch -x has not been specified. * makeusg.adb: Document new switch -x * opt.ads (External_Unit_Compilation_Allowed): New Boolean flag, defaulted to False. * switch-m.adb (Scan_Make_Switches): New switch -x * vms_data.ads: Add VMS qualifier /NON_PROJECT_UNIT_COMPILATION for gnatmake switch -x. * gnat_ugn.texi: Document new gnatmake switch -x 2004-05-10 Eric Botcazou <ebotcazou@act-europe.fr> * misc.c (gnat_init_options): Set flag_zero_initialized_in_bss to 0. * utils.c (create_var_decl): Do not modify the DECL_COMMON flag. (process_attributes): Likewise. 2004-05-10 Joel Brobecker <brobecker@gnat.com> * s-inmaop.ads: Fix spelling mistake in one of the comments. 2004-05-10 Robert Dewar <dewar@gnat.com> * gnat_ugn.texi: Document that for config pragma files, the maximum line length is always 32767. * gnat_rm.texi: For pragma Eliminate, note that concatenation of string literals is now allowed. * gnat-style.texi: Remove statement about splitting long lines before an operator rather than after, since we do not follow this rule at all. Clarify rule (really lack of rule) for spaces around exponentiation * sem_elim.adb: Allow concatenation of string literals as well as a single string literal for pragma arguments. * sem_prag.ads, sem_prag.adb: (Is_Config_Static_String): New function * a-textio.adb (Terminate_Line): Do not add line feed if nothing written for append case. * frontend.adb: Changes to avoid checking max line length in config pragma files. * g-os_lib.ads: Minor reformatting * mlib-utl.adb: Do not define Max_Line_Length locally (definition was wrong in any case. Instead use standard value. Noticed during code reading. * opt.ads (Max_Line_Length): New field, used to implement removal of limitation on length of lines when scanning config pragma files. * osint.ads, prj-dect.adb, prj-strt.adb, prj-tree.adb, makeutl.ads, makeutl.adb: Minor reformatting * scn.adb: Do not check line length while scanning config pragma files Do not check line length while scanning out license information * scng.adb: Changes to avoid line length checks while parsing config pragma files. 2004-05-10 GNAT Script <nobody@gnat.com> * Make-lang.in: Makefile automatically updated From-SVN: r81671
2004-05-10parse.y (check_pkg_class_access): Add new argument and use it when cl is ↵Andrew Pinski2-11/+27
NULL to call lookup_cl on it. 2004-05-10 Andrew Pinski <pinskia@physics.uc.edu> * parse.y (check_pkg_class_access): Add new argument and use it when cl is NULL to call lookup_cl on it. (parser_check_super_interface): Do not call lookup_cl. Pass this_decl to check_pkg_class_access and NULL instead of lookup_cl. (parser_check_super): Update for change in check_pkg_class_access. (do_resolve_class): Likewise. (process_imports): Likewise. (find_in_imports_on_demand): Likewise. (resolve_qualified_expression_name): Likewise. From-SVN: r81668
2004-05-10rs6000.c (function_arg_boundary): Always align AltiVec vectors.Alan Modra2-46/+61
* config/rs6000/rs6000.c (function_arg_boundary): Always align AltiVec vectors. (function_arg_advance): Pass TARGET_32BIT -mabi=no-altivec AltiVec vectors by refererence. Align the same for TARGET_64BIT to a 16 byte boundary. Remove useless code. Add function comment. (function_arg): Similarly. Move gpr rs6000_mixed_function_arg call to where it belongs. (function_arg_partial_nregs): Return true for all TARGET_32BIT -mabi=no-altivec AltiVec vectors. Fix debug output. (rs6000_va_arg): Adjust for AltiVec change. From-SVN: r81666
2004-05-10arm.c (arm_promote_prototypes): Use TARGET_AAPCS_BASED.Paul Brook3-3/+25
* config/arm/arm.c (arm_promote_prototypes): Use TARGET_AAPCS_BASED. * config/arm/arm.h (TARGET_AAPCS_BASED): Define. (TARGET_DOUBLEWORD_ALIGN): Use it. (WCHAR_TYPE): Define. (WCHAR_SIZE_TYPE): Define. (SIZE_TYPE): Define. From-SVN: r81665
2004-05-10Daily bump.GCC Administrator1-1/+1
From-SVN: r81662
2004-05-10rs6000.c (function_arg_boundary): Align for ABI_V4 when size is 8 bytes.Alan Modra2-78/+104
* config/rs6000/rs6000.c (function_arg_boundary): Align for ABI_V4 when size is 8 bytes. (function_arg_advance): Account for stack space used by AltiVec args when -mabi=altivec. Simplify alignment calculations. For ABI_V4, pass AltiVec vectors by reference when -mabi=no-altivec. (function_arg): Similarly. (function_arg_pass_by_reference): True for ABI_V4 AltiVec when not AltiVec ABI. (rs6000_va_arg): Correct fp arg test. Adjust for AltiVec change. Correct alignment, and align before testing reg count. Remove TREE_THIS_VOLATILE from reg. Don't emit unused labels. (rs6000_complex_function_value): Check TARGET_HARD_FLOAT and TARGET_FPRS here.. (rs6000_function_value): .. not here before call. From-SVN: r81659
2004-05-09* config/rs6000/spe.md ("tstsflt_gpr"): Fix typo in unspec.Aldy Hernandez2-1/+5
From-SVN: r81656
2004-05-09re PR c/15007 (crash when including precompiled header with -include)Zack Weinberg2-18/+37
PR 15007 * c-decl.c (current_file_decl): Rename to all_translation_units, adjust comment. (pop_scope): If popping file_scope, construct a TRANSLATION_UNIT_DECL and make it the context of all the symbols in the scope. (push_file_scope): Don't construct a TRANSLATION_UNIT_DECL here. (pushdecl): Clarify comment. Do not set DECL_CONTEXT of anything to current_file_decl. (pushdecl_top_level): Likewise. (store_parm_decls_newstyle): Adjust check for nested function. (c_write_global_declarations): Update for renamed variable. From-SVN: r81655
2004-05-09* config/rs6000/rs6000-protos.hAldy Hernandez4-52/+79
(rs6000_conditional_register_usage): Protoize. * config/rs6000/rs6000.c (rs6000_conditional_register_usage): New. * config/rs6000/rs6000.h (CONDITIONAL_REGISTER_USAGE): Call function. From-SVN: r81650
2004-05-08fold-const.c (fold_div_compare): New function to optimize X/C1 op C2 where ↵Roger Sayle6-0/+723
op is a comparison operator and C1... * fold-const.c (fold_div_compare): New function to optimize X/C1 op C2 where op is a comparison operator and C1 and C2 are integer constants into a range check. (fold): Call fold_div_compare. * gcc.c-torture/execute/divcmp-1.c: New test case. * gcc.c-torture/execute/divcmp-2.c: New test case. * gcc.c-torture/execute/divcmp-3.c: New test case. From-SVN: r81645
2004-05-08install.texi (sparc-sun-solaris2*): Document bootstrap problems with earlier ↵Eric Botcazou2-0/+12
versions of the GNU compiler. * doc/install.texi (sparc-sun-solaris2*): Document bootstrap problems with earlier versions of the GNU compiler. From-SVN: r81643
2004-05-08rs6000-protos.h (rs6000_hard_regno_mode_ok_p): Declare.Aldy Hernandez4-20/+76
* config/rs6000/rs6000-protos.h (rs6000_hard_regno_mode_ok_p): Declare. * config/rs6000/rs6000.c (rs6000_hard_regno_mode_ok_p): New. (rs6000_hard_regno_mode_ok): New. (rs6000_init_hard_regno_mode_ok): New. (rs6000_override_options): Call rs6000_init_hard_regno_mode_ok. * config/rs6000/rs6000.h (HARD_REGNO_NREGS): Use precomputed result. From-SVN: r81642
2004-05-08altivec.h (vector, [...]): Do not define as macros #ifdef __APPLE_ALTIVEC__.Ziemowit Laski2-1/+14
2004-05-07 Ziemowit Laski <zlaski@apple.com> * config/rs6000/altivec.h (vector, pixel, bool): Do not define as macros #ifdef __APPLE_ALTIVEC__. From-SVN: r81641
2004-05-08Daily bump.GCC Administrator1-1/+1
From-SVN: r81638
2004-05-07Fixed altivec vararg problem.Fariborz Jahanian2-6/+35
Approved by Aldy Hernandez. From-SVN: r81635
2004-05-07mips.c (mips_va_arg): Fix calculation of osize for EABI_FLOAT_VARARGS_P.Richard Sandiford2-19/+39
* config/mips/mips.c (mips_va_arg): Fix calculation of osize for EABI_FLOAT_VARARGS_P. From-SVN: r81625
2004-05-07mips.h (ISA_HAS_BRANCHLIKELY): Remove TARGET_MIPS5500.Richard Sandiford3-3/+8
* config/mips/mips.h (ISA_HAS_BRANCHLIKELY): Remove TARGET_MIPS5500. * config/mips/mips.c (override_options): Disable branch likely instructions if TUNE_MIPS5500. From-SVN: r81624
2004-05-07mips.c (override_options): Allow the hi and lo registers to store any ↵Richard Sandiford2-1/+6
integral mode, not just MODE_INTs. * config/mips/mips.c (override_options): Allow the hi and lo registers to store any integral mode, not just MODE_INTs. From-SVN: r81623
2004-05-07arm.c (arm_promote_prototypes): Use TARGET_AAPCS_BASED.Paul Brook1-0/+9
* config/arm/arm.c (arm_promote_prototypes): Use TARGET_AAPCS_BASED. * config/arm/arm.h (TARGET_AAPCS_BASED): Define. (TARGET_DOUBLEWORD_ALIGN): Use it. (WCHAR_TYPE): Define. (WCHAR_SIZE_TYPE): Define. (SIZE_TYPE): Define. From-SVN: r81621
2004-05-07i386.c (ix86_emit_fp_unordered_jump): Use testb $4, %ah insn instead of sahf ↵Uros Bizjak2-3/+21
insn if !TARGET_USE_SAHF. 2004-05-07 Uros Bizjak <uros@kss-loka.si> * config/i386/i386.c (ix86_emit_fp_unordered_jump): Use testb $4, %ah insn instead of sahf insn if !TARGET_USE_SAHF. From-SVN: r81620
2004-05-07loop-doloop.c (doloop_valid_p): Make sure that body gets freed.Andrew Pinski2-4/+16
2004-05-07 Andrew Pinski <pinskia@physics.uc.edu> * loop-doloop.c (doloop_valid_p): Make sure that body gets freed. From-SVN: r81619
2004-05-07sparc-protos.h (sparc_skip_caller_unimp): New declaration.Eric Botcazou4-26/+48
* config/sparc/sparc-protos.h (sparc_skip_caller_unimp): New declaration. * config/sparc/sparc.c (SKIP_CALLERS_UNIMP_P): Delete. (sparc_skip_caller_unimp): New global variable. (sparc_function_epilogue): Set 'sparc_skip_caller_unimp'. Use it instead of SKIP_CALLERS_UNIMP_P. * config/sparc/sparc.md (call expander): Add sanity check. (call_address_struct_value_sp32): Re-sync with expander. (call_symbolic_struct_value_sp32): Likewise. (return peepholes): Use 'sparc_skip_caller_unimp' instead of custom predicate. From-SVN: r81617
2004-05-07re PR c++/14962 (g++ ignores #pragma redefine_extname)Eric Botcazou4-1/+37
PR c++/14962 * c-pragma.c (handle_pragma_redefine_extname): Only change the assembler name of FUNCTION_DECLs and VAR_DECLs. From-SVN: r81610
2004-05-07Update ChangeLog to follow tree rules.Loren J. Rittle1-1/+1
From-SVN: r81608
2004-05-07i386-387-1.c: Add new test for __builtin_fmod.Uros Bizjak5-1/+21
* gcc.dg/i386-387-1.c: Add new test for __builtin_fmod. * gcc.dg/i386-387-2.c: Likewise. * gcc.dg/i386-387-5.c: Add new tests for __builtin_log1p and __builtin_drem. * gcc.dg/i386-387-6.c: Likewise. From-SVN: r81607
2004-05-07optabs.h (enum optab_index): Add new OTI_log1p.Uros Bizjak11-1/+144
* optabs.h (enum optab_index): Add new OTI_log1p. (log1p_optab): Define corresponding macro. * optabs.c (init_optabs): Initialize log1p_optab. * genopinit.c (optabs): Implement log1p_optab using log1p?f2 patterns. * builtins.c (expand_builtin_mathfn): Handle BUILT_IN_LOG1P{,F,L} using log1p_optab. (expand_builtin): Expand BUILT_IN_LOG1P{,F,L} using expand_builtin_mathfn if flag_unsafe_math_optimizations is set. * reg-stack.c (subst_stack_regs_pat): Handle UNSPEC_FYL2XP1. * config/i386/i386.c (ix86_emit_i387_log1p): New function. * config/i386/i386-protos.h (ix86_emit_i387_log1p): Prototype here. * config/i386/i386.md (UNSPEC_FYL2XP1): New unspec to represent x87's fyl2xp1 instruction. (*fyl2x_xf3): Rename insn definition to fyl2x_xf3. (fyl2xp1_xf3): New pattern to implement fyl2xp1 x87 instruction. (log1psf2, log1pdf2, log1pxf2): New expanders to implement log1pf, log1p and log1pl built-ins as inline x87 intrinsics. * testsuite/gcc.dg/builtins-33.c: Also check log1p*. From-SVN: r81606
2004-05-07freebsd.h (SUBTARGET_EXTRA_SPECS): Pass -Werror.Loren J. Rittle5-0/+11
* config/alpha/freebsd.h (SUBTARGET_EXTRA_SPECS): Pass -Werror. * config/arm/freebsd.h: Likewise. * config/ia64/freebsd.h: Likewise. * config/sparc/freebsd.h: Likewise. From-SVN: r81602
2004-05-07re PR rtl-optimization/15296 ([3.4 only] Delayed branch scheduling causing ↵Hans-Peter Nilsson1-0/+1
invalid code on cris-*) PR optimization/15296 * gcc.c-torture/execute/pr15296.c: New test. From-SVN: r81601
2004-05-07re PR rtl-optimization/15296 ([3.4 only] Delayed branch scheduling causing ↵Hans-Peter Nilsson2-2/+13
invalid code on cris-*) PR optimization/15296 * reorg.c (fill_simple_delay_slots): Use next_real_insn when getting last consecutive label at a branch. (relax_delay_slots): Similar, near top of loop. From-SVN: r81600
2004-05-07* gcc.c-torture/execute/pr15296.c: New test.Hans-Peter Nilsson2-0/+77
From-SVN: r81599
2004-05-07re PR target/15202 ([3.4 only] ICE in reload_cse_simplify_operands, at ↵John David Anglin2-25/+37
postreload.c) PR target/15202 * pa.md (movdi, movsi, movhi, movqi): Support move from shift amount register to general register. From-SVN: r81598
2004-05-07rs6000.h (STACK_BOUNDARY): Use 128 bit for either TARGET_ALTIVEC or ↵Alan Modra3-9/+12
TARGET_ALTIVEC_ABI. * config/rs6000/rs6000.h (STACK_BOUNDARY): Use 128 bit for either TARGET_ALTIVEC or TARGET_ALTIVEC_ABI. * config/rs6000/sysv4.h (ABI_STACK_BOUNDARY): Likewise. (STACK_BOUNDARY): Delete. From-SVN: r81597
2004-05-07Daily bump.GCC Administrator1-1/+1
From-SVN: r81593
2004-05-06Fixes PR java/9685, PR java/15073Ranjit Mathew2-21/+45
Fixes PR java/9685, PR java/15073 * parse.y (accessibility_string): New method. (not_accessible_field_error): Use accessibility_string() instead of java_accstring_lookup(). (resolve_qualified_expression_name): Check with check_pkg_class_access() before allowing access using qualified names. Fix comment typo. Use check_pkg_class_access() instead of not_accessible_p() for unqualified types. (not_accessible_p): Use DECL_CONTEXT (member) instead of REFERENCE for package-private access checking. (patch_method_invocation): Use accessibility_string() instead of java_accstring_lookup(). From-SVN: r81573
2004-05-06invoke.texi: Restore -fgcse-after-reload doc from 1.421, mistakenly ↵Stuart Hastings2-3/+14
clobbered by 1.423. 2004-05-06 Stuart Hastings <stuart@apple.com> * gcc/doc/invoke.texi: Restore -fgcse-after-reload doc from 1.421, mistakenly clobbered by 1.423. From-SVN: r81569
2004-05-06invoke.texi: Document -mvr4130-align.Richard Sandiford6-6/+789
* doc/invoke.texi: Document -mvr4130-align. * config/mips/mips.h (MASK_VR4130_ALIGN, TARGET_VR4130_ALIGN) (TUNE_MIPS4120, TUNE_MIPS4130): New macros. (TUNE_MACC_CHAINS): Include TUNE_MIPS4120 and TUNE_MIPS4130. (TARGET_SWITCHES): Add -mvr4130-align and -mno-vr4130-align. * config/mips/mips.md: Include sched-int.h. (USEFUL_INSN_P, SEQ_BEGIN, SEQ_END, FOR_EACH_SUBINSN): New macros. (mips_rtx_costs): Set integer multiplication costs for TUNE_MIPS4130. (override_options): Enable -mvr4130-align at -O3 and above. (mips_sim_insn): New variable. (mips_sim): New structure. (mips_sim_reset, mips_sim_init, mips_sim_next_cycle, mips_sim_wait_reg) (mips_sim_wait_regs_2, mips_sim_wait_regs_1, mips_sim_wait_regs) (mips_sim_wait_units, mips_sim_wait_insn, mips_sim_record_set) (mips_sim_issue_insn, mips_sim_issue_nop, mips_sim_finish_insn) (vr4130_avoid_branch_rt_conflict, vr4130_align_insns): New functions. (mips_reorg): Call vr4130_align_insns. (vr4130_last_insn): New variable. (vr4130_true_reg_dependence_p_1, vr4130_true_reg_dependence_p) (vr4130_swap_insns_p, vr4130_reorder): New functions. (mips_sched_reorder, mips_variable_issue): Hook in vr4130 code. (mips_issue_rate): Return 2 for PROCESSOR_R4130. (mips_use_dfa_pipeline_interface): Return true for the same. * config/mips/4130.md: New file. * config/mips/mips.md: Include it. Add a peephole2 to convert "mult;mflo" into "mtlo;macc". (*macc, *umul_acc_di, *smul_acc_di): Use $1 rather than $0 as the target of maccs. (*msac_using_macc): New pattern. From-SVN: r81567
2004-05-065500.md (ir_vr55_store): Set latency to 0.Richard Sandiford3-14/+63
* config/mips/5500.md (ir_vr55_store): Set latency to 0. (ir_vr55_hilo): Split into... (ir_vr55_mfhilo, ir_vr55_mthilo): ...these new reservations. (ir_vr55_imul_si, ir_vr55_imadd): Change latency to 5. (ir_vr55_imul_di): Change latency to 9. Reserve vr55_mac for 4 cycles. Add various multiplication bypasses. * config/mips/mips.c (mips_rtx_costs): Adjust VR5500 costs for integer multiplication. From-SVN: r81557
2004-05-06i386.md (*fscalexf4): Correct insn "mode" attribute to "XF".Uros Bizjak2-2/+7
* config/i386/i386.md (*fscalexf4): Correct insn "mode" attribute to "XF". From-SVN: r81556
2004-05-06optabs.h (enum optab_index): Add new OTI_fmod and OTI_drem.Uros Bizjak11-2/+303
* optabs.h (enum optab_index): Add new OTI_fmod and OTI_drem. (fmod_optab): Define corresponding macros. * optabs.c (init_optabs): Initialize fmod_optab and drem_optab. * genopinit.c (optabs): Implement fmod_optab and drem_optab using fmod?f3 and drem?f3 patterns. * builtins.c (expand_builtin_mathfn_2): Handle BUILT_IN_FMOD{,F,L} using fmod_optab and BUILT_IN_DREM{,F,L} using drem_optab. (expand_builtin): Expand BUILT_IN_FMOD{,F,L} and BUILT_IN_DREM{,F,L} using expand_builtin_mathfn_2 if flag_unsafe_math_optimizations is set. * reg-stack.c (subst_stack_regs_pat): Handle UNSPEC_FPREM_F, UNSPEC_FPREM_U, UNSPEC_FPREM1_F and UNSPEC_FPREM1_U. * config/i386/i386.c (ix86_emit_fp_unordered_jump): New function. * config/i386/i386-protos.h (ix86_emit_fp_unordered_jump): Prototype here. * config/i386/i386.md (UNSPEC_FPREM_F, UNSPEC_FPREM_U, UNSPEC_FPREM1_F, UNSPEC_FPREM1_U): New unspecs to represent x87's fprem and fprem1 instructions. (*x86_fnstsw_1): Change input parameter to (reg:CCFP 18). Rename insn definition to x86_fnstsw_1. (fpremxf4, fprem1xf4): New patterns to implement fprem and fprem1 x87 instructions. (fmodsf3, fmoddf3, fmodxf3): New expanders to implement fmodf, fmod and fmodl built-ins as inline x87 intrinsics. (dremsf3, dremdf3, dremxf3): New expanders to implement dremf, drem and dreml built-ins as inline x87 intrinsics. * testsuite/gcc.dg/builtins-40.c: New test. From-SVN: r81555
2004-05-06* reload1.c (inherit_piecemeal_p): Mark parameters potentially unused.Roger Sayle2-1/+5
From-SVN: r81554
2004-05-06re PR driver/9822 (The "%c" spec option produces: gcc: spec failure: ↵Ian Lance Taylor2-7/+5
unrecognized spec option 'c') PR driver/9822 * doc/invoke.texi (Spec Files): Remove documentation of %c. From-SVN: r81553
2004-05-06Daily bump.GCC Administrator1-1/+1
From-SVN: r81550
2004-05-05mips.md: Update the msub define_split for new mflo/mfhi representation.Chris Demetriou2-1/+6
2004-05-05 Chris Demetriou <cgd@broadcom.com> * config/mips/mips.md: Update the msub define_split for new mflo/mfhi representation. From-SVN: r81544
2004-05-05arm-protots.h (vfp_mem_operand): Rename ...Paul Brook8-95/+245
* config/arm/arm-protots.h (vfp_mem_operand): Rename ... (arm_coproc_mem_operand): ... To this. * config/arm/arm.c (arm_legitimate_address_p): Allow ldrd modes. (arm_legitimate_index_p): Ditto. (vfp_mem_operand): Rename ... (arm_coproc_mem_operand): ... To this. Handle writeback modes. (vfp_secondary_reload_class): Use it. (output_move_double): Use doubleword load/store instructions. (arm_hard_regno_mode_ok): Only allow even reg pairs for ldrd. * config/arm/arm.h (TARGET_LDRD): Define. (EXTRA_CONSTRAINT_STR_ARM): Add 'Uy'. * config/gcc/arm/arm.md (arm_movdi): Allow all valid memory operands. New splitter for invalid doubleword loads. * config/arm/iwmmxt.md (iwmmxt_arm_movdi): Use Uy constraint. * config/arm/vfp.md (arm_movdi_vfp): Allow all valid memory operands. * doc/md.texi: Document Uy constraint. From-SVN: r81543
2004-05-05re PR rtl-optimization/14980 ([unit-at-a-time] complex_io.cc:69: error: ↵Jan Hubicka2-1/+9
Inlined_to pointer is set but no predecesors found--causes ICE) PR opt/14980 * cgraphunit.c (cgraph_remove_unreachable_nodes): Deal properly with inline clones. From-SVN: r81540
2004-05-05re PR target/15290 (__float128 failed to pass to function properly)H.J. Lu2-1/+7
2004-05-05 H.J. Lu <hongjiu.lu@intel.com> PR target/15290 * config/i386/i386.c (ix86_split_to_parts): Use real_to_target instead of REAL_VALUE_TO_TARGET_LONG_DOUBLE. From-SVN: r81537