This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
I sent this out previously, but evidently the patches were too large, so I'm bzipping the patches. These two patches backported most of the power7 development branch to the ibm-gcc-4_3-branch. [gcc] 2009-04-13 Michael Meissner <meissner@linux.vnet.ibm.com> Backport more power7 development changes * config/rs6000/e300c2c3.md: Backport from 4.5 development version. * config/rs6000/vector.md: Ditto. * config/rs6000/xfpu.md: Ditto. * config/rs6000/vsx.md: Ditto. * config/rs6000/e500mc.md: Ditto. * config/rs6000/t-rs6000 (MD_INCLUDES): Ditto. * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Backport from 4.5 development version. (altivec_overloaded_builtins): Ditto. (rs6000_builtin_type_compatible): Ditto. * config/rs6000/rs6000.c (altivec_expand_lv_builtin): Backport from 4.5 development version. (vsx_expand_builtin): Ditto. (get_vec_cmp_insn): Ditto. (get_vsel_insn): Ditto. (rs6000_emit_vector_select): Ditto. (rs6000_init_hard_regno_mode_ok): Ditto. (rs6000_builtin_mask_for_load): Ditto. (rs6000_builtin_conversion): Ditto. (rs6000_builtin_mul_widen_even): Ditto. (rs6000_builtin_mul_widen_odd): Ditto. (rs6000_expand_vector_init): Ditto. (rs6000_expand_vector_set): Ditto. (rs6000_expand_vector_extract): Ditto. (rs6000_conditional_register_usage): Ditto. (rs6000_emit_move): Ditto. (USE_ALTIVEC_FOR_ARG_P): Ditto. (function_arg_boundary): Ditto. (function_arg_advance): Ditto. (bdesc_3arg): Ditto. (bdesc_2arg): Ditto. (bdesc_abs): Ditto. (bdesc_1arg): Ditto. (altivec_epxand_ld_builtin): Ditto. (altivec_expand_st_builtin): Ditto. (altivec_expand_builtin): Ditto. (rs6000_expand_builtin): Ditto. (rs6000_init_builtins): Ditto. (rs6000_emit_vector_compare_vsx): Ditto. (rs6000_emit_vector_compare_altivec): Ditto. (rs6000_emit_vector_compare): Ditto. (rs6000_emit_vector_cond_expr): Ditto. (rs6000_emit_minmax): Ditto. * config/rs6000/altivec.md (UNSPEC_*): Backport from 4.5 development version. (altivec_lvx_<mode>): Ditto. (altivec_stv_<mode>): Ditto. (mov<mode>): Ditto. (mov<mode>_internal): Ditto. (altivec_mov<mode>): Ditto. (gpr register move splits): Ditto. (addv4sf3): Ditto. (altivec_addv4sf3): Ditto. (subv4sf3): Ditto. (altivec_subv4sf3): Ditto. (altivec_vcmp*): Ditto. (mulv4sf3): Ditto. (altivec_mulv4sf3): Ditto. (mulv8hi3): Ditto. (altivec_vnmsubfp): Ditto. (smaxv4sf3): Ditto. (altivec_smaxv4sf3): Ditto. (sminv4sf3): Ditto. (altivec_sminv4sf3): Ditto. (altivec_vmrghsf): Ditto. (altivec_vmrglw): Ditto. (altivec_vmrglsf): Ditto. (altivec_vmrglw): Ditto. (and<mode>3): Ditto. (altivec_and<mode>3): Ditto. (ior<mode>3): Ditto. (altivec_ior<mode>3): Ditto. (xor<mode>3): Ditto. (altivec_xor<mode>3): Ditto. (one_cmpl<mode>2): Ditto. (altivec_one_cmpl<mode>2): Ditto. (altivec_nor<mode>3): Ditto. (andc<mode>3): Ditto. (altivec_andc<mode>3): Ditto. (altivec_vsl<VI_char>): Ditto. (ashl<mode>3): Ditto. (ftruncv4sf2): Ditto. (vcond*): Ditto. (altivec_vsel*): Ditto. (vec_init*): Ditto. (vec_set*): Ditto. (vec_extract*): Ditto. (absv4sf2): Ditto. (altivec_absv4sf2): Ditto. (negv4sf2): Ditto. (altivec_negv4sf2): Ditto. (altivec_lv*): Ditto. (altivec_stv*): Ditto. (vec_interleave_highv4sf): Ditto. (vec_interleave_lowv4sf): Ditto. * config/rs6000/rs6000.md (top level): Include e300c2c3.md, e500md.md, vector.md, and vsx.md. * config.in (CHAR_BIT): Backport from 4.5 development version. (GETGROUPS_T): Ditto. (HAVE_ALPHASORT): Ditto. (HAVE_AS_TLS_MARKERS): Ditto. (HAVE_DLFCN_H): Ditto. (HAVE_GAS_CFI_DIRECTIVE): Ditto. (HAVE_GAS_CFI_PERSONALITY_DIRECTIVE): Ditto. (HAVE_GAS_LCOMM_WITH_ALGINMENT): Ditto. (HAVE_GETIPINFO): Ditto. (HAVE_SCANDIR): Ditto. (LT_OBJDIR): Ditto. * doc/invoke.texi (-mgen-cell-microcode): Backport from 4.5 development version. (-mwarn-cell-microcode): Ditto. (-mvsx): Ditto. (-msingle-float): Ditto. (-mdouble-float): Ditto. (-msimple-fpu): Ditto. (-mfpu): Ditto. (-mxlinx-fpu): Ditto. (-mmulhw): Ditto. (-mdlmzb): Ditto. (-mavoid-indexed-addresses): Ditto. (-msdata-data): Ditto. (-mtls-markers): Ditto. 2009-04-10 Michael Meissner <meissner@linux.vnet.ibm.com> Backport more power7 development changes * config/rs6000/aix53.h (ASM_CPU_SPEC): Backport from 4.5 development version. * config/rs6000/spe.md (spe_fixuns_truncdfsi2): Backport from 4.5 development version. (floating comparison ops): Ditto. (save_gprregs_spe): Ditto. (restore_gprregs_spe): Ditto. (return_and_restore_gprregs_spe): Ditto. * config/rs6000/constraints.md (w* constraints): Add new VSX constraints, wd, wf, ws, wa, wZ. (j constraint): Add constraint for vector of all 0's. * config/rs6000/predicates.md (vsx_register_operand): New insns from 4.5 development. (vfloat_operand): Ditto. (vint_operand): Ditto. (vlogical_operand): Ditto. (cc_reg_no_micro_cr0_operand): Ditto. (word_offset_memref_operand): Ditto. (altivec_indexed_or_indirect_operand): Ditto. (vec_init_operand): Ditto. (easy_fp_constant): Add E500 single/double float support, and using xxlxor to clear register under VSX. (indexed_or_indirect_operand): Add VSX support. (save_word_operation): Backport from development branch. * config/rs6000/linux64.opt (-mprofile-kernel): Change to be a variable, not a bit mask. * config/rs6000/sysv4.opt (-mbit-align): Change to be a variable, not a bit mask. (-mbit-word): Ditto. (-mregnames): Ditto. (-mprototype): Change variable name to be upper case. (-mwindiss): Deleted in 4.5. (-msdata): Update documentation. * config/rs6000/rs6000-protos.h (rs6000_preferred_reload_class): Backport from 4.5 development version. (rs6000_secondary_memory_needed): Ditto. (rs6000_cannot_change_mode_class): Ditto. (rs6000_secondary_reload_inner): Ditto. (rs6000_output_addr_const_extra): Ditto. (rs6000_find_base_term): Ditto. (rs6000_hard_regno_nregs): Ditto. (rs6000_xcoff_strip_dollar): Ditto. (rs6000_final_prescan_insn): Ditto. * config/rs6000/aix.h (LIBSTDCXX_STATIC): Backport from 4.5 development version. (ADJUST_FIELD_ALIGN): Ditto. (GP_SAVE_INLINE): Ditto. * config/rs6000/rs6000.opt (-mpopcntd): Backport from 4.5 development sources. (-mvsx*): Ditto. (-mpower7-adjust-cost): Ditto. (-mdisallow-float-in-lr-ctr): Ditto. (-mupdate): Ditto. (-mavoid-indexed-addresses): Ditto. (-mtls-markers): Ditto. (-misel): Ditto. (-mspe): Ditto. (-mgen-cell-microcode): Ditto. (-mwarn-cell-microcode): Ditto. (-msingle-float): Ditto. (-mdouble-float): Ditto. (-msimple-fpu): Ditto. (-mfpu=*): Ditto. (-mxlinx-fpu): Ditto. * config/rs6000/linux64.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Use SET_PROFILE_KERNEL to turn off -mprofile-kernel. * config/rs6000/darwin.h (GP_SAVE_INLINE): Backport from 4.5. * config/rs6000/rs6000.c (rs6000_cell_microcode): Backport from 4.5 development version. (rs6000_spe): Ditto. (rs6000_debug_reg): Ditto. (rs6000_debug_addr): Ditto. (rs6000_debug_cost): Ditto. (rs6000_class_max_nregs): Ditto. (rs6000_hard_regno_nregs): Ditto. (rs6000_regno_regclass): Ditto. (rs6000_vector_reload): Ditto. (rs6000_explicit_options): Ditto. (rs6000_vector_unit): Ditto. (rs6000_vector_mem): Ditto. (rs6000_vector_reg_class): Ditto. (rs6000_vector_align): Ditto. (rs6000_vsx_reg_class): Ditto. (ppce300c2c3_cost): Ditto. (ppce500mc_cost): Ditto. (power7_cost): Ditto. (spe_synthesize_frame_size): Ditto. (rs6000_emit_allocate_stack): Ditto. (constant_popl_expr_1): Ditto. (no_global_regs_above): Ditto. (rs6000_savres_routine_sym): Ditto. (rs6000_emit_stack_reset): Ditto. (rs6000_make_savres_rtx): Ditto. (rs6000_savres_strategy): Ditto. (rs6000_restore_saved_cr): Ditto. (rs6000_debug_rtx_costs): Ditto. (rs6000_debug_address_cost): Ditto. (rs6000_debug_adjust_cost): Ditto. (rs6000_secondary_reload): Ditto. (rs6000_secondary_reload_inner): Ditto. (SET_PROFILE_KERNEL): Ditto. (TARGET_SECONDARY_RELOAD): Ditto. (rs6000_hard_regno_nregs_internal): Ditto. (rs6000_hard_regno_mode_ok): Ditto. (rs6000_debug_reg_print): Ditto. (rs6000_debug_vector_unit): Ditto. (rs6000_init_hard_regno_mode_ok): Ditto. (rs6000_override_options): Ditto. (optimization_options): Ditto. (rs6000_parse_fpu_option): Ditto. (rs6000_handle_option): Ditto. (rs6000_file_start): Ditto. (output_vec_const_move): Ditto. (paired_expand_vector_init): Ditto. (rs6000_expand_vector_init): Ditto. (invalid_e500_subreg): Ditto. (constant_pool_expr_1): Ditto. (constant_pool_expr): Ditto. (toc_relative_expr_p): Ditto. (legitimate_constant_pool_address_p): Ditto. (rs6000_legitimate_offset_address_p): Ditto. (avoiding_indexed_address_p): Ditto. (rs6000_legitimize_address): Ditto. (rs6000_legitimize_tls_address): Ditto. (rs6000_tls_symbol_ref_1): Ditto. (rs6000_legitimize_reload_address): Ditto. (rs6000_legitimate_address): Ditto. (rs6000_mode_dependent_address): Ditto. (rs6000_find_base_term): Ditto. (rs6000_hard_regno_nregs): Ditto. (rs6000_conditional_register_usage): Ditto. (rs6000_emit_move): Ditto. (function_arg_advance): Ditto. (spe_build_register_parallel): Ditto. (rs6000_spe_function_arg): Ditto. (function_arg): Ditto. (setup_incoming_varargs): Ditto. (rs6000_va_start): Ditto. (rs6000_gimplify_va_arg): Ditto. (rs6000_init_builtins): Ditto. (altivec_init_builtins): Ditto. (rs6000_common_init_builtins): Ditto. (rs6000_secondary_memory_needed_rtx): Ditto. (rs6000_check_sdmode): Ditto. (rs6000_reload_register_type): Ditto. (rs6000_preferred_reload_class): Ditto. (rs6000_secondary_memory_needed): Ditto. (rs6000_secondary_reload_class): Ditto. (rs6000_cannot_change_mode_class): Ditto. (print_operand): Ditto. (print_operand_address): Ditto. (rs6000_output_addr_const_extra): Ditto. (rs6000_generate_compare): Ditto. (rs6000_emit_cmove): Ditto. (rs6000_split_multireg_move): Ditto. (emit_frame_save): Ditto. (FIRST_SAVRES_REGISTER): Ditto. (LAST_SAVRES_REGISTER): Ditto. (N_SAVRES_REGISTERS): Ditto. (rs6000_emit_prologue): Ditto. (ALWAYS_RESTORE_ALTIVEC_BEFORE_POP): Ditto. (rs6000_emit_epilogue): Ditto. (rs6000_output_mi_thunk): Ditto. (rs6000_xcoff_strip_dollar): Ditto. (rs6000_output_symbol_ref): Ditto. (output_toc): Ditto. (output_profile_hook): Ditto. (rs6000_adjust_cost): Ditto. (rs6000_sched_reorder2): Ditto. (redefine_groups): Ditto. (pad_groups): Ditto. (rs6000_handle_altivec_attribute): Ditto. (rs6000_elf_encode_section_info): Ditto. (compare_section_name): Ditto. (machopic_output_stub): Ditto. (rs6000_register_move_cost): Ditto. (rs6000_memory_move_cost): Ditto. (rs600_emit_popcount): Ditto. (rs6000_libcall_value): Ditto. (rs6000_is_opaque_type): Ditto. (rs6000_vector_mode_support_p): Ditto. (rs6000_final_prescan_insn): Ditto. * config/rs6000/rs6000.h (ASM_CPU_SPEC): Backport from 4.5 development version. (EXTRA_SPECS): Ditto. (ASM_CPU_NATIVE_SPEC): Ditto. (TARGET_TLS_MARKERS): Ditto. (processor_type): Ditto. (TARGET_*_FLOAT): Ditto. (TARGET_*_FPU): Ditto. (fpu_type_t): Ditto. (fpu_type): Ditto. (rs6000_debug_reg): Ditto. (rs6000_debug_addr): Ditto. (rs6000_debug_cost): Ditto. (TARGET_DEBUG_REG): Ditto. (TARGET_DEBUG_ADDR): Ditto. (TARGET_DEBUG_COST): Ditto. (rs6000_xilinx_fpu): Ditto. (rs6000_vector): Ditto. (VECTOR_UNIT_*): Ditto. (VECTOR_MEM_*): Ditto. (VECTOR_ALIGN): Ditto. (TARGET_ISEL): Ditto. (TARGET_ISEL64): Ditto. (UNITS_PER_VSX_WORD): Ditto. (STACK_BOUNDARY): Ditto. (LOCAL_ALIGNMENT): Ditto. (MEMBER_TYPE_FORCES_BLK): Ditto. (CONSTANT_ALIGNMENT): Ditto. (LOCAL_ALIGNMENT): Ditto. (SLOW_UNALIGNED_ACCESS): Ditto. (VSX_REGNO_P): Ditto. (VFLOAT_REGNO_P): Ditto. (VINT_REGNO_P): Ditto. (VLOGICAL_REGNO_P): Ditto. (HARD_REGNO_NREGS): Ditto. (VSX_VECTOR_MODE): Ditto. (VSX_VECTOR_MOVE_MODE): Ditto. (VSX_SCALAR_MODE): Ditto. (VSX_MODE): Ditto. (VSX_MOVE_MOVE): Ditto. (ALTIVEC_VECTOR_MODE): Ditto. (UNITS_PER_SIMD_WORD): Ditto. (MODES_TIEABLE_P): Ditto. (enum reg_class): Ditto. (REG_CLASS_NAMES): Ditto. (REG_CLASS_CONTENTS): Ditto. (IRA_COVER_CLASSES): Ditto. (REGNO_REG_CLASS): Ditto. (rs6000_vector_reg_class): Ditto. (rs6000_vsx_reg_class): Ditto. (VSX_REG_CLASS): Ditto. (PREFERRED_RELOAD_CLASS): Ditto. (SECONDARY_MEMORY_NEEDED): Ditto. (CLASS_MAX_NREGS): Ditto. (CANNOT_CHANGE_MODE_CLASS): Ditto. (STARTING_FRAME_OFFSET): Ditto. (STACK_DYNAMIC_OFFSET): Ditto. (FIND_BASE_TERM): Ditto. (FINAL_PRESCAN_INSN): Ditto. (ADDITIONAL_REGISTER_NAMES): Ditto. (OUTPUT_ADDR_CONST_EXTRA): Ditto. (enum rs6000_builtins): Ditto. (enum rs6000_builtin_type_index): Ditto. (V2DI_type_node): Ditto. (V2DF_type_mdoe): Ditto. (intDI_type_internal_node): Ditto. (uintDI_type_internal_node): Ditto. * config/rs6000/aix61.h (ASM_CPU_SPEC): Backport from 4.5 development version. * config/rs6000/rs6000.md (UNSPEC_TOCREL): Ditto. (UNSPEC_MACHOPIC_OFFSET): Ditto. (fp_type attribute): Ditto. (cpu attribute): Ditto. (cell_micro): Ditto. (FP iterator): Ditto. (sel attribute): Ditto. (ptrsize attribute): Ditto. (tptrsize attribute): Ditto. (mptrsize attribute): Ditto. (zero extend/set CR and split): Ditto. (sign extend/set CR and split): Ditto. (logical operator/set CR and split): Ditto. (sign extend insns): Ditto. (andsi3*): Ditto. (anddi3*): Ditto. (rotate*): Ditto. (all floating point operations): Ditto. (movsicc): Ditto. (mov<mode>cc): Ditto. (isel_signed): Ditto. (isel_signed_<mode>): Ditto. (isel_unsigned): Ditto. (isel_unsigned_<mode>): Ditto. (smindi3): Ditto. (smaxdi3): Ditto. (umindi3): Ditto. (umaxdi3): Ditto. (movsi_got): Ditto. (movdf_hardfloat32): Ditto. (movdf_hardfloat64_mfpgpr): Ditto. (movdf_hardfloat64): Ditto. (stmsi*): Ditto. (mov*_<mode>_update): Ditto. (mov*_<mode>_update_stack): Ditto. (tls_gd_*): Ditto. (TLSmode): Ditto. (tls_*): Ditto. (allocate_stack): Ditto. (builtin_setjmp_receiver): Ditto. (call_indirect*): Ditto. (call_value_indirect*): Ditto. (save_gpregs_<mode>): Ditto. (save_fpregs_<mode>): Ditto. (restore_gpregs_<mode>): Ditto. (restore_fpregs_<mode>): Ditto. * config/rs6000/sysv4.h (TARGET_PROTOTYPE): Backport from 4.5 development. (SUBTARGET_OVERRIDE_OPTIONS): Ditto. (FP_SAVE_INLINE): Ditto. (GP_SAVE_INLINE): Ditto. (SAVE_FP_SUFFIX): Ditto. (RESTORE_FP_SUFFIX): Ditto. (LINK_START_SPEC): Ditto. (LINK_OS_SPEC): Ditto. (DRIVER_SELF_SPECS): Ditto. (CPP_SPEC): Ditto. (ENDFILE_SPEC): Ditto. (CRTSAVRES_DEFAULT_SPEC): Ditto. (LIB_WINDISS_SPEC): Ditto. (CPP_OS_WINDISS_SPEC): Ditto. (STARTFILE_WINDISS_SPEC): Ditto. (ENDFILE_WINDDISS_SPEC): Ditto. (LINK_START_WINDISS_SPEC): Ditto. (LINK_OS_WINDISS_SPEC): Ditto. (SUBTARGET_EXTRA_SPECS): Ditto. [include] 2009-04-10 Michael Meissner <meissner@linux.vnet.ibm.com> * libiberty.h (XALLOCA): Backport from 4.5 development tree. (XDUP): Ditto. (XALLOCAVEC): Ditto. (XDUPVEC): Ditto. (XALLOCVAR): Ditto. (XDUPVAR): Ditto. (XOBNEWVEC): Ditto. (XOBNEWVAR): Ditto. -- Michael Meissner, IBM 4 Technology Place Drive, MS 2203A, Westford, MA, 01886, USA meissner@linux.vnet.ibm.com
Attachment:
gcc-power7-ibm43.patch01.bz2
Description: BZip2 compressed data
Attachment:
gcc-power7-ibm43.patch02.bz2
Description: BZip2 compressed data
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |