summaryrefslogtreecommitdiff
path: root/gcc/config
Commit message (Collapse)AuthorAgeFilesLines
* Add t-xilinx for powerpc-xilinx-eabi*.eager2009-05-041-0/+56
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@147100 138bc75d-0d04-0410-961f-82ee72b054a4
* 2009-05-04 Paolo Bonzini <bonzini@gnu.org>bonzini2009-05-0465-619/+383
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * doc/tm.texi (LEGITIMIZE_ADDRESS): Revise documentation. * gcc/defaults.h (LEGITIMIZE_ADDRESS): Delete. * gcc/explow.c (memory_address): Use target hook. * gcc/targhooks.c (default_legitimize_address): New. * gcc/targhooks.h (default_legitimize_address): New. * gcc/target.h (legitimize_address): New. * gcc/target-def.h (TARGET_LEGITIMIZE_ADDRESS): New. (TARGET_INITIALIZER): Include it. * gcc/system.h (LEGITIMIZE_ADDRESS): Poison. * config/bfin/bfin-protos.h (legitimize_address): Remove. * config/bfin/bfin.c (legitimize_address): Remove. * config/bfin/bfin.h (LEGITIMIZE_ADDRESS): Remove. * config/m68hc11/m68hc11-protos.h (m68hc11_legitimize_address): Remove. * config/m68hc11/m68hc11.c (m68hc11_legitimize_address): Remove. * config/m68hc11/m68hc11.h (LEGITIMIZE_ADDRESS): Remove. * gcc/config/arm/arm.h (LEGITIMIZE_ADDRESS, ARM_LEGITIMIZE_ADDRESS, THUMB_LEGITIMIZE_ADDRESS, THUMB2_LEGITIMIZE_ADDRESS): Delete. * gcc/config/s390/s390.h (LEGITIMIZE_ADDRESS): Delete. * gcc/config/m32c/m32c.h (LEGITIMIZE_ADDRESS): Delete. * gcc/config/sparc/sparc.h (LEGITIMIZE_ADDRESS): Delete. * gcc/config/m32r/m32r.h (LEGITIMIZE_ADDRESS): Delete. * gcc/config/i386/i386.h (LEGITIMIZE_ADDRESS): Delete. * gcc/config/sh/sh.h (LEGITIMIZE_ADDRESS): Delete. * gcc/config/avr/avr.h (LEGITIMIZE_ADDRESS): Delete. * gcc/config/m68hc11/m68hc11.h (LEGITIMIZE_ADDRESS): Delete. * gcc/config/iq2000/iq2000.h (LEGITIMIZE_ADDRESS): Delete. * gcc/config/mn10300/mn10300.h (LEGITIMIZE_ADDRESS): Delete. * gcc/config/m68k/m68k.h (LEGITIMIZE_ADDRESS): Delete. * gcc/config/score/score.h (LEGITIMIZE_ADDRESS): Delete. * gcc/config/pa/pa.h (LEGITIMIZE_ADDRESS): Delete. * gcc/config/mips/mips.h (LEGITIMIZE_ADDRESS): Delete. * gcc/config/alpha/alpha.h (LEGITIMIZE_ADDRESS): Delete. * gcc/config/frv/frv.h (LEGITIMIZE_ADDRESS): Delete. * gcc/config/spu/spu.h (LEGITIMIZE_ADDRESS): Delete. * gcc/config/xtensa/xtensa.h (LEGITIMIZE_ADDRESS): Delete. * gcc/config/cris/cris.h (LEGITIMIZE_ADDRESS): Delete. * gcc/config/rs6000/rs6000.h (LEGITIMIZE_ADDRESS): Delete. * gcc/config/picochip/picochip.h (LEGITIMIZE_ADDRESS): Delete. * gcc/config/s390/s390-protos.h (legitimize_address): Delete. * gcc/config/m32c/m32c-protos.h (m32c_legitimize_address): Delete. * gcc/config/sparc/sparc-protos.h (legitimize_address): Delete. * gcc/config/i386/i386-protos.h (legitimize_address): Delete. * gcc/config/avr/avr-protos.h (legitimize_address): Delete. * gcc/config/mn10300/mn10300-protos.h (legitimize_address): Delete. * gcc/config/score/score-protos.h (score_legitimize_address): Delete. * gcc/config/arm/arm-protos.h (arm_legitimize_address, (thumb_legitimize_address): Delete. * gcc/config/pa/pa-protos.h (hppa_legitimize_address): Delete. * gcc/config/mips/mips-protos.h (mips_legitimize_address): Delete. * gcc/config/alpha/alpha-protos.h (alpha_legitimize_address): Delete. * gcc/config/frv/frv-protos.h (frv_legitimize_address): Delete. * gcc/config/spu/spu-protos.h (spu_legitimize_address): Delete. * gcc/config/xtensa/xtensa-protos.h (xtensa_legitimize_address): Delete. * gcc/config/rs6000/rs6000-protos.h (rs6000_legitimize_address): Delete. * config/arm/arm.c (arm_legitimize_address): Maybe call Thumb version. * config/m32c/m32c.c (m32c_legitimize_address): Standardize. * config/m32r/m32r.c (m32r_legitimize_address): New. * config/m68k/m68k.c (m68k_legitimize_address): New. * config/score/score.c (score_legitimize_address): Standardize. * config/score/score3.c (score3_legitimize_address): Standardize. * config/score/score3.h (score3_legitimize_address): Adjust. * config/score/score7.c (score7_legitimize_address): Standardize. * config/score/score7.h (score7_legitimize_address): Adjust. * config/sh/sh.c (sh_legitimize_address): New. * config/iq2000/iq2000.c (iq2000_legitimize_address): New. * gcc/config/s390/s390.c (legitimize_address): Rename to... (s390_legitimize_address): ... this. * gcc/config/sparc/sparc.c (legitimize_address): Rename to... (sparc_legitimize_address): ... this. * gcc/config/i386/i386.c (legitimize_address): Rename to... (ix86_legitimize_address): ... this. * gcc/config/avr/avr.c (legitimize_address): Rename to... (avr_legitimize_address): ... this. * gcc/config/mn10300/mn10300.c (legitimize_address): Rename to... (mn10300_legitimize_address): ... this. * config/alpha/alpha.c (alpha_legitimize_address): Wrap... (alpha_legitimize_address_1): ... the old alpha_legitimize_address. (alpha_expand_mov): Adjust call. * config/frv/frv.c (frv_legitimize_address): Return x on failure. * config/spu/spu.c (spu_legitimize_address): Likewise. * config/xtensa/xtensa.c (xtensa_legitimize_address): Likewise. * config/rs6000/rs6000.c (rs6000_legitimize_address): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@147098 138bc75d-0d04-0410-961f-82ee72b054a4
* * defaults.h (FRAME_POINTER_REQUIRED): Provide default.aesok2009-05-0316-68/+0
| | | | | | | | | | | | | | | | | | | | | | | * doc/tm.texi (FRAME_POINTER_REQUIRED): Revise documentation. * config/alpha/alpha.h (FRAME_POINTER_REQUIRED): Delete. * config/s390/s390.h (FRAME_POINTER_REQUIRED): Delete. * config/spu/spu.h (FRAME_POINTER_REQUIRED): Delete. * config/sh/sh.h (FRAME_POINTER_REQUIRED): Delete. * config/pdp11/pdp11.h (FRAME_POINTER_REQUIRED): Delete. * config/stormy16/stormy16.h (FRAME_POINTER_REQUIRED): Delete. * config/m68hc11/m68hc11.h (FRAME_POINTER_REQUIRED): Delete. * config/iq2000/iq2000.h (FRAME_POINTER_REQUIRED): Delete. * config/mn10300/mn10300.h (FRAME_POINTER_REQUIRED): Delete. * config/ia64/ia64.h (FRAME_POINTER_REQUIRED): Delete. * config/m68k/m68k.h (FRAME_POINTER_REQUIRED): Delete. * config/rs6000/rs6000.h (FRAME_POINTER_REQUIRED): Delete. * config/picochip/picochip.h (FRAME_POINTER_REQUIRED): Delete. * config/mcore/mcore.h (FRAME_POINTER_REQUIRED): Delete. * config/h8300/h8300.h (FRAME_POINTER_REQUIRED): Delete. * config/v850/v850.h (FRAME_POINTER_REQUIRED): Delete. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@147072 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/mips/mips.h (FRAME_GROWS_DOWNWARD,nemet2009-04-302-29/+42
| | | | | | | | | | | | | | | | | | MIPS_GP_SAVE_AREA_SIZE): Define new macros. (STARTING_FRAME_OFFSET): Return 0 if FRAME_GROWS_DOWNWARD. Use MIPS_GP_SAVE_AREA_SIZE. * config/mips/mips.c (struct mips_frame_info): Update comment before arg_pointer_offset and hard_frame_pointer_offset. (mips_compute_frame_info): Update diagram before function: to correctly use stack_pointer_rtx for fp_sp_offset and gp_sp_offset, to indicate the position of frame_pointer_rtx with -fstack-protector and to show args_size. Don't allocate cprestore area for leaf functions if FRAME_GROWS_DOWNWARD. Use MIPS_GP_SAVE_AREA_SIZE to set cprestore_size. (mips_initial_elimination_offset): Update for FRAME_GROWS_DOWNWARD. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@147024 138bc75d-0d04-0410-961f-82ee72b054a4
* fix for PR 39955meissner2009-04-301-0/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@147021 138bc75d-0d04-0410-961f-82ee72b054a4
* Fix PR target/38571ramana2009-04-301-1/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@147000 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/mips/mips.c (mips_add_offset): Use gen_int_mode forwilson2009-04-301-2/+4
| | | | | | | CONST_HIGH_PART result. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146995 138bc75d-0d04-0410-961f-82ee72b054a4
* (frame_pointer_required_p): Change return type to bool.aesok2009-04-291-1/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146990 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/avr/avr.c (initial_elimination_offset): Rename toaesok2009-04-293-13/+20
| | | | | | | | | | | | | | | | | avr_initial_elimination_offset. (frame_pointer_required_p): Rename to avr_frame_pointer_required_p, change return type to bool. (avr_can_eliminate): New function. * config/avr/avr.h (CAN_ELIMINATE): Use avr_can_eliminate. (FRAME_POINTER_REQUIRED): Use avr_frame_pointer_required_p. (INITIAL_ELIMINATION_OFFSET): Use avr_initial_elimination_offset. * config/avr/avr-protos.h (initial_elimination_offset) : Rename to avr_initial_elimination_offset. (frame_pointer_required_p): Rename to avr_frame_pointer_required_p. (avr_initial_elimination_offset): Define. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146989 138bc75d-0d04-0410-961f-82ee72b054a4
* 2009-04-29 Richard Guenther <rguenther@suse.de>rguenth2009-04-291-1/+3
| | | | | | | | | | | | | | | | | | PR target/39943 * config/i386/i386.c (ix86_vectorize_builtin_conversion): Only allow conversion to signed integers. * lib/target-supports.exp (check_effective_target_vect_uintfloat_cvt): New. (check_effective_target_vect_floatuint_cvt): Likewise. * gcc.dg/vect/slp-10.c: Adjust. * gcc.dg/vect/slp-11.c: Adjust. * gcc.dg/vect/slp-12b.c: Adjust. * gcc.dg/vect/slp-33.c: Adjust. * gcc.c-torture/compile/pr39943.c: New testcase. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146984 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/bfin/bfin.c (bfin_optimize_loop): When looking for the lastbernds2009-04-291-0/+1
| | | | | | | | insn before the loop_end instruction, don't look past labels. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146980 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/bfin/bfin.c (bfin_optimize_loop): If we need a scratch reg,bernds2009-04-291-4/+30
| | | | | | | | scan backwards to try to find a constant to initialize it. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146974 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/bfin/bfin.h (splitting_loops): Declare.bernds2009-04-294-81/+133
| | | | | | | | | | | | | | | | | | | | | * config/bfin/bfin-protos.h (WA_05000257, WA_05000283, WA_05000315): Reorder bit definitions to be ascending. (WA_LOAD_LCREGS, ENABLE_WA_LOAD_LCREGS): New macros. * config/bfin/bfin.c (splitting_loops): New variable. (bfin_cpus): Add WA_LOAD_LCREGS as needed. (struct loop_info): Remove members INIT and LOOP_INIT. (bfin_optimize_loop): Don't set them. Reorder the code that generates the LSETUP sequence. Allow LC to be loaded from any register, but also add a case to push/pop a PREG scratch if ENABLE_WA_LOAD_LCREGS. (bfin_reorg_loops): When done, split all BB_ENDs with splitting_loops set to 1. * config/bfin/bfin.md (loop_end splitter): Use splitting_loops instead of reload_completed. From Jie Zhang: * config/bfin/bfin.md (movsi_insn): Refine constraints. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146971 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/bfin/bfin.c (bfin_register_move_cost): Test for subsets ofbernds2009-04-291-8/+2
| | | | | | | | | DREGS rather than comparing directly. Remove code that tries to account for latencies. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146956 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/bfin/bfin.c (bfin_optimize_loop): Unify handling ofbernds2009-04-291-30/+22
| | | | | | | | | | problematic last insns. Test for TYPE_CALL rather than CALL_P. Remove special case testing for last insn of inner loops. Don't fail if the loop ends with a jump, emit an extra nop instead. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146952 138bc75d-0d04-0410-961f-82ee72b054a4
* gcc/bernds2009-04-292-73/+73
| | | | | | | | | | | | | | | | | | * config/bfin/bfin.md (sp_or_sm, spm_string, spm_name): New macro. (ss<spm_name>hi3, ss<spm_name>hi3_parts, ss<spm_name>hi3_low_parts, ss<spm_name_hi3_high_parts): New patterns, replacing ssaddhi3, ssubhi3, ssaddhi3_parts and sssubhi3_parts. (flag_mulhi3_parts): Produce a HImode output rather than trying to set a VEC_SELECT. * config/bfin/bfin.c (bfin_expand_builtin, case BFIN_BUILTIN_CPLX_SQU): Adjust accordingly. gcc/testsuite/ * gcc.target/bfin/20090411-1.c: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146929 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/alpha/alpha.md (usegp): Cast the result ofuros2009-04-282-8/+8
| | | | | | | | | | | | alpha_find_lo_sum_using_gp to enum attr_usegp. * config/alpha/alpha.c (override_options): Remove end-of-structure marker element from cpu_table. Use array size of cpu_table to handle -mcpu and -mtune options. (tls_symbolic_operand_type): Change 0 to TLS_MODEL_NONE. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146912 138bc75d-0d04-0410-961f-82ee72b054a4
* * config.gcc (powerpc*-*-* | rs6000-*-*): Addjsm282009-04-282-10/+64
| | | | | | | | | | | | | | | | | rs6000/option-defaults.h to tm_file. Support cpu_32, cpu_64, tune_32 and tune_64. * doc/install.texi (--with-cpu-32, --with-cpu-64): Document support on PowerPC. * config/rs6000/rs6000.h (OPTION_DEFAULT_SPECS): Move to ... * config/rs6000/option-defaults.h: ... here. New file. (OPT_64, OPT_32): Define. (MASK_64BIT): Define to 0 if not already defined. (OPT_ARCH64, OPT_ARCH32): Define. (OPTION_DEFAULT_SPECS): Add entries for cpu_32, cpu_64, tune_32 and tune_64. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146908 138bc75d-0d04-0410-961f-82ee72b054a4
* FPA error for AAPCSramana2009-04-281-0/+4
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146906 138bc75d-0d04-0410-961f-82ee72b054a4
* * config.gcc (hppa*64*-*-hpux11*): Set use_gcc_stdint andsje2009-04-285-10/+38
| | | | | | | | | | | | | | | add hpux-stdint.h to tm_file. (hppa[12]*-*-hpux11*): Ditto. (ia64*-*-hpux*): Ditto. * config/hpux-stdint.h: New. * gcc/config/ia64/hpux.h (TARGET_OS_CPP_BUILTINS): Set __STDC_EXT__ for all compiles. * gcc/config/pa/pa-hpux.h: Ditto. * gcc/config/pa/pa-hpux10.h: Ditto. * gcc/config/pa/pa-hpux11.h: Ditto. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146900 138bc75d-0d04-0410-961f-82ee72b054a4
* 2009-04-28 Andrew Pinski <pinskia@gmail.com>pinskia2009-04-282-3/+3
| | | | | | | | | | | | | PR target/39929 * config/darwin.c (machopic_gen_offset): Check currently_expanding_to_rtl if current_ir_type returns IR_GIMPLE. * config/arm/arm.c (require_pic_register): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146894 138bc75d-0d04-0410-961f-82ee72b054a4
* 2009-04-28 Paolo Bonzini <bonzini@gnu.org>bonzini2009-04-281-16/+0
| | | | | | | | | * config/m32c/m32c.c (TARGET_PROMOTE_FUNCTION_RETURN, m32c_promote_function_return, TARGET_PROMOTE_PROTOTYPES, m32c_promote_prototypes): Delete. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146891 138bc75d-0d04-0410-961f-82ee72b054a4
* Add support for arm1156tf-sramana2009-04-282-1/+2
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146887 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c/39323uros2009-04-281-8/+10
| | | | | | | | | | | | | | * config/alpha/elf.h (MAX_OFILE_ALIGNMENT): Sync with elfos.h testsuite/ChangeLog: PR c/39323 * gcc.dg/pr39323-2.c: Also scan for alignment in log2 format. * gcc.dg/pr39323-3.c: Ditto. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146881 138bc75d-0d04-0410-961f-82ee72b054a4
* PR target/39911uros2009-04-282-75/+95
| | | | | | | | | | | | | | | | | | | | | * config/i386/i386.c (print_operand) ['Z']: Handle floating point and integer modes for x87 operands. Do not ICE for unsupported size, generate error instead. Generate error for unsupported operand types. ['z']: Do not handle HImode memory operands specially. Warning for floating-point operands. Fallthru to 'Z' for unsupported operand types. Do not ICE for unsupported size, generate error instead. (output_387_binary_op): Use %Z to output operands. (output_fp_compare): Ditto. (output_387_reg_move): Ditto. testsuite/ChangeLog: PR target/39911 * gcc.target/i386/pr39911.c: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146874 138bc75d-0d04-0410-961f-82ee72b054a4
* ./:ian2009-04-2716-165/+180
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * collect2.c (is_ctor_dtor): Change type of ret field in struct names to symkind. * dce.c (run_fast_df_dce): Change type of old_flags to int. * df-core.c (df_set_flags): Change return type to int. Change type of old_flags to int. (df_clear_flags): Likewise. * df-scan.c (df_def_record_1): Change 0 to VOIDmode. (df_get_conditional_uses): Likewise. * df.h (df_set_flags, df_clear_flags): Update declarations. * dwarf2out.c (struct indirect_string_node): Change type of form field to enum dwarf_form. (AT_string_form): Change return type to enum dwarf_form. * fixed-value.c (fixed_compare): Add cast to enum type. * fwprop.c (update_df): Change 0 to VOIDmode. * gensupport.c: Change 0 to UNKNOWN. * gimple.h (gimple_cond_code): Add cast to enum type. * haifa-sched.c (reemit_notes): Add cast to enum type. * hooks.c (hook_int_void_no_regs): Remove function. * hooks.h (hook_int_void_no_regs): Remove declaration. * optabs.c (expand_widen_pattern_expr): Change 0 to VOIDmode. * predict.c (combine_predictions_for_insn): Add casts to enum type. * real.c (real_arithmetic): Add cast to enum type. (real_compare): Likewise. * target.h (struct gcc_target): Change return type of branch_target_register_class to enum reg_class. * target-def.h (TARGET_BRANCH_TARGET_REGISTER_CLASS): Define as default_branch_target_register_class. * targhooks.c (default_branch_target_register_class): New function. * targhooks.h (default_branch_target_register_class): Declare. * tree-data-ref.c (print_direction_vector): Add cast to enum type. * tree-vect-data-refs.c (vect_supportable_dr_alignment): Remove cast to int. * tree-vect-loop.c (vect_create_epilog_for_reduction): Change 0 to ERROR_MARK. * tree-vect-slp.c (vect_build_slp_tree): Change 0 to vect_uninitialized_def. Change 0 to ERROR_MARK. * tree-vect-stmts.c (supportable_widening_operation): Don't initialize icode1 and icode2. * tree-vectorizer.h (enum vect_def_type): Add vect_uninitialized_def. * config/sol2-c.c (cmn_err_length_specs): Change 0 to FMT_LEN_none and to STD_C89. (cmn_err_flag_specs): Change 0 to STD_C89. (cmn_err_char_table): Likewise. * config/arm/arm.c (get_arm_condition_code): Change type of code to enum arm_cond_code. (IWMMXT_BUILTIN): Change 0 to UNKNOWN. (IWMMXT_BUILTIN2): Likewise. (neon_builtin_type_bits): Don't define typedef. (neon_builtin_datum): Change type of bits field to int. (arm_expand_neon_args): Add cast to enum type. * config/ia64/ia64.c (tls_symbolic_operand_type): Change 0 to TLS_MODEL_NONE. * config/i386/i386.c (bdesc_multi_arg): Change 0 to UNKNOWN. Add casts to enum type. * config/mips/mips.c (LOONGSON_BUILTIN_ALIAS): Change 0 to MIPS_FP_COND_f. * config/mips/mips.md (jal_macro): Return enum constant. (single_insn): Likewise. * config/rs6000/rs6000.c (bdesc_altivec_preds): Change 0 to CODE_FOR_nothing. * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add casts to enum type. * config/s390/s390.c (s390_tune_flags): Change type to int. (s390_arch_flags): Likewise. (s390_handle_arch_option): Change flags field of struct pta to int. * config/s390/s390.h (s390_tune_flags): Update declaration. (s390_arch_flags): Likewise. * config/sh/sh.c (prepare_move_operands): Compare tls_symbolic_operand result with enum constant. (sh_reorg): Change PUT_MODE to PUT_REG_NOTE_KIND. (sh_expand_prologue): Add cast to enum type. (sh_expand_epilogue): Likewise. (tls_symbolic_operand): Change return type to enum tls_model. (fpscr_set_from_mem): Add cast to enum type. (legitimize_pic_address): Compare tls_symbolic_operand result with enum constant. (sh_target_reg_class): Change return type to enum reg_class. * config/sh/sh.h (OVERRIDE_OPTIONS): Change CPU_xxx to PROCESSOR_xxx. * config/sh/sh-protos.h (tls_symbolic_operand): Update declaration. * config/sparc/sparc.c (sparc_override_options): Add cast to enum type. * config/sparc/sparc.md (empty_delay_slot): Return enum constant. (pic, calls_alloca, calls_eh_return, leaf_function): Likewise. (delayed_branch, tls_call_delay): Likewise. (eligible_for_sibcall_delay): Likewise. (eligible_for_return_delay): Likewise. * config/spu/spu.c (expand_builtin_args): Add cast to enum type. (spu_expand_builtin_1): Likewise. * c-typeck.c (convert_for_assignment): Issue -Wc++-compat warnings for all types of conversions. (output_init_element): Issue -Wc++-compat warning if needed when initializing a bitfield with enum type. * c-parser.c (c_parser_expression): Set original_type to original_type of right hand operand of comman operator. cp/: * semantics.c (finish_omp_clauses): Change type of c_kind to enum omp_clause_code. fortran/: * trans-intrinsic.c (DEFINE_MATH_BUILTIN): Add casts to enum type. * trans-io.c (st_parameter_field): Add casts to enum type. java/: * builtins.c (java_builtins): Add casts to enum type. * verify-impl.c (check_class_constant): Add cast to enum type. (check_constant, check_wide_constant): Likewise. objc/: * objc-act.c (objc_gimplify_expr): Add casts to enum type. testsuite/: * gcc.dg/Wcxx-compat-5.c: New testcase. * gcc.dg/Wcxx-compat-6.c: New testcase. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146855 138bc75d-0d04-0410-961f-82ee72b054a4
* * spu.c (spu_machine_dependent_reorg): Make sure branch label on hinttsmigiel2009-04-271-0/+19
| | | | | | | instruction is correct. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146852 138bc75d-0d04-0410-961f-82ee72b054a4
* Allow non-constant arguments to conversion intrinsics.tsmigiel2009-04-277-72/+296
| | | | | | | | | | | | | | | | | | | | | | | | | | * spu-protos.h (exp2_immediate_p, spu_gen_exp2): Declare. * predicates.md (spu_inv_exp2_operand, spu_exp2_operand): New. * spu.c (print_operand): Handle 'v' and 'w'. (exp2_immediate_p, spu_gen_exp2): Define. * spu-builtins.def (spu_convts, spu_convtu, spu_convtf_0, spu_convtf_1): Update parameter descriptions. * spu-builtins.md (spu_csflt, spu_cuflt, spu_cflts, spu_cfltu): Update. * constraints.md ('v', 'w'): New. * spu.md (UNSPEC_CSFLT, UNSPEC_CFLTS, UNSPEC_CUFLT, UNSPEC_CFLTU): Remove. (i2f, I2F): New define_mode_attr. (floatsisf2, floatv4siv4sf2, fix_truncsfsi2, fix_truncv4sfv4si2, floatunssisf2, floatunsv4siv4sf2, fixuns_truncsfsi2, fixuns_truncv4sfv4si2): Update to use mode attribute. (float<mode><i2f>2_mul, float<mode><i2f>2_div, fix_trunc<mode><f2i>2_mul, floatuns<mode><i2f>2_mul, floatuns<mode><i2f>2_div, fixuns_trunc<mode><f2i>2_mul): New patterns for combine. * gcc.target/spu/intrinsics-3.c: Update tests. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146849 138bc75d-0d04-0410-961f-82ee72b054a4
* gcc/hjl2009-04-271-1/+4
| | | | | | | | | | | | | | | | | | | | 2009-04-27 H.J. Lu <hongjiu.lu@intel.com> PR target/39903 * config/i386/i386.c (construct_container): Don't call gen_reg_or_parallel with BLKmode on X86_64_SSE_CLASS, X86_64_SSESF_CLASS and X86_64_SSEDF_CLASS. gcc/testsuite/ 2009-04-27 H.J. Lu <hongjiu.lu@intel.com> PR target/39903 * gcc.dg/torture/pr39903-1.c: New. * gcc.dg/torture/pr39903-2.c: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146842 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/alpha/alpha.c (code_for_builtin): Declare as enum insn_code.uros2009-04-271-1/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146826 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/i386/i386.c (print_operand) ['z']: Fix typo.uros2009-04-261-1/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146804 138bc75d-0d04-0410-961f-82ee72b054a4
* 2009-04-26 Kai Tietz <kai.tietz@onevision.com>ktietz2009-04-262-0/+42
| | | | | | | | | | | | | | | | | | | | | | * config/i386/mingw-w64.h (STANDARD_INCLUDE_DIR): Redefine it to just use mingw/include. (ASM_SPEC): Rules for -m32 and -m64. (LINK_SPEC): Use Likewise. (SPEC_32): New define. (SPEC_64): Likewise. (SUB_LINK_SPEC): Likewise. (MULTILIB_DEFAULTS): New define. * config/i386/t-mingw-w64 (MULTILIB_OPTIONS): Add multilib options. (MULTILIB_DIRNAMES): Likewise. (MULTILIB_OSDIRNAMES): Likewise. (LIBGCC): Likewise. (INSTALL_LIBGCC): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146801 138bc75d-0d04-0410-961f-82ee72b054a4
* PR target/39897uros2009-04-251-1/+11
| | | | | | | | | * config/i386/i386.c (print_operand) ['z']: Revert handling of HImode operands. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146784 138bc75d-0d04-0410-961f-82ee72b054a4
* PR bootstrap/39645ebotcazou2009-04-251-14/+11
| | | | | | | | * config/sparc/sparc.c (sparc_gimplify_va_arg): Set TREE_ADDRESSABLE on the destination of memcpy. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146772 138bc75d-0d04-0410-961f-82ee72b054a4
* PR target/39590uros2009-04-253-61/+84
| | | | | | | | | | | | | | | | | | | | | | | | * configure.ac (HAVE_AS_IX86_FILDQ): On x86 targets check whether the configured assembler supports fildq and fistpq mnemonics. (HAVE_AS_IX86_FILDS): Rename from HAVE_GAS_FILDS_FISTS. * configure: Regenerated. * config.in: Ditto. * config/i386/i386.c (print_operand): Handle 'Z'. ['z']: Remove handling of special fild/fist suffixes. (output_fix_trunc): Use '%Z' to output suffix of fist{,p,tp} insn. * config/i386/i386.md (*floathi<mode>2_i387): Use '%Z' to output suffix of fild insn. (*floatsi<mode>2_vector_mixed): Ditto. (*float<SSEMODEI24:mode><MODEF:mode>2_mixed_interunit): Ditto. (*float<SSEMODEI24:mode><MODEF:mode>2_mixed_nointerunit): Ditto. (*float<SSEMODEI24:mode><X87MODEF:mode>2_i387_with_temp): Ditto. (*float<SSEMODEI24:mode><X87MODEF:mode>2_i387): Ditto. * config/i386/gas.h (GAS_MNEMONICS): Remove. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146761 138bc75d-0d04-0410-961f-82ee72b054a4
* * target.h (struct gcc_target): Add case_values_threshold field.aesok2009-04-255-13/+21
| | | | | | | | | | | | | | | | | | | | | | | | * target-def.h (TARGET_CASE_VALUES_THRESHOLD): New. (TARGET_INITIALIZER): Use TARGET_CASE_VALUES_THRESHOLD. * targhooks.c (default_case_values_threshold): New function. * targhooks.h (default_case_values_threshold): Declare function. * stmt.c (expand_case): Use case_values_threshold target hook. * expr.h (case_values_threshold): Remove declartation. * expr.c (case_values_threshold): Remove function. * doc/tm.texi (CASE_VALUES_THRESHOLD): Revise documentation. * config/avr/avr.h (CASE_VALUES_THRESHOLD): Remove macro. * config/avr/avr.c (TARGET_CASE_VALUES_THRESHOLD): Define macro. (avr_case_values_threshold): Declare as static. * config/avr/avr-protos.h (avr_case_values_threshold): Remove. * config/avr/mn10300.h (CASE_VALUES_THRESHOLD): Remove macro. * config/avr/mn10300.c (TARGET_CASE_VALUES_THRESHOLD): Define macro. (mn10300_case_values_threshold): New function. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146756 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/sh/sh.h (LIBGCC2_DOUBLE_TYPE_SIZE): Testdj2009-04-241-1/+1
| | | | | | | __SH2A_SINGLE_ONLY__ also. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146747 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/ia64/ia64.md (movfs_internal): Allow flt constants.sje2009-04-242-11/+33
| | | | | | | | | | | (movdf_internal): Ditto. * config/ia64/ia64.c (ia64_legitimate_constant_p): Allow SFmode and DFmode constants. (ia64_print_operand): Add 'G' format for printing floating point constants. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146743 138bc75d-0d04-0410-961f-82ee72b054a4
* gcc/:ian2009-04-247-20/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * combine.c (record_value_for_reg): Change 0 to VOIDmode, twice. (record_dead_and_set_regs): Likewise. * df.h (struct df_mw_hardreg): Change flags field to int. (struct df_base_ref): Likewise. (struct df): Change changeable_flags field to int. * df-scan.c (df_defs_record): Change clobber_flags to int. * dwarf2.h (enum dwarf_tag): Make lo_user and hi_user values enum constants rather than #define macros. (enum dwarf_attribute, enum dwarf_location_atom): Likewise. (enum dwarf_type, enum dwarf_endianity_encoding): Likewise. (enum dwarf_calling_convention): Likewise. (enum dwarf_line_number_x_ops): Likewise. (enum dwarf_call_frame_info): Likewise. (enum dwarf_source_language): Likewise. * dwarf2out.c (int_loc_descriptor): Add cast to enum type. (add_calling_convention_attribute): Likewise. * fold-const.c (fold_undefer_overflow_warnings): Add cast to enum type. (combine_comparisons): Change compcode to int. Add cast to enum type. * genrecog.c (maybe_both_true_2): Change c to int. (write_switch): Likewise. Add cast to enum type. * gimplify.c (gimplify_omp_for): Handle return values from gimplify_expr using MIN rather than bitwise or. (gimplify_expr): Add cast to enum type. * ipa-prop.c (update_jump_functions_after_inlining): Change IPA_BOTTOM to IPA_JF_UNKNOWN. * ira.c (setup_class_subset_and_memory_move_costs): Change mode to int. Add casts to enum type. (setup_cover_and_important_classes): Change cl to int. Add casts to enum type. (setup_class_translate): Change cl and mode to int. (ira_init_once): Change mode to int. (free_register_move_costs): Likewise. (setup_prohibited_mode_move_regs): Add casts to enum type. * langhooks.c (add_builtin_function_common): Rework assertion that value fits bitfield. * mcf.c (add_fixup_edge): Change type parameter to edge_type. * omega.c (omega_do_elimination): Avoid math on enum types. * optabs.c (expand_vec_shift_expr): Remove casts to int. * opts.c (set_debug_level): Change 2 to enum constant. Use new int local to handle integral_argment value. * regmove.c (try_auto_increment): Change PUT_MODE to PUT_REG_NOTE_KIND. * reload.c (push_secondary_reload): Add casts to enum type. (secondary_reload_class, find_valid_class): Likewise. * reload1.c (emit_input_reload_insns): Likewise. * rtl.h (NOTE_VAR_LOCATION_STATUS): Likewise. * sel-sched.c (init_hard_regs_data): Change cur_mode to int. * sel-sched-ir.c (hash_with_unspec_callback): Change 0 to enum constant. * tree.c (build_common_builtin_nodes): Add casts to enum type. * tree-complex.c (complex_lattice_t): Typedef to int rather than enum type. (expand_complex_libcall): Add casts to enum type. * tree-into-ssa.c (get_ssa_name_ann): Change 0 to enum constant. * tree-vect-loop.c (vect_model_reduction_cost): Compare reduc_code with ERROR_MARK, not NUM_TREE_CODES. (vect_create_epilog_for_reduction): Likewise. (vectorizable_reduction): Don't initialize epiloc_reduc_code. When not using it, set it to ERROR_MARK rather than NUM_TREE_CODES. * tree-vect-patterns.c (vect_pattern_recog_1): Change vec_mode to enum machine_mode. * tree-vect-stmts.c (new_stmt_vec_info): Change 0 to vect_unused_in_loop. Change 0 to loop_vect. * tree-vectorizer.c (vect_set_verbosity_level): Add casts to enum type. * var-tracking.c (get_init_value): Change return type to enum var_init_status. * vec.h (DEF_VEC_FUNC_P) [iterate]: Cast 0 to type T. * config/arm/arm.c (fp_model_for_fpu): Change to array to enum arm_fp_model. (arm_override_options): Add casts to enum type. (arm_emit_tls_decoration): Likewise. * config/i386/i386.c (ix86_function_specific_restore): Add casts to enum type. * config/i386/i386-c.c (ix86_pragma_target_parse): Likewise. * config/ia64/ia64.c (ia64_expand_compare): Change magic to int. * config/rs6000/rs6000.c (rs6000_override_options): Add casts to enum type. * config/s390/s390.c (code_for_builtin_64): Change to array of enum insn_code. (code_for_builtin_31): Likewise. (s390_expand_builtin): Change code_for_builtin to enum insn_code const *. * config/sparc/sparc.c (sparc_override_options): Change value field in struct code_model to enum cmodel. In initializer change 0 to NULL and add cast to enum type. * c-typeck.c (build_modify_expr): Add lhs_origtype parameter. Change all callers. Issue a -Wc++-compat warning using lhs_origtype if necessary. (convert_for_assignment): Issue -Wc++-compat warnings about invalid conversions to enum type on assignment. * c-common.h (build_modify_expr): Update declaration. gcc/cp/: * call.c (build_temp): Change 0 to enum constant. * cp-tree.h (cp_lvalue_kind): Typedef to int rather than enum type. * cp-gimplify.c (cp_gimplify_expr): Add cast to enum type. * decl2.c (constrain_visibility): Likewise. * parser.c (cp_lexer_get_preprocessor_token): Likewise. (cp_parser_flags): Typedef to int rather than enum type. (cp_parser_expression_stack_entry): Change prec field to enum cp_parser_prec. * typeck.c (build_modify_expr): Add lhs_origtype parameter. Change all callers. gcc/fortran/: * gfortran.h (enum gfc_symbol_type): New named enum type, broken out of struct gfc_symbol. (struct gfc_symbol): Use enum gfc_symbol_type. (enum gfc_array_ref_dimen_type): New named enum type, broken out of struct gfc_array_ref). (struct gfc_array_ref): Use enum gfc_array_ref_dimen_type. (mod_pointee_as): Update declaration. * decl.c (add_global_entry): Change type to enum gfc_symbol_type. (gfc_mod_pointee_as): Change return type to "match". * module.c (mio_array_ref): Add cast to enum type. (mio_symbol): Likewise. * resolve.c (resolve_global_procedure): Change type to enum gfc_symbol_type. * trans-io.c (gfc_build_st_parameter): Change type to unsigned int. gcc/java/: * jcf-parse.c (handle_constant): Add cast to enum type. gcc/objc/: * objc-act.c (get_super_receiver): Update calls to build_modify_expr to pass new argument. gcc/testsuite/: * gcc.dg/Wcxx-compat-4.c: New testcase. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146735 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/iq2000/iq2000.c (function_arg): Handle TImode values.nickc2009-04-242-1/+12
| | | | | | | | | (function_arg_advance): Likewise. * config/iq2000/iq2000.md (movsi_internal2): Fix the length of the 5th alternative. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146734 138bc75d-0d04-0410-961f-82ee72b054a4
* 2009-04-24 Andreas Krebbel <krebbel1@de.ibm.com>krebbel2009-04-241-2/+2
| | | | | | | | * config/s390/constraints.md ('I', 'J'): Fix condition. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146729 138bc75d-0d04-0410-961f-82ee72b054a4
* 2009-04-24 H.J. Lu <hongjiu.lu@intel.com>hjl2009-04-241-4/+2
| | | | | | | | | * config/i386/sse.md (avxmodesuffixs): Removed. (*avx_pinsr<avxmodesuffixs>): Renamed to ... (*avx_pinsr<ssevecsize>): This. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146716 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/frv/frv.c (frv_frame_access): Do not use reg+regnickc2009-04-242-3/+36
| | | | | | | | | | addressing for DImode accesses. (frv_print_operand_address): Handle PLUS case. * config/frv/frv.h (FIXED_REGISTERS): Mark link register as fixed. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146694 138bc75d-0d04-0410-961f-82ee72b054a4
* 2009-04-23 Paolo Bonzini <bonzini@gnu.org>bonzini2009-04-241-44/+30
| | | | | | | | | * config/sh/sh.c (sh_expand_prologue, sh_expand_epilogue): Use memory_address_p instead of GO_IF_LEGITIMATE_ADDRESS. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146668 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/spu/spu-builtins.h: Delete file.uweigand2009-04-235-132/+118
| | | | | | | | | | | | | | | | | | | | | | | | | | | * config/spu/spu.h (enum spu_builtin_type): Move here from spu-builtins.h. (struct spu_builtin_description): Likewise. Add GTY marker. Do not use enum spu_function_code or enum insn_code. (spu_builtins): Add extern declaration. * config/spu/spu.c: Do not include "spu-builtins.h". (enum spu_function_code, enum spu_builtin_type_index, V16QI_type_node, V8HI_type_node, V4SI_type_node, V2DI_type_node, V4SF_type_node, V2DF_type_node, unsigned_V16QI_type_node, unsigned_V8HI_type_node, unsigned_V4SI_type_node, unsigned_V2DI_type_node): Move here from spu-builtins.h. (spu_builtin_types): Make static. Add GTY marker. (spu_builtins): Add extern declaration with GTY marker. Include "gt-spu.h". * config/spu/spu-c.c: Do not include "spu-builtins.h". (spu_resolve_overloaded_builtin): Do not use spu_function_code. Check programmatically whether all parameters are scalar. * config/spu/t-spu-elf (spu.o, spu-c.o): Update dependencies. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146660 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/arm/arm.md (insv): Do not share operands[0].drow2009-04-231-1/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146649 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/vxlib-tls.c (active_tls_threads): Delete.nathan2009-04-231-25/+27
| | | | | | | | | | | | (delete_hook_installed): New. (tls_delete_hook): Don't delete the delete hook. (tls_destructor): Delete it here. (__gthread_set_specific): Adjust installing the delete hook. (tls_delete_hook): Use __gthread_enter_tsd_dtor_context and __gthread_leave_tsd_dtor_context. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146641 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/alpha/alpha.c (alpha_legitimize_reload_address): Add cast touros2009-04-232-24/+20
| | | | | | | | | | | | | | enum type. (alpha_rtx_costs): Ditto. (emit_unlikely_jump): Use add_reg_note. (emit_frame_store_1): Ditto. (alpha_expand_prologue): Ditto. (alpha_expand_builtin): Change 0 to EXPAND_NORMAL in function call. * config/alpha/alpha.c (Unicos/Mk address splitter): Use add_reg_note. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146637 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/v850/v850.md (epilogue): Remove suppressed code.nickc2009-04-232-9/+4
| | | | | | | | | (return): Rename to return_simple and remove test of frame size. * config/v850/v850.c (expand_epilogue): Rename call to gen_return to gen_return_simple. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146635 138bc75d-0d04-0410-961f-82ee72b054a4
* Add rs6000/xilinx.h -- missed in earlier checkin.eager2009-04-231-0/+38
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146633 138bc75d-0d04-0410-961f-82ee72b054a4