summaryrefslogtreecommitdiff
path: root/gcc/config
Commit message (Collapse)AuthorAgeFilesLines
* * config.gcc (case i[34567]86-*-lynxos*): Update to LynxOS 4.0.nemet2004-08-058-445/+372
| | | | | | | | | | | | | | | | | | | (case rs6000-*-lynxos*): Rename it to powerpc-*-lynxos*. Update to LynxOS 4.0. * gthr-lynx.h: New file. * config/lynx-ng.h: Remove file. * config/lynx.h: Update to LynxOS 4.0. * config/t-lynx: New file. * config/i386/lynx-ng.h: Remove file. * config/i386/lynx.h: Update to LynxOS 4.0. * config/rs6000/lynxbase.h: Remove file. * config/rs6000/lynx.h: Update to LynxOS 4.0. * config/rs6000/t-lynx: New file. * doc/install.texi (Options specification): Remove reference to LynxOS from systems where --with-gnu-as makes a difference. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@85591 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/rs6000/rs6000.c (rs6000_rtx_costs): LABEL_REFs are zerodje2004-08-041-3/+5
| | | | | | | cost. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@85582 138bc75d-0d04-0410-961f-82ee72b054a4
* * defaults.h (TARGET_DECLSPEC): New macro.mmitchel2004-08-047-36/+10
| | | | | | | | | | | | | | | | | | | | | | | | * c-cppbuiltin.c (c_cpp_builtins): Handle TARGET_DECLSPEC. * config/arm/pe.h (SUBTARGET_CPP_SPEC): Remove __declspec support. * config/arm/symbian. (TARGET_DLLIMPORT_DECL_ATTRIBUTES): Define. * config/i386/beof-elf.h (TARGET_OS_CPP_BUILTINS): Remove __declspec support. (TARGET_DECLSPEC): Define. * config/i386/cygming.h (TARGET_OS_CPP_BUILTINS): Remove __declspec support. * config/i386/i386-interix.h (TARGET_OS_CPP_BUILTINS): Remove __declspec support. (TARGET_DECLSPEC): Define. * config/mcore/mcore.h (TARGET_CPU_CPP_BUILTINS): Remove __declspec support. * config/sh/symbian-pre.h (SUBTARGET_CPP_SPEC): Remove __declspec support. * doc/tm.texi (TARGET_DECLSPEC): Document. * doc/extend.texi: Fix typo in comment. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@85571 138bc75d-0d04-0410-961f-82ee72b054a4
* gcc/pbrook2004-08-041-0/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * target-def.h (TARGET_CXX_CDTOR_RETURNS_THIS): Define. (TARGET_CXX): Use it. * target.h (struct gcc_target): Add cdtor_returns_this. * config/arm/arm.c (arm_cxx_cdtor_returns_this): New function. (TARGET_CXX_CDTOR_RETURNS_THIS): Define. * doc/tm.texi: Document TARGET_CXX_CDTOR_RETURNS_THIS. gcc/cp/ * Make-lang.in (cp/semantics.o, cp/optimize.o): Depend on TARGET_H. * cp-tree.h (struct language_function): Rename x_dtor_label to x_cdtor_label. (dtor_label): Rename ... (cdtor_label): ... to this. * decl.c (begin_constructor_body): Remove. (check_special_function_return_type): Maybe change the return type. (grokdeclarator): Pass the class type. (start_preparsed_function): Constructors may need a return label. (finish_constructor_body, finish_destructor_body): Set the return value. (begin_function_body): Don't call begin_constructor_body. (finish_function): Don't warn for constructors or destructors. (implicitly_declare_fn): Maybe change the return type. * optimize.c: Include target.h. (maybe_clone_body): Remap the function result. * semantics.c: Include target.h. (finish_return_stmt): Maybe jump to return label for constructors. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@85561 138bc75d-0d04-0410-961f-82ee72b054a4
* config/sh/sh.h (TARGET_SWITCHES): Add no-renesas to select the GCC ABI.nickc2004-08-041-0/+1
| | | | | | | doc/invoke.texi: Document this new switch and also the -mrenesas switch. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@85557 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/darwin-c.c: Don't search in "/Local/Library/Frameworks"mrs2004-08-031-1/+0
| | | | | | | | for frameworks. * doc/invoke.texi (Darwin Options): Update to reflect above. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@85507 138bc75d-0d04-0410-961f-82ee72b054a4
* gcc/hjl2004-08-035-0/+148
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2004-08-03 H.J. Lu <hongjiu.lu@intel.com> PR target/16570 * config.gcc (i[34567]86-*-* | x86_64-*-*): Add i386/t-gmm_malloc to tmake_file. (i[34567]86-*-linux*aout* | i[34567]86-*-linux*libc1): Likewise. (i[34567]86-*-linux* | x86_64-*-linux*): Add i386/t-pmm_malloc to tmake_file. * config/i386/t-gmm_malloc: New file. * config/i386/t-pmm_malloc: Likewise. * config/i386/xmmintrin.h: Include <mm_malloc.h>. 2004-08-03 H.J. Lu <hongjiu.lu@intel.com> Tanguy Fautr� <tfautre@pandora.be> * config/i386/pmm_malloc.h: New file. 2004-08-03 Danny Smith <dannysmith@users.sourceforge.net> * config/i386/gmm_malloc.h: New file. gcc/testsuite/ 2004-08-03 H.J. Lu <hongjiu.lu@intel.com> PR target/16570 * gcc.dg/i386-sse-9.c: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@85496 138bc75d-0d04-0410-961f-82ee72b054a4
* 2004-08-03 Dale Johannesen <dalej@apple.com>dalej2004-08-031-10/+16
| | | | | | | | | | | * config/rs6000/rs6000.c (machopic_output_stub): Align Darwin stubs. * c-common.c: Include opts.h. (c_common_get_alias_set): Fix check for a single input file. * toplev.c: Remove current_file_decl. * tree.h: Ditto. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@85492 138bc75d-0d04-0410-961f-82ee72b054a4
* * config.gcc (arm*-*-symbianelf*): New target.mmitchel2004-08-031-0/+50
| | | | | | | * config/arm/symbian.h: New file. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@85490 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/rs6000/rs6000.c (rs6000_rtx_costs): Calculate cost ofdje2004-08-031-50/+170
| | | | | | | | | constants more accurately. Adjust costs for FMA instructions. Add cases for most logical and float operations. Recurse into most operands. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@85488 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/arm/arm.c (emit_sfm): Only emit a single frame adjustment.pbrook2004-08-031-10/+15
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@85480 138bc75d-0d04-0410-961f-82ee72b054a4
* * arm-cores.def: Sort by architecture. Add arm946es, arm966es,rearnsha2004-08-032-19/+39
| | | | | | | | | arm968es, arm10e, arm1020e, arm1022e. * invoke.texi: Update list of ARM cores. * arm-tune.md: Regenerate. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@85476 138bc75d-0d04-0410-961f-82ee72b054a4
* * arm/gentune.sh: New file.rearnsha2004-08-034-5/+39
| | | | | | | | | | * arm/t-arm: New file. * arm/arm-tune.md: New file (autogenerated). * config.gcc (arm*-*-*): Add t-arm to tmake_file for all variants. * arm.md (attribute tune): Delete. Include arm-tune.md. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@85472 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/rs6000/altivec.md (altivec_vnmsubfp): Fix wrong pattern.dorit2004-08-031-2/+2
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@85466 138bc75d-0d04-0410-961f-82ee72b054a4
* * config.gcc (mips*-*-elf*, mips*-*-rtems*): Add elfos.h to tm_file.rsandifo2004-08-022-213/+15
| | | | | | | | | | | | | | Replace uses of mips/elf64.h with mips/elf.h * config/mips/elf.h (MAX_OFILE_ALIGNMENT, TARGET_ASM_NAMED_SECTION) (TYPE_OPERAND_FMT, TYPE_ASM_OP, SIZE_ASM_OP, BSS_SECTION_ASM_OP) (ASM_OUTPUT_ALIGNED_BSS, ASM_WEAKEN_LABEL, ASM_OUTPUT_WEAK_ALIAS) (MAKE_DECL_ONE_ONLY, INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP) (HANDLE_SYSV_PRAGMA): Delete. (ASM_OUTPUT_DEF): Fix formatting. * config/mips/elf64.h: Delete. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@85430 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/ia64/ia64.c (got_symbolic_operand): Do require azack2004-08-021-3/+13
| | | | | | | | | | | | | symbol+offset operand to have its offset be zero mod 0x3fff when GOT entries are in use. Clarify logic in SYMBOL_REF case. Clarify comments. (ia64_expand_load_address): Split a symbol+offset load when the offset is nonzero mod 0x3fff, not 0x1fff. testsuite: * gcc.dg/ia64-got-1.c: New test case. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@85426 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/rs6000/rs6000.c (rs6000_split_multireg_move): Just abortgeoffk2004-08-022-46/+22
| | | | | | | | | | | | | if trying to *store* to a non-offsettable address. * config/rs6000/rs6000.md (movtf_internal): Don't move GPRs to a nonoffsettable address. (movdi_internal32): Don't move GPRs to a nonoffsettable address. Clean up. (movti_string): Don't move GPRs to a nonoffsettable address. (movti_ppc64): Don't move GPRs to a nonoffsettable address. Clean up. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@85419 138bc75d-0d04-0410-961f-82ee72b054a4
* Patch for PR target/16155.bje2004-08-021-18/+18
| | | | | | | | | | | | | | | 2004-08-02 Ben Elliston <bje@au.ibm.com> PR target/16155 * config/rs6000/altivec.h: Replace typeof with __typeof__. [testsuite] 2004-08-02 Ben Elliston <bje@au.ibm.com> * gcc.dg/pr16155.c: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@85418 138bc75d-0d04-0410-961f-82ee72b054a4
* * doc/invoke.texi: In the MIPS options section, remove the passagersandifo2004-08-011-22/+0
| | | | | | | | | | saying that -mexplicit-relocs is usually disabled for -mabicalls -fno-unit-at-a-time. * config/mips/mips.c (override_options): Remove the code that enforced this rule. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@85406 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/mips/mips.md (cprestore): Provide two alternatives, one forrsandifo2004-08-011-6/+11
| | | | | | | | an in-range offset and one for an out-of-range offset. Wrap the latter in .set macro/.set nomacro if it's inside a .set nomacro block. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@85405 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/mips/mips-protos.h (mips_gp_save_slot): Remove.rsandifo2004-08-013-67/+58
| | | | | | | | | | | | | | | | | | | (mips_restore_gp): Declare. * config/mips/mips.c (mips_add_offset): Add a scratch register argument. Reimplement in rtl only, reusing MIPS16 logic from mips_output_mi_thunk. (mips_legitimize_address, mips_legitimize_const_move): Adjust calls to mips_add_offset. (mips_gp_save_slot): Delete. (mips_restore_gp): New function. (mips_set_return_address, mips_output_mi_thunk): Use mips_add_offset. * config/mips/mips.md (exception_receiver): Turn into a define_insn_and_split. Use mips_restore_gp to do the split. (call_internal, call_value_internal, call_value_multiple_internal): Use mips_restore_gp to restore $gp. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@85404 138bc75d-0d04-0410-961f-82ee72b054a4
* 2004-07-30 Geoffrey Keating <geoffk@apple.com>geoffk2004-07-314-72/+162
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | * config/rs6000/rs6000.c (legitimate_lo_sum_address_p): Permit non-offsettable addresses even for DImode. (rs6000_split_multireg_move): Cope with non-offsettable addresses being moved into multiple GPRs. * config/rs6000/rs6000.c (RS6000_DEFAULT_LONG_DOUBLE_SIZE): Default to 64. (rs6000_override_options): Use RS6000_DEFAULT_LONG_DOUBLE_SIZE. * config/rs6000/darwin.h (RS6000_DEFAULT_LONG_DOUBLE_SIZE): Define to 128. * config/rs6000/darwin-ldouble.c (isless): New macro. (inf): New macro. (nonfinite): New macro. (FPKINF): Delete. (_xlqadd): Completely rewrite. (_xlqmul): Correct overflow handling. (_xlqdiv): Correct overflow handling. * config/rs6000/darwin-ldouble-format: New file. Index: testsuite/ChangeLog 2004-07-30 Geoffrey Keating <geoffk@apple.com> * gcc.dg/darwin-longdouble.c: New file. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@85371 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/i386/i386.md: New peephole2's to convert imul by 3, 5 orsayle2004-07-311-0/+63
| | | | | | | 9 into the equivalent lea instruction. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@85366 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/sh/lib1funcs.asm: Make aliases movstr* for movmem*.kkojima2004-07-291-1/+27
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@85316 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/ia64/ia64.c (setjmp_operand): Delete, unused.zack2004-07-293-106/+2
| | | | | | | | | | | (got_symbolic_operand): Remove unreachable code. * config/ia64/ia64.h (PREDICATE_CODES): Remove entry for setjmp_operand; add entry for tls_symbolic_operand. * config/ia64/ia64-protos.h: Remove all prototypes of predicate functions. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@85311 138bc75d-0d04-0410-961f-82ee72b054a4
* * pa.c (output_movb): Correct typo.danglin2004-07-291-1/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@85302 138bc75d-0d04-0410-961f-82ee72b054a4
* * rtl.c (currently_expanding_to_rtl): New.steven2004-07-294-35/+15
| | | | | | | | | | | | | | | * rtl.h (currently_expanding_to_rtl): Export it. * cfgexpand.c (tree_cfg_expand): Set/clear it at entry/exit. * config/alpha/alpha.c (alpha_expand_mov): Remove old RTL inliner hack. * config/sh/sh.c: Replace rtx_equal_function_value_matters with currently_expanding_to_rtl. * config/sh/sh.md: Likewise. * config/ia64/ia64.c (got_symbolic_operand): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@85287 138bc75d-0d04-0410-961f-82ee72b054a4
* Introduce sh2a support.aoliva2004-07-2911-112/+316
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2004-07-29 Alexandre Oliva <aoliva@redhat.com> * config.gcc: Build multilibs for sh2a and sh2a-single by default. * config/sh/sh.h (SUPPORT_SH2A, SUPPORT_SH2A_SINGLE): Define by default. Split their tests out of the corresponding SH4 multilibs. * config/sh/t-sh (MULTILIB_MATCHES): Don't ever use SH4 or SH4a multilibs for SH2a. 2004-07-28 Alexandre Oliva <aoliva@redhat.com> * config.gcc: Handle sh2a multilibs and cpu selection. * config/sh/sh.h: Likewise. Handle sh2a command line flags. * config/sh/t-mlib-sh2a: New. * config/sh/t-mlib-sh2a-nofpu: New. * config/sh/t-mlib-sh2a-single: New. * config/sh/t-mlib-sh2a-single-only: New. 2004-07-09 Nick Clifton <nickc@redhat.com> Issue 43400 * config/sh/sh.h (DRIVER_SELF_SPECS): Issue an error message if -ml and -m2a are used together. 2004-03-23 DJ Delorie <dj@redhat.com> * config/sh/sh.c (sh_builtin_saveregs): Use the double code only when we have a double-sized FPU. 2004-02-24 Corinna Vinschen <vinschen@redhat.com> * config/sh/lib1funcs.asm (set_fpscr): Don't build if __SH2A_NOFPU__ is set. * config/sh/elf.h (SUBTARGET_ASM_ISA_SPEC): Add cases for -msh2a-nofpu, -msh2a-single and -msh2a-single-only 2004-02-24 Corinna Vinschen <vinschen@redhat.com> * config/sh/crt1.asm: Don't generate FPU instructions if __SH2A_NOFPU__ is set. 2004-02-20 DJ Delorie <dj@delorie.com> * config/sh/sh.md (movsf_i, movsf_ie, movsf, ble, bge): Disable for sh2a-nofpu. 2004-02-20 Fred Fish <fnf@redhat.com>, Corinna Vinschen <vinschen@redhat.com> * config/sh/t-sh (MULTILIB_OPTIONS): Add 2a-nofpu. (MULTILIB_EXCEPTIONS): Don't build littel-endian on sh2a. 2004-02-18 DJ Delorie <dj@redhat.com> * config/sh/sh.c (broken_move): Add support for movi20. * config/sh/sh.h: Likewise. (SHIFT_COUNT_TRUNCATED): Set for sh2a. * config/sh/sh.md (udivsi3_sh2a): New. (udivsi3): Call it. (divsi3_sh2a): New. (divsi3): Call it. (mul_r): New. (ashlsi3_sh2a): New. (ashrsi3_sh2a): New. (lshrsi3_sh2a): New. (movsi_i): Disable for sh2a. (movsi_ie): Add movi20. (movsf_i, movsf_ie, movsf, ble, untyped_call): Explicitly enable sh2a, for -m2a-nofpu mode. 2004-02-13 DJ Delorie <dj@redhat.com> * config/sh/lib1funcs.asm: Handle double vs single better. * config/sh/sh.h: Likewise. 2004-02-09 DJ Delorie <dj@redhat.com> * config/sh/crt1.asm: Add support for sh2a. * config/sh/elf.h: Likewise. * config/sh/lib1funcs.asm: Likewise. * config/sh/sh.c: Likewise. * config/sh/sh.md: Likewise. * config/sh/sh.h: Likewise. * config/sh/t-sh: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@85286 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/frv/frv.md (movqi_internal, movhi_internal,aoliva2004-07-291-11/+19
| | | | | | | movsi_internal): Add backup alternatives for memory inputs. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@85284 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/darwin.c (darwin_one_byte_bool): New global variable.austern2004-07-283-2/+19
| | | | | | | | | | | | | * config/darwin.h (darwin_one_byte_bool): Declare. (SUBTARGET_OPTIONS): Define macro. (for -mone-byte-bool flag.) * config/rs6000/darwin.h (BOOL_TYPE_SIZE): Conditionalize on value of darwin_one_byte_bool. * doc/invoke.texi: Document -mone-byte-bool flag. * testsuite/gcc.dg/darwin-bool-1.c: New test. * testsuite/gcc.dg/darwin-bool-2.c: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@85277 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/frv/frv.h (EPILOGUE_USES): New. Use LR.aldyh2004-07-281-0/+2
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@85271 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/rs6000/rs6000.md ("move_from_CR_gt_bit"): Rename toaldyh2004-07-284-16/+16
| | | | | | | | | | | | | | | | | | | | | | move_from_CR_eq_bit. Rename UNSPEC_MV_CR_GT to UNSPEC_MV_CR_EQ. * config/rs6000/spe.md ("e500_flip_gt_bit"): Rename to e500_flip_eq_bit. * config/rs6000/rs6000-protos.h: Rename output_e500_flip_gt_bit to output_e500_flip_eq_bit. * config/rs6000/rs6000.c (output_e500_flip_gt_bit): Rename to output_e500_flip_eq_bit. (rs6000_emit_sCOND): Rename call to output_e500_flip_gt_bit to output_e500_flip_eq_bit. Rename gen_move_from_CR_gt_bit to gen_move_from_CR_eq_bit. (print_operand): case D. Get to EQ bit. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@85259 138bc75d-0d04-0410-961f-82ee72b054a4
* gcc/ChangeLog:aoliva2004-07-2812-10/+698
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Introduce sh4a support. * config.gcc: Handle sh4a multilibs and cpu selection. * config/sh/sh.h: Likewise. Handle sh4a command line flags. * config/sh/t-mlib-sh4a: New. * config/sh/t-mlib-sh4al: New. * config/sh/t-mlib-sh4a-nofpu: New. * config/sh/t-mlib-sh4a-single: New. * config/sh/t-mlib-sh4a-single-only: New. 2004-02-20 DJ Delorie <dj@redhat.com> * config/sh/sh.md ("movua"): Change constraint from "m" to "Sua". * config/sh/sh.h (EXTRA_CONSTRAINT_S): Add "Sua" support. 2003-08-22 Eric Christopher <echristo@redhat.com> * config/sh/sh4a.md: Update for chip errata. 2003-08-07 Eric Christopher <echristo@redhat.com> * config/sh/sh4a.md: New file. sh4a processor description. 2003-07-08 Alexandre Oliva <aoliva@redhat.com> * config/sh/sh.h (TARGET_SWITCHES): Added 4al. Adjust description of -m4a-nofpu. (SH_ASM_SPEC): Pass -dsp for -m4al, not -m4a-nofpu. * config/sh/t-sh (MULTILIB_MATCHES): Map -m4al to -m4a-nofpu. * doc/invoke.texi (SH Options): Document -m4al. 2003-07-03 Alexandre Oliva <aoliva@redhat.com> * config/sh/sh.c (expand_block_move): Remove commented-out code checked in by mistake. (sh_cannot_change_mode_class): Enable SUBREGs to be used to select single elements from SFmode vectors. * config/sh/sh.md (fsca): Use VEC_CONCAT to initialize the output register. (sinsf2, cossf2, sindf2, cosdf2): Don't emit CLOBBER. 2003-07-01 Alexandre Oliva <aoliva@redhat.com> * config/sh/sh.h (sh_fsca_sf2int, sh_fsca_df2int, sh_fsca_int2sf): Remove variable declarations. * config/sh/sh.c (sh_fsca_sf2int, sh_fsca_df2int, sh_fsca_int2sf): New functions. (sh_fsca_sf2int_rtx, sh_fsca_df2int_rtx, sh_fsca_int2sf_rtx): New static variables. * config/sh/sh-protos.h (sh_fsca_sf2int, sh_fsca_df2int, sh_fsca_int2sf): Declare. * config/sh/sh.md: Adjust. * doc/invoke.texi (SH Options): Document new options. * config/sh/lib1funcs.asm (ic_invalidate): Remove SH4a forward compatibility from SH4 code. 2003-06-27 Alexandre Oliva <aoliva@redhat.com> * config/sh/sh.c (expand_block_move): Don't emit POST_INC too early. (memory_movsrc_operand): Renamed to... (unaligned_load_operand): ... this. Simplified. * config/sh/sh.h (PREDICATE_CODES): Adjust. * config/sh/sh.md (movua, extv, extzv): Likewise. Change movua's input operand to SImode, and adjust the others. Introduce post-increment by peephole. * config/sh/sh.c (expand_block_move): Give the target address the same mode as the temp reg. * config/sh/sh.c (expand_block_move): Use a temp reg for unaligned copying. 2003-06-26 Alexandre Oliva <aoliva@redhat.com> Introduce support for SH4a. * config/sh/lib1funcs.asm (ic_invalidate): Use icbi if __SH4A__. Emit 4 4kb blocks and touch all of them otherwise. * config/sh/sh.c (sh_fsca_sf2int, sh_fsca_df2int, sh_fsca_int2sf): New. (sh_init_builtins): Initialize them. (print_operand): Support `d'. (expand_block_move): Use movua if src is misaligned. (memory_movsrc_operand): New. * config/sh/sh.h (TARGET_CPU_CPP_BUILTINS): Define __SH4A__ and one of the SH4 macros. (SH4A_BIT, TARGET_SH4A_ARCH, TARGET_SH4A_FP, SELECT_SH4A_NOFPU, SELECT_SH4A_SINGLE_ONLY, SELECT_SH4A, SELECT_SH4A_SINGLE): New. (TARGET_NONE): Add SH4A_BIT. (TARGET_SWITCHES): Add 4a-single-only, 4a-single, 4a-nofpu and 4a. (SH_ASM_SPEC): Pass -dsp if -m4a-nofpu. (sh_fsca_sf2int, sh_fsca_df2int, sh_fsca_int2sf): Declare. (OVERRIDE_OPTIONS): Set cpu to CPU_SH4A when appropriate. (enum processor_type): Added PROCESSOR_SH4A. (PREDICATE_CODES): Add memory_movsrc_operand. * config/sh/sh.md: Removed unused variables. (attr cpu): Add sh4a. (attr type): Add movua, fsrra and fsca. (prefetch): New, for SH4. (ic_invalidate_line, ic_invalidate_line_sh4a): Use icbi. (toggle_sz): Set type to fp. (toggle_pr, rsqrtsf2, fsca, sinsf2, cossf2, sindf2, cosdf2): New. (movua, extv, extzv): New. * config/sh/t-sh: Add multilibs for 4a, 4a-nofpu, 4a-single and 4a-single-only. gcc/testsuite/ChangeLog: 2003-07-06 Alexandre Oliva <aoliva@redhat.com> * gcc.dg/sh4a-memmovua.c: Tweak regular expression. 2003-07-01 Alexandre Oliva <aoliva@redhat.com> * gcc.dg/sh4a-bitmovua.c: New. * gcc.dg/sh4a-cos.c: New. * gcc.dg/sh4a-cosf.c: New. * gcc.dg/sh4a-fprun.c: New. * gcc.dg/sh4a-fsrra.c: New. * gcc.dg/sh4a-memmovua.c: New. * gcc.dg/sh4a-sin.c: New. * gcc.dg/sh4a-sincos.c: New. * gcc.dg/sh4a-sincosf.c: New. * gcc.dg/sh4a-sinf.c: New. libstdc++-v3/ChangeLog: 2003-10-01 Eric Christopher <echristo@redhat.com> * config/cpu/sh/atomicity.h (__exchange_and_add): Remove 'm' constraint. 2003-07-09 Alexandre Oliva <aoliva@redhat.com> * config/cpu/sh/atomicity.h: New. Use movli and movco on SH4a. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@85257 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/rs6000/rs6000.c (function_arg_padding): Pad SFmode upwards.amodra2004-07-281-3/+3
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@85242 138bc75d-0d04-0410-961f-82ee72b054a4
* * libgcc2.c: Change all conditionals testingzack2004-07-2710-28/+25
| | | | | | | | | | | | | | | | | | | | | | | LIBGCC2_LONG_DOUBLE_TYPE_SIZE == 96 to == 80. * libgcc2.h: Likewise. * config/i386/i386.c (ix86_init_mmx_sse_builtins): Set TYPE_PRECISION of float80_type to 80. * config/ia64/ia64.c (ia64_init_builtins): Set TYPE_PRECISION of fpreg_type and float80_type to 80. * config/i386/i386.h, config/ia64/ia64.h, config/m68k/m68k.h * config/m68k/netbsd-elf.h: Change LONG_DOUBLE_TYPE_SIZE and possibly LIBGCC2_LONG_DOUBLE_TYPE_SIZE to evaluate to 80 whenever they would formerly have evaluated to 96. * config/i386/sco5.h: Remove unnecessary redefinition of LONG_DOUBLE_TYPE_SIZE. * doc/rtl.texi: Clarify uses of XFmode and TFmode. * config/i386/i386-modes.def: Use FRACTIONAL_FLOAT_MODE for XFmode, with a bitsize of 80. Update commentary. * config/ia64/ia64-modes.def: Likewise. * config/m68k/m68k-modes.def: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@85232 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/m32r/m32r.c: Include integrate.h in order to get the prototype fornickc2004-07-272-8/+9
| | | | | | | | | | | get_hard_reg_initial_val(). * config/m32r/m32r.md (m32rpipeline): Remove unused value "m32r" and tidy up indentation. (final_presence_set): Use absence_set instead, so that if there is nothing in the "o" pipe the "s" pipe can be scheduled. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@85221 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/i386/i386.c (function_arg): Always treat 8-rth2004-07-261-1/+23
| | | | | | | | | and 16-byte wide vectors the same, even if MMX/SSE are disabled. (contains_128bit_aligned_vector_p): Add comment. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@85207 138bc75d-0d04-0410-961f-82ee72b054a4
* * calls.c (combine_pending_stack_adjustment_and_call): Makerth2004-07-262-4/+7
| | | | | | | | | | | | | | | | | preferred_unit_stack_boundary argument unsigned. Make unadjusted_alignment unsigned. (expand_call): Make preferred_stack_boundary and preferred_unit_stack_boundary variables unsigned. * function.c (assign_stack_local_1): Make alignment unsigned. * function.h (struct function): Make stack_alignment_needed, preferred_stack_boundary unsigned. * config/i386/i386.c (ix86_preferred_stack_boundary): Make unsigned. (ix86_compute_frame_layout): Make stack_alignment_needed, preferred_alignment variables unsigned. * config/i386/i386.h (ix86_preferred_stack_boundary): Make unsigned. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@85196 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/rs6000/rs6000.md (movdi_internal64): Further disparagedje2004-07-261-1/+1
| | | | | | | f->f. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@85190 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/alpha/alpha.c (alpha_rtx_cost_data): Tweak int_divfalk2004-07-261-3/+3
| | | | | | | costs. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@85186 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/i386/i386.c (output_fp_compare): Use ffreep to pop topsayle2004-07-261-1/+1
| | | | | | | value off of the stack if TARGET_USE_FFREEP. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@85178 138bc75d-0d04-0410-961f-82ee72b054a4
* * config.gcc (i[34567]86-*-solaris2*, sparc64-*-solaris2*)drow2004-07-2511-3/+447
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (sparc-*-solaris2*): Include sol2.o and sol2-protos.h. * config/sol2-c.c: Include "tm.h", "tm_p.h", "toplev.h", "cpplib.h", "c-pragma.h", "c-common.h". (solaris_pragma_align, solaris_pragma_init, solaris_pragma_fini) (solaris_register_pragmas): New functions. * config/sol2-protos.h: New file. * config/sol2.c: New file. * config/sol2.h (SOLARIS_ATTRIBUTE_TABLE, ASM_DECLARE_FUNCTION_SIZE) (REGISTER_TARGET_PRAGMAS): New macros. (solaris_pending_aligns, solaris_pending_inits) (solaris_pending_finis): New variables. * config/t-sol2 (sol2-c.o): Update dependencies. (sol2.o): New rule. * config/i386/i386.c (TARGET_INSERT_ATTRIBUTES): Define in terms of SUBTARGET_INSERT_ATTRIBUTES. (ix86_attribute_table): Include SUBTARGET_ATTRIBUTE_TABLE. * config/i386/sol2.h (SUBTARGET_INSERT_ATTRIBUTES) (SUBTARGET_ATTRIBUTE_TABLE, ASM_OUTPUT_CALL): Define. * config/sparc/elf.h (ASM_DECLARE_FUNCTION_SIZE): Redefine. * config/sparc/sp64-elf.h (ASM_DECLARE_FUNCTION_SIZE): Redefine. * config/sparc/sol2.h (SUBTARGET_INSERT_ATTRIBUTES) (SUBTARGET_ATTRIBUTE_TABLE, ASM_OUTPUT_CALL): Define. * config/sparc/sparc.c (sparc_attribute_table): New. (TARGET_INSERT_ATTRIBUTES): Define in terms of SUBTARGET_INSERT_ATTRIBUTES. (TARGET_ATTRIBUTE_TABLE): Define if SUBTARGET_ATTRIBUTE_TABLE is defined. * doc/extend.texi (Solaris Pragmas): New section. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@85155 138bc75d-0d04-0410-961f-82ee72b054a4
* 2004-07-24 Zack Weinberg <zack@codesourcery.com>zack2004-07-253-25/+8
| | | | | | | | | | | | | | | | * config/ia64/ia64.c (general_xfmode_operand) (destination_xfmode_operand): Delete. * config/ia64/ia64.h (PREDICATE_CODES): Remove them. * config/ia64/ia64.md (*movxf_internal): Use general_operand and destination_operand. 2004-07-24 Alexander Kabaev <kan@freebsd.org> * config/ia64/ia64.h (SUBTARGET_EXTRA_SPECS): Default to nothing. (EXTRA_SPECS): Use SUBTARGET_EXTRA_SPECS. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@85141 138bc75d-0d04-0410-961f-82ee72b054a4
* 2004-07-24 Roman Zippel <zippel@linux-m68k.org>schwab2004-07-244-85/+54
| | | | | | | | | | | | | | | * config/m68k/m68k.c (output_scc_di): Fix coding style. (symbolic_operand): Fix prototype. * config/m68k/m68k.h (PREDICATE_CODES): Add symbolic_operand. * config/m68k/m68k.md: Add constants for registers a0 and sp and use them, change from the "{...}" syntax to the simpler {...} syntax. (*cfv4_extendqisi2): Fix destination predicate. * config/m68k/m68k-protos.h: Remove various declarations also generated via PREDICATE_CODES. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@85115 138bc75d-0d04-0410-961f-82ee72b054a4
* 2004-07-23 Janis Johnson <janis187@us.ibm.com>janis2004-07-231-9/+9
| | | | | | | | * config/rs6000/altivec.h (vec_lvewx, vec_lvehx, vec_lvwbx): Remove the const qualifier for the second argument in the C++ functions. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@85092 138bc75d-0d04-0410-961f-82ee72b054a4
* 2004-07-23 Janis Johnson <janis187@us.ibm.com>janis2004-07-231-17/+81
| | | | | | | | * config/rs6000/altivec.h (vec_stvewx, vec_stvehx, vec_stvebx): Use specific pointer types. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@85091 138bc75d-0d04-0410-961f-82ee72b054a4
* 2004-07-23 Janis Johnson <janis187@us.ibm.com>janis2004-07-231-164/+644
| | | | | | | | | | | | | | | | | | | | | | | | * config/rs6000/altivec.h (vec_vadduwm): (vec_vadduwm, vec_vadduhm, vec_vaddubm, vec_vsubuwm, vec_vsubuhm, vec_vsububm): Fix types used for vector bool and/or vector pixel, add C++ and C missing support. (vec_vaddsws, vec_vaddshs, vec_vaddsbs, vec_vmaxsw, vec_vmaxsh, vec_vmaxsb, vec_vmrghw, vec_vmrghh, vec_vmrghb, vec_vmrglw, vec_vmrglh, vec_vmrglb, vec_vminsw, vec_vminsh, vec_vminsb, vec_vpkuwum, vec_vpkuhum, vec_vspltw, vec_vsplth, vec_vspltb, vec_vsubsws, vec_vsubshs, vec_vsubsbs, vec_vupklsh, vec_vupkhsh, vec_vupklsb): Add missing C++ and C support for vector bool and/or vector pixel. (vec_vadduws, vec_vadduhs, vec_vaddubs, vec_vcmpeqfp, vec_vcmpequw, vec_vcmpequh, vec_vcmpequb, vec_vcmpgtfp, vec_vcmpgtsw, vec_vcmpgtuw, vec_vcmpgtsh, vec_vcmpgtuh, vec_vcmpgtsb, vec_vcmpgtub, vec_vmaxuw, vec_vmaxuh, vec_vmaxub, vec_vminuw, vec_vminuh, vec_vminub, vec_vsubuws, vec_vsubuhs, vec_vsububs, vec_vupkhpx, vec_vupklpx): Fix C++ and C types used for vector bool and/or vector pixel. (vec_st, vec_stl): Add C++ support for vector pixel. (vec_unpackh, vec_unpackl, vec_any_ge): Fix C++ support for vector bool. (vec_all_ne): Add C++ support for vector pixel. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@85090 138bc75d-0d04-0410-961f-82ee72b054a4
* 2004-07-23 Janis Johnson <janis187@us.ibm.com>janis2004-07-231-28/+18
| | | | | | | | | | | | | | | * config/rs6000/altivec.h (vec_vcmpgtsh): Fix C++ function name. (vec_vmulesb): Add missing C++ function. (vec_perm): Fix type of third argument in C++ function. (vec_vsum4shs): Fix C++ function name. (vec_any_ge): Remove C++ functions for unsupported arg combinations. (vec_vcmpgtsw, vec_vcmpgtuw, vec_minsb, vec_vmsummbm): Fix the argument passed to the error handler in C macro. (vec_nmsub): Remove extra parens around argument names in C macro. (vec_packpx): Add missing parens in C macro. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@85089 138bc75d-0d04-0410-961f-82ee72b054a4
* 2004-07-22 Paolo Bonzini <bonzini@gnu.org>bonzini2004-07-236-0/+45
| | | | | | | | | | | | | * machmode.def: Remove vector modes. * config/alpha/alpha-modes.def: Add supported vector modes. * config/arm/arm-modes.def: Likewise. * config/frv/frv-modes.def: Likewise. * config/i386/i386-modes.def: Likewise. * config/rs6000/rs6000-modes.def: Likewise. * config/sh/sh-modes.def: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@85076 138bc75d-0d04-0410-961f-82ee72b054a4
* * dwarf2out.c (output_call_frame_info): Set SYMBOL_FLAG_LOCAL onmmitchel2004-07-236-538/+296
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | generated SYMBOL_REFs for labels. * config/darwin-protos.h (machopic_validate_stub_or_non_lazy_ptr): Change prototype. (machopic_stub_name): Remove. (machopic_indirection_name): New function. (machopic_mcount_stub_name): Likewise. (machopic_classify_name): Remove. (machopic_function_base_sym): New function. (machpoic_classify_symbol): Likewise. (machopic_classify_ident): Remove. (machopic_define_ident): Likewise. (machopic_define_name): Likewise. (machopic_name_defined_p): Likewise. (machopic_ident_defined_p): Likewise. (darwin_strip_name_encoding): Likewise. (machopic_define_symbol): New function. * config/darwin.c (hashtab.h): Include. (machopic_defined_list): Remove. (machopic_classify_ident): Likewise. (machopic_classify_name): Likewise. (machopic_ident_defined_p): Likewise. (machopic_define_ident): Likewise. (machopic_define_name): Likewise. (machopic_symbol_defined_p): New function. (machopic_classify_symbol): Likewise. (machopic_data_defined_p): Use machopic_classify_symbol. (machopic_define_symbol): New function. (machopic_function_base_sym): New function. (machopic_non_lazy_pointers): Remove. (machopic_non_lazy_ptr_name): Likewise. (machopic_stubs): Likewise. (machopic_stub_name): Likewise. (NON_LAZY_POINTER_SUFFIX): New macro. (STUB_SUFFIX): Likewise. (machopic_indirection): New structure. (machopic_indirections): New variable. (machopic_indirection_hash): New function. (machopic_indirection_eq): Likewise. (machopic_indirection_name): Likewise. (machopic_mcount_stub_name): New function. (machopic_validate_stub_or_non_lazy_pointer): Reimplement to use hash table. (machopic_indirect_data_reference): Rework to use new functions. (machopic_indirect_call_target): Likewise. (machopic_legitimize_pic_address): Likewise. (machopic_output_indirection): New function. (machopic_finish): Use it. (machopic_operand_p): Rework to use new functions. (darwin_encode_seciton_info): Use SYMBOL_REF_FLAGS. (darwin_strip_name_encoding): Remove. (update_non_lazy_ptrs): Remove. (update_stubs): Likewise. (darwin_non_lazy_pcrel): Use new functions. * config/darwin.h (ASM_DECLARE_OBJECT_NAME): Likewise. (ASM_OUTPUT_LABELREF): Likewise. (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Likewise. (MACHO_SYMBOL_FLAG_VARIABLE): New macro. (MACHO_SYMBOL_FLAG_DEFINED): Likewise. (TARGET_STRIP_NAME_ENCODING): Do not use darwin_strip_name_encoding. (GEN_LAZY_PTR_NAME_FOR_SYMBOL): Do not use darwin_strip_name_encoding. * config/i386/darwin.h (FUNCTION_PROFILER): Use machopic_mcount_stub_name. * config/i386/i386.c (x86_output_mi_thunk): Use machopic_indirection_name, not machopic_stub_name. * config/rs6000/rs6000.c (rs6000_legitimize_reload_address): Use machopic_function_base_sym. (print_operand): Use machopic_classify_symbol. (rs6000_emit_prologue): Use machopic_function_base_sym. (output_profile_hook): Do not use machopic_stub_name. (macho_branch_isalnds): Do not use darwin_strip_name_encoding. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@85071 138bc75d-0d04-0410-961f-82ee72b054a4