summaryrefslogtreecommitdiff
path: root/gcc/config
Commit message (Collapse)AuthorAgeFilesLines
* re PR target/46623 (microblaze --enable-werror-always build fails)Joern Rennecke2010-11-262-23/+36
| | | | | | | | | | | | | | | | | | | PR target/46623 * config/microblaze/microblaze.c (microblaze_block_move_straight): Use XALLOCAVEC. (microblaze_option_override): Don't use C++ style comments. (save_restore_insns): Remove unused variable base_offset. (microblaze_expand_prologue): Remove unused variable insn. (microblaze_secondary_reload): Adjust type to match target.h . (microblaze_elf_in_small_data_p): Move declarations to start of block. (microblaze_expand_move): Likewise. * config/microblaze/microblaze.h (LARGE_INT): Avoid signed / unsigned comparisons. (ASM_OUTPUT_ALIGNED_COMMON, ASM_OUTPUT_ALIGNED_LOCAL): Likewise. (ASM_FORMAT_PRIVATE_NAME): Make format specifier match printed data. (ASM_FINISH_DECLARE_OBJECT): Likewise. Constify name. From-SVN: r167186
* s390.c (print_operand_address): Replace assert with error message.Andreas Krebbel2010-11-261-19/+60
| | | | | | | | | | | 2010-11-26 Andreas Krebbel <Andreas.Krebbel@de.ibm.com> * config/s390/s390.c (print_operand_address): Replace assert with error message. (print_operand): Replace assertions, gcc_unreachable and fatal_insn with error messages. From-SVN: r167177
* arm.c (arm_option_override): enable loop array prefetching at -O3 for ↵Ian Bolton2010-11-262-5/+46
| | | | | | | | | | | | | suitable targets, and configure params. 2010-11-26 Ian Bolton <ian.bolton@arm.com> * config/arm/arm.c (arm_option_override): enable loop array prefetching at -O3 for suitable targets, and configure params. * config/arm/arm-protos.h (struct tune_params): Add fields for configuring loop array prefetching. From-SVN: r167175
* 2817.md (z196_crack): Add z196_g3 as possible slot.Christian Borntraeger2010-11-261-2/+4
| | | | | | | | 2010-11-26 Christian Borntraeger <borntraeger@de.ibm.com> * config/s390/2817.md (z196_crack): Add z196_g3 as possible slot. From-SVN: r167174
* pa.md (negdf2): Condition on !flag_signed_zeros instead of ↵John David Anglin2010-11-261-48/+47
| | | | | | | | | | | | flag_unsafe_math_optimizations. * config/pa/pa.md (negdf2): Condition on !flag_signed_zeros instead of flag_unsafe_math_optimizations. (negsf2): Likewise. Move fnegabs related patterns together. Only use fmpynfadd instruction to negate a multiply if !flag_signed_zeros is true. From-SVN: r167159
* target.def (supports_split_stack, [...]): Take gcc_options parameters.Joseph Myers2010-11-255-23/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * target.def (supports_split_stack, except_unwind_info): Take gcc_options parameters. * targhooks.c (default_except_unwind_info, dwarf2_except_unwind_info, sjlj_except_unwind_info): Take gcc_options parameters. * targhooks.h (default_except_unwind_info, dwarf2_except_unwind_info, sjlj_except_unwind_info): Update prototypes. * doc/tm.texi.in (TARGET_IRA_COVER_CLASSES, TARGET_HAVE_NAMED_SECTIONS, TARGET_UNWIND_TABLES_DEFAULT): Document that hooks must not be modified. (TARGET_EXCEPT_UNWIND_INFO): Refer to opts argument. * doc/tm.texi: Regenerate. * defaults.h (STACK_OLD_CHECK_PROTECT, STACK_CHECK_PROTECT): Pass &global_options to targetm.except_unwind_info. * dwarf2out.c (dwarf2out_do_frame, dwarf2out_do_cfi_asm, dwarf2out_begin_prologue, dwarf2out_frame_init, dwarf2out_frame_finish, dwarf2out_assembly_start): Pass &global_options to targetm.except_unwind_info. * except.c (init_eh, finish_eh_generation, gate_convert_to_eh_region_ranges, output_one_function_exception_table): Pass &global_options to targetm.except_unwind_info. * expr.c (build_personality_function): Pass &global_options to targetm.except_unwind_info. * function.c (expand_function_end): Pass &global_options to targetm.except_unwind_info. * hooks.c (hook_bool_bool_gcc_optionsp_false): New. * hooks.h (hook_bool_bool_gcc_optionsp_false): Declare. * opts.c (finish_options): Pass opts to targetm.except_unwind_info and targetm.supports_split_stack. Remove assertions about opts and opts_set. (common_handle_option): Remove assertions about opts, opts_set and dc. * tree-tailcall.c (suitable_for_tail_call_opt_p): Pass &global_options to targetm.except_unwind_info. * tree.c (build_common_builtin_nodes: Pass &global_options to targetm.except_unwind_info. * config/arm/arm.c (arm_except_unwind_info): Add gcc_options parameter. (arm_compute_func_type, arm_expand_prologue, thumb_pushpop, thumb1_expand_prologue, thumb1_output_function_prologue, arm_unwind_emit, arm_output_fn_unwind): Update calls to arm_except_unwind_info. * config/i386/i386.c (ix86_supports_split_stack): Add gcc_options parameter. * config/ia64/ia64.c (ia64_except_unwind_info): Add gcc_options parameter. (ia64_output_function_prologue, ia64_add_bundle_selector_before, ia64_reorg, ia64_asm_unwind_emit): Update calls to ia64_except_unwind_info. * config/pa/pa.c (pa_option_override): Pass &global_options to targetm.except_unwind_info. * config/picochip/picochip-protos.h (picochip_except_unwind_info): Remove prototype. c-family: * c-cppbuiltin.c (c_cpp_builtins): Pass &global_options to targetm.except_unwind_info. From-SVN: r167145
* predicates.md (pmpyshr_operand): New.Richard Henderson2010-11-244-40/+444
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * config/ia64/predicates.md (pmpyshr_operand): New. * config/ia64/ia64.c (ia64_expand_unpack): New. (ia64_expand_widen_mul_v4hi): New. (ia64_expand_widen_sum): Update for pattern renames. (ia64_expand_dot_prod_v8qi): Likewise. * config/ia64/ia64-protos.h: Update. * config/ia64/vect.md (vecwider): New mode attribute. (vec_widen_umult_lo_v8qi, vec_widen_umult_hi_v8qi): New. (vec_widen_smult_lo_v8qi, vec_widen_smult_hi_v8qi): New. (pmpyshr2, pmpyshr2_u): New. (vec_widen_smult_lo_v4hi, vec_widen_smult_hi_v4hi): New. (vec_widen_umult_lo_v4hi, vec_widen_umult_hi_v4hi): New. (mulv2si3): New. (vec_pack_ssat_v4hi): Rename from pack2_sss. (vec_pack_usat_v4hi): Rename from *pack2_uss. (vec_pack_ssat_v2si): Rename from pack4_sss. (vec_interleave_lowv8qi): Rename from unpack1_l, use the correct vec_select operation. (vec_interleave_highv8qi): Similarly. (mux1_alt): Rename from *mux1_alt. (vec_extract_evenv8qi, vec_extract_oddv8qi): New. (vec_interleave_lowv4hi): Rename from unpack2_l. (vec_interleave_highv4hi): Rename from unpack2_h. (mix2_r): Rename from *mix2_r. (mix2_l): Similarly. (vec_extract_evenodd_helper): New. (vec_extract_evenv4hi, vec_extract_oddv4hi): New. (vec_interleave_lowv2si): Rename from *unpack4_l. (vec_interleave_highv2si): Rename from *unpack4_h. (vec_extract_evenv2si, vec_extract_oddv2si): New. (vec_interleave_lowv2sf): Rename from fmix_r. (vec_interleave_highv2sf): Rename from *fmix_l. (vec_extract_evenv2sf, vec_extract_oddv2sf): New. (vec_unpacku_lo_<VECINT12>, vec_unpacku_hi_<VECINT12>): New. (vec_unpacks_lo_<VECINT12>, vec_unpacks_hi_<VECINT12>): New. (vec_pack_trunc_v4hi, vec_pack_trunc_v2si): New. testsuite: * lib/target-supports.exp (vect_widen_sum_hi_to_si_pattern, vect_widen_mult_hi_to_si, vect_sdot_qi, vect_udot_qi, vect_sdot_hi, vect_unpack, vect_int_mult, vect_extract_even_odd, vect_extract_even_odd_wide, vect_interleave): Enable for ia64. From-SVN: r167136
* targhooks.c (default_except_unwind_info): Remove MUST_USE_SJLJ_EXCEPTIONS case.Nathan Froyd2010-11-242-3/+4
| | | | | | | | | | | | * targhooks.c (default_except_unwind_info): Remove MUST_USE_SJLJ_EXCEPTIONS case. * config/h8300/h8300.h (MUST_USE_SJLJ_EXCEPTIONS): Delete. * config/h8300/h8300.c (TARGET_EXCEPT_UNWIND_INFO): Define. * doc/tm.texi.in (MUST_USE_SJLJ_EXCEPTIONS): Delete. * doc/tm.texi: Regenerate. * system.h (MUST_USE_SJLJ_EXCEPTIONS): Poison. From-SVN: r167131
* cppbuiltin.c (define_builtin_macros_for_type_sizes): Define ↵Nathan Froyd2010-11-241-5/+0
| | | | | | | | | | | | | | | | | | | | | | | __FLOAT_WORD_ORDER__ according to FLOAT_WORDS_BIG_ENDIAN. gcc/ * cppbuiltin.c (define_builtin_macros_for_type_sizes): Define __FLOAT_WORD_ORDER__ according to FLOAT_WORDS_BIG_ENDIAN. * config/dfp-bit.h (LIBGCC2_FLOAT_WORDS_BIG_ENDIAN): Delete. * doc/cpp.texi (__FLOAT_WORD_ORDER__): Document. * system.h (LIBGCC2_FLOAT_WORDS_BIG_ENDIAN): Poison. libgcc/ * config/libbid/bid_conf.h (BID_BIG_ENDIAN): Define in terms of __FLOAT_WORD_ORDER__. * config/libbid/bid_gcc_intrinsics.h (LIBGCC2_FLOAT_WORDS_BIG_ENDIAN): Delete. libdecnumber/ * dconfig.h (LIBGCC2_FLOAT_WORDS_BIG_ENDIAN): Delete. (WORDS_BIG_ENDIAN): Define based on value of __FLOAT_WORD_ORDER__. From-SVN: r167129
* Don't check TREE_THIS_VOLATILE in ix86_expand_call.H.J. Lu2010-11-241-1/+1
| | | | | | | | | | | | | | | | | | | gcc/ 2010-11-24 H.J. Lu <hongjiu.lu@intel.com> PR target/46519 * config/i386/i386.c (ix86_expand_call): Don't check TREE_THIS_VOLATILE. gcc/testsuite/ 2010-11-24 H.J. Lu <hongjiu.lu@intel.com> PR target/46519 * gfortran.dg/pr46519-1.f: New. From-SVN: r167126
* Improve vzeroupper optimization.H.J. Lu2010-11-242-92/+176
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | gcc/ 2010-11-24 H.J. Lu <hongjiu.lu@intel.com> PR target/46519 * config/i386/i386.c (upper_128bits_state): New. (block_info_def): Remove upper_128bits_set and done. Add state, referenced, count, processed and rescanned. (check_avx256_stores): Updated. (move_or_delete_vzeroupper_2): Updated. Handle deleted BB_END. Call note_stores only if needed. Set referenced and count. (move_or_delete_vzeroupper_1): Updated. Set rescan_vzeroupper_p. (rescan_move_or_delete_vzeroupper): New. (move_or_delete_vzeroupper): Process and rescan all all basic blocks instead of predecessor blocks of all exit points. (ix86_option_override_internal): Enable vzeroupper optimization only for -fexpensive-optimizations and not optimizing for size. (use_avx256_p): Removed. (init_cumulative_args): Don't set use_avx256_p. (ix86_function_arg): Likewise. (ix86_expand_move): Likewise. (ix86_expand_vector_move_misalign): Likewise. (ix86_local_alignment): Likewise. (ix86_minimum_alignment): Likewise. (ix86_expand_epilogue): Don't check use_avx256_p when generating vzeroupper. (ix86_expand_call): Likewise. * config/i386/i386.h (machine_function): Remove use_vzeroupper_p and use_avx256_p. Add rescan_vzeroupper_p. gcc/testsuite/ 2010-11-24 H.J. Lu <hongjiu.lu@intel.com> PR target/46519 * gcc.target/i386/avx-vzeroupper-10.c: Expect no avx_vzeroupper. * gcc.target/i386/avx-vzeroupper-11.c: Likewise. * gcc.target/i386/avx-vzeroupper-14.c: Replace -O0 with -O2. * gcc.target/i386/avx-vzeroupper-15.c: Likewise. * gcc.target/i386/avx-vzeroupper-16.c: Likewise. * gcc.target/i386/avx-vzeroupper-17.c: Likewise. * gcc.target/i386/avx-vzeroupper-20.c: New. * gcc.target/i386/avx-vzeroupper-21.c: Likewise. * gcc.target/i386/avx-vzeroupper-22.c: Likewise. * gcc.target/i386/avx-vzeroupper-23.c: Likewise. * gcc.target/i386/avx-vzeroupper-24.c: Likewise. * gcc.target/i386/avx-vzeroupper-25.c: Likewise. * gcc.target/i386/avx-vzeroupper-26.c: Likewise. From-SVN: r167124
* Add loongson3a integer mul/div patternsMingjie Xing2010-11-242-13/+29
| | | | From-SVN: r167107
* tree.h (DECL_HAS_IMPLICIT_SECTION_NAME_P): New macro.Jan Hubicka2010-11-237-25/+63
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * tree.h (DECL_HAS_IMPLICIT_SECTION_NAME_P): New macro. (tree_decl_with_vis): Add implicit_section_name_p. * targhooks.h (default_function_section): Declare. * target.def (function_section): New hook. * defaults.h (HOT_TEXT_SECTION_NAME, UNLIKELY_EXECUTED_TEXT_SECTION_NAME): Remove. * predict.c (choose_function_section): Remove. (estimate_bb_frequencies): Do not use choose_function_section. * coretypes.h (enum node_frequency): Move here from cgraph.h * cgraph.h (enum node_frequency): Remove. * varasm.c (initialize_cold_section_name, unlikely_text_section, unlikely_text_section_p): Remove. (named_subsection_entry): New structure. (get_text_section): New function. (default_function_section): New function. (function_section_1): Break out from ...; handle profile info. (function_section): ... here. (unlikely_text_section): Remove. (unlikely_text_section_p): Use function_section_1. (assemble_start_function): Do not initialize cold section. (default_section_type_flags): Do not special case cold subsection. (switch_to_section): Likewise. * output.h (get_text_section): Define. * config/i386/winnt.c: Do not special case cold section. * config/darwin-protos.h (darwin_function_section): Declare. * config/microblaze/microblaze.h (HOT_TEXT_SECTION_NAME, UNLIKELY_EXECUTED_TEXT_SECTION_NAME): Remove. * config/ia64/hpux.h (HOT_TEXT_SECTION_NAME, UNLIKELY_EXECUTED_TEXT_SECTION_NAME): Remove. (TARGET_ASM_FUNCTION_SECTION): Define to ia64_hpux_function_section. * config/ia64/ia64.c (ia64_hpux_function_section): New function. * config/darwin.c (machopic_select_section): Use darwin_function_section. (darwin_function_section): New function. * config/darwin.h (HOT_TEXT_SECTION_NAME, UNLIKELY_EXECUTED_TEXT_SECTION_NAME): Remove. (TARGET_ASM_FUNCTION_SECTION): Define. * system.h (HOT_TEXT_SECTION_NAME, UNLIKELY_EXECUTED_TEXT_SECTION_NAME): Poison. From-SVN: r167085
* update darwin to use link_gcc_c_sequence.Iain Sandoe2010-11-231-7/+13
| | | | | | | | | gcc: * config/darwin.h (LINK_COMMAND_SPEC_A): Use %(link_gcc_c_sequence). LINK_GCC_C_SEQUENCE_SPEC: Define new macro. From-SVN: r167084
* re PR target/46613 (m32c fails to build - m32c_conditional_register_usage ↵Joern Rennecke2010-11-222-2/+2
| | | | | | | | | | | missing for m32c-pragma.c) PR target/46613 * config/m32c/m32c-protos.h (m32c_conditional_register_usage): Declare. * config/m32c/m32c.c (m32c_conditional_register_usage): No longer static. From-SVN: r167056
* re PR target/46434 (crx-elf --enable-werror-always build fails)Richard Henderson2010-11-221-21/+22
| | | | | | | | | PR target/46434 * config/crx/crx.c (crx_addr_reg): Rename from crx_addr_reg_p; return the address register extracted. (crx_decompose_address): Update the extracted address register. From-SVN: r167053
* re PR target/46608 (picochip-protos.h includes target.h)Joern Rennecke2010-11-222-9/+2
| | | | | | | | | PR target/46608 * config/picochip/picochip.c (picochip_secondary_reload): Make static. * config/picochip/picochip-protos.h: Don't include "target.h" . (picochip_secondary_reload): Don't declare. From-SVN: r167050
* target.def (conditional_register_usage): Define.Nathan Froyd2010-11-2267-505/+512
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * target.def (conditional_register_usage): Define. * reginfo.c (init_reg_sets_1): Call targetm.conditional_register_usage. * system.h (CONDITIONAL_REGISTER_USAGE): Poison. * doc/tm.texi.in (CONDITIONAL_REGISTER_USAGE): Adjust language for making it a hook. * doc/tm.texi: Regenerate. * config/alpha/alpha.h (CONDITIONAL_REGISTER_USAGE): Move logic... * config/alpha/alpha.c (alpha_conditional_register_usage): ...here. New function. (TARGET_CONDITIONAL_REGISTER_USAGE): Define. * config/arc/arc.h (CONDITIONAL_REGISTER_USAGE): Move logic... * config/arc/arc.c (arc_conditional_register_usage): ...here. New function. (TARGET_CONDITIONAL_REGISTER_USAGE): Define. * config/arm/arm.h (CONDITIONAL_REGISTER_USAGE): Move logic... * config/arm/arm.c (arm_conditional_register_usage): ...here. New function. (TARGET_CONDITIONAL_REGISTER_USAGE): Define. * config/bfin/bfin.h (CONDITIONAL_REGISTER_USAGE): Delete. * config/bfin/bfin-protos.h (conditional_register_usage): Delete. * config/bfin/bfin.c (conditional_register_usage): Move code into... (bfin_conditional_register_usage): ...here. New function. (TARGET_CONDITIONAL_REGISTER_USAGE): Define. * config/cris/cris.h (CONDITIONAL_REGISTER_USAGE): Delete. * config/cris/cris-protos.h (cris_conditional_register_usage): Delete. * config/cris/cris.c (cris_conditional_register_usage): Make static. (TARGET_CONDITIONAL_REGISTER_USAGE): Define. * config/fr30/fr30.h (FIXED_REGISTERS): Adjust comment. * config/frv/frv.h (CONDITIONAL_REGISTER_USAGE): Delete. * config/frv/frv-protos.h (frv_conditional_register_usage): Delete. * config/frv/frv.c (frv_conditional_register_usage): Make static. (TARGET_CONDITIONAL_REGISTER_USAGE): Define. * config/h8300/h8300.h (CONDITIONAL_REGISTER_USAGE): Move logic... * config/h8300/h8300.c (h8300_conditional_register_usage): ...here. New function. (TARGET_CONDITIONAL_REGISTER_USAGE): Define. * config/i386/i386.h (CONDITIONAL_REGISTER_USAGE): Delete. * config/i386/i386-protos.h (ix86_conditional_register_usage): Delete. * config/i386/i386.c (ix86_conditional_register_usage): Make static. (TARGET_CONDITIONAL_REGISTER_USAGE): Define. * config/m32c/m32c.h (CONDITIONAL_REGISTER_USAGE): Delete. * config/m32c/m32c-protos.h (m32c_conditional_register_usage): Delete. * config/m32c/m32c.c (m32c_conditional_register_usage): Make static. (TARGET_CONDITIONAL_REGISTER_USAGE): Define. * config/m32r/m32r.h (CONDITIONAL_REGISTER_USAGE): Move logic... * config/m32r/m32r.c (m32r_conditional_register_usage): ...here. New function. (TARGET_CONDITIONAL_REGISTER_USAGE): Define. * config/m68hc11/m68hc11.h (CONDITIONAL_REGISTER_USAGE): Delete. * config/m68hc11/m68hc11-protos.h (m68hc11_conditional_register_usage): Delete. * config/m68hc11/m68hc11.c (m68hc11_conditional_register_usage): Make static. (TARGET_CONDITIONAL_REGISTER_USAGE): Define. * config/mep/mep.h (CONDITIONAL_REGISTER_USAGE): Delete. * config/mep/mep-protos.h (mep_conditional_register_usage): Delete. * config/mep/mep.c (mep_conditional_register_usage): Make static. (TARGET_CONDITIONAL_REGISTER_USAGE): Define. * config/mips/mips.h (CONDITIONAL_REGISTER_USAGE): Delete. * config/mips/mips-protos.h (mips_conditional_register_usage): Delete. * config/mips/mips.c (mips_conditional_register_usage): Make static. (TARGET_CONDITIONAL_REGISTER_USAGE): Define. * config/mmix/mmix.h (CONDITIONAL_REGISTER_USAGE): Delete. * config/mmix/mmix-protos.h (mmix_conditional_register_usage): Delete. * config/mmix/mmix.c (mmix_conditional_register_usage): Make static. (TARGET_CONDITIONAL_REGISTER_USAGE): Define. * config/mn10300/mn10300.h (CONDITIONAL_REGISTER_USAGE): Move logic... * config/mn10300/mn10300.c (mn10300_conditional_register_usage): ...here. New function. (TARGET_CONDITIONAL_REGISTER_USAGE): Define. * config/pa/pa32-regs.h (CONDITIONAL_REGISTER_USAGE): Move logic... * config/pa/pa64-regs.h (CONDITIONAL_REGISTER_USAGE): ...with this... * config/pa/pa.c (pa_conditional_register_usage): ...here. New function. (TARGET_CONDITIONAL_REGISTER_USAGE): Define. * config/pdp11/pdp11.h (CONDITIONAL_REGISTER_USAGE): Move logic... * config/pdp11/pdp11.c (pdp11_conditional_register_usage): ...here. New function. (TARGET_CONDITIONAL_REGISTER_USAGE): Define. * config/rs6000/rs6000.h (CONDITIONAL_REGISTER_USAGE): Delete. * config/rs6000/rs6000-protos.h (rs6000_conditional_register_usage): Delete. * config/rs6000/rs6000.c (rs6000_conditional_register_usage): Make static. (TARGET_CONDITIONAL_REGISTER_USAGE): Define. * config/rx/rx.h (CONDITIONAL_REGISTER_USAGE): Delete. * config/rx/rx-protos.h (rx_conditional_register_usage): Delete. * config/rx/rx.c (rx_conditional_register_usage): Make static. (TARGET_CONDITIONAL_REGISTER_USAGE): Define. * config/s390/s390.h (CONDITIONAL_REGISTER_USAGE): Delete. * config/s390/s390-protos.h (s390_conditional_register_usage): Delete. * config/s390/s390.c (s390_conditional_register_usage): Make static. (TARGET_CONDITIONAL_REGISTER_USAGE): Define. * config/score/score.h (CONDITIONAL_REGISTER_USAGE): Move logic... * config/score/score.c (score_conditional_register_usage): ...here. New function. (TARGET_CONDITIONAL_REGISTER_USAGE): Define. * config/sh/sh.h (CONDITIONAL_REGISTER_USAGE): Move logic... * config/sh/sh.c (sh_conditional_register_usage): ...here. New function. (TARGET_CONDITIONAL_REGISTER_USAGE): Define. * config/sparc/sparc.h (CONDITIONAL_REGISTER_USAGE): Move logic... * config/sparc/sparc.c (sparc_conditional_register_usage): ...here. New function. (TARGET_CONDITIONAL_REGISTER_USAGE): Define. * config/spu/spu.h (CONDITIONAL_REGISTER_USAGE): Delete. * config/spu/spu-protos.h (spu_conditional_register_usage): Delete. * config/spu/spu.c (spu_conditional_register_usage): Make static. (TARGET_CONDITIONAL_REGISTER_USAGE): Define. * config/v850/v850.h (CONDITIONAL_REGISTER_USAGE): Move logic... * config/v850/v850.c (v850_conditional_register_usage): ...here. New function. (TARGET_CONDITIONAL_REGISTER_USAGE): Define. From-SVN: r167020
* ia64.c (ia64_expand_builtin): Use the correct mode for infq/huge_valq.Richard Henderson2010-11-211-3/+4
| | | | | | | * config/ia64/ia64.c (ia64_expand_builtin): Use the correct mode for infq/huge_valq. From-SVN: r167009
* * config/mips/pdp11.md (negsi2): Fix wrong code.Paul Koning2010-11-211-2/+3
| | | | From-SVN: r167006
* pdp11.c (pdp11_legitimate_address_p): New function.Paul Koning2010-11-212-113/+113
| | | | | | | * config/mips/pdp11.c (pdp11_legitimate_address_p): New function. * config/mips/pdp11.h (GO_IF_LEGITIMATE_ADDRESS): Delete. From-SVN: r167005
* mips.c (machine_function): Rename load_label_length to load_label_num_insns.Eric Botcazou2010-11-211-6/+6
| | | | | | | | | | * config/mips/mips.c (machine_function): Rename load_label_length to load_label_num_insns. (mips_load_label_length): Rename to... (mips_load_label_num_insns): ...this. Adjust to first renaming. (mips_adjust_insn_length): Adjust to second renaming. Fix thinko. From-SVN: r167001
* re PR bootstrap/46533 ([alpha] bootstrap failure)Uros Bizjak2010-11-211-17/+1
| | | | | | | | PR target/46533 * config/alpha/predicates.md (direct_call_operand): Return false for !TARGET_SMALL_TEXT targets. From-SVN: r166999
* moxie EH fixesAnthony Green2010-11-211-0/+15
| | | | From-SVN: r166997
* tm.texi.in (HANDLE_SYSV_PRAGMA, [...]): Remove.Joseph Myers2010-11-2136-144/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * doc/tm.texi.in (HANDLE_SYSV_PRAGMA, HANDLE_PRAGMA_PACK_PUSH_POP): Remove. (HANDLE_PRAGMA_PACK_WITH_EXPANSION): Don't refer to HANDLE_SYSV_PRAGMA. * doc/tm.texi: Regenerate. * system.h (HANDLE_PRAGMA_PACK_PUSH_POP, HANDLE_SYSV_PRAGMA, HANDLE_PRAGMA_WEAK): Poison. * config/alpha/elf.h (HANDLE_SYSV_PRAGMA): Don't define. * config/alpha/linux.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define. * config/alpha/osf5.h (HANDLE_SYSV_PRAGMA): Don't define. * config/alpha/vms.h (HANDLE_SYSV_PRAGMA): Don't define. * config/arm/arm.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define. * config/arm/netbsd.h (HANDLE_SYSV_PRAGMA): Don't define. * config/cris/cris.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define. * config/darwin.h (HANDLE_SYSV_PRAGMA): Don't define. (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define. * config/elfos.h (HANDLE_SYSV_PRAGMA): Don't define. * config/freebsd.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define. * config/frv/frv.h (HANDLE_SYSV_PRAGMA): Don't define. * config/i386/cygming.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define. * config/i386/djgpp.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define. * config/i386/i386-interix.h (HANDLE_SYSV_PRAGMA): Don't define. (HANDLE_PRAGMA_WEAK): Don't undefine. * config/i386/netware.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define. * config/i386/vxworks.h (HANDLE_SYSV_PRAGMA): Don't define. * config/ia64/hpux.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define. * config/ia64/ia64.h (HANDLE_SYSV_PRAGMA): Don't define. * config/interix.h (HANDLE_SYSV_PRAGMA): Don't define. (HANDLE_PRAGMA_WEAK): Don't undefine. * config/linux.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define. * config/m32r/linux.h (HANDLE_SYSV_PRAGMA): Don't define. (HANDLE_PRAGMA_PACK): Don't undefine. * config/m32r/m32r.h (HANDLE_SYSV_PRAGMA): Don't undefine. * config/mep/mep.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define. * config/mips/elf.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define. * config/mips/sde.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define. * config/mmix/mmix.h (HANDLE_SYSV_PRAGMA): Don't define. * config/netbsd.h (HANDLE_SYSV_PRAGMA): Don't define. (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define. * config/openbsd.h (HANDLE_SYSV_PRAGMA): Don't define. * config/pa/pa-hpux.h (HANDLE_SYSV_PRAGMA): Don't define. (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define. * config/rs6000/aix.h (HANDLE_SYSV_PRAGMA): Don't define. * config/rs6000/sysv4.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define. * config/rx/rx.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define. * config/score/elf.h (HANDLE_SYSV_PRAGMA): Don't define. * config/spu/spu.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define. * config/stormy16/stormy16.h (HANDLE_SYSV_PRAGMA): Don't define. * config/xtensa/elf.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define. c-family: * c-pragma.c: Remove conditionals on HANDLE_PRAGMA_PACK, HANDLE_PRAGMA_PACK_PUSH_POP, HANDLE_PRAGMA_WEAK and HANDLE_PRAGMA_VISIBILITY. * c-pragma.h (HANDLE_PRAGMA_WEAK, HANDLE_PRAGMA_PACK, HANDLE_PRAGMA_VISIBILITY): Don't define. (HANDLE_SYSV_PRAGMA, HANDLE_PRAGMA_PACK_PUSH_POP): Don't test. cp: * name-lookup.c (handle_namespace_attrs): Don't check HANDLE_PRAGMA_VISIBILITY. * parser.c (cp_parser_namespace_definition): Don't check HANDLE_PRAGMA_VISIBILITY. testsuite: * g++.dg/cpp/_Pragma1.C: Test for all non-Solaris targets. * gcc.dg/cpp/_Pragma6.c: Test for all non-Solaris targets. * gcc.dg/pack-test-1.c: Test for all non-default_packed targets. * gcc.dg/pack-test-2.c: Test for all targets. * gcc.dg/pragma-align.c: Test for all targets. * gcc.dg/pragma-pack-4.c: Do not skip for AVR. * gcc.dg/ucnid-10.c: Test for all targets. From-SVN: r166992
* re PR target/31100 (ASM_OUTPUT_ALIGN_WITH_NOP wrong with GNU as)Eric Botcazou2010-11-203-7/+10
| | | | | | | | | PR target/31100 * config/sparc/sparc.h (ASM_OUTPUT_ALIGN_WITH_NOP): Move to... * config/sparc/sol2.h (ASM_OUTPUT_ALIGN_WITH_NOP): ...here. * config/sparc/sol2-gas.h (ASM_OUTPUT_ALIGN_WITH_NOP): Undefine. From-SVN: r166986
* PR other/46202: implement install-strip.Ralf Wildenhues2010-11-201-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | /: PR other/46202 * configure.ac: Fix just-built in-tree STRIP name to be binutils/strip-new. * configure: Regenerate. * Makefile.def (install-strip-gcc, install-strip-binutils) (install-strip-opcodes, install-strip-ld, install-strip-itcl) (install-strip-sid): Mirror dependencies on non-strip variants of these targets on the respective -strip prerequisites. * Makefile.tpl (install-strip, install-strip-host) (install-strip-target): New targets. (install-strip-[+module+], install-strip-target-[+module+]): New targets. * Makefile.in: Regenerate. gcc/: PR other/46202 * Makefile.in (install_sh, INSTALL_STRIP_PROGRAM): New variables. (AR_FOR_TARGET, RANLIB_FOR_TARGET, STRIP_FOR_TARGET): Fix shell quoting. (STRIP_FOR_TARGET): Look for in-tree strip under name strip-new. (install-strip): New target. (STRIPPROG): New variable, exported if STRIP is set. * doc/install.texi (Final install): Minor markup and code style fixes. Document install-strip target. fixincludes/: PR other/46202 * Makefile.in (install-strip): New phony target. (all, check, install): Also mark as phony. libgcc/: PR other/46202 * Makefile.in (install-strip): New phony target. libiberty/: PR other/46202 * Makefile.in (install-strip): New phony target. (install): Also mark as phony. gnattools/: PR other/46202 * Makefile.in (install-strip): New phony target. (check, installcheck, info, dvi, pdf, html, install) (install-info, install-pdf, install-html, mostlyclean) (clean, distclean, maintainer-clean): Mark phony. libada/: PR other/46202 * Makefile.in (install-strip): New phony target. (check, installcheck, info, dvi, pdf, html, install) (install-info, install-pdf, install-html, mostlyclean) (clean, distclean, maintainer-clean): Mark phony. From-SVN: r166980
* pdp11-protos.h (pdp11_initial_elimination_offset, [...]): New functions.Paul Koning2010-11-204-44/+110
| | | | | | | | | | | | | | | | | | | | | * config/pdp11/pdp11-protos.h (pdp11_initial_elimination_offset, pdp11_regno_reg_class): New functions. * config/pdp11/pdp11.md (define_constants): Add register numbers. * config/pdp11/pdp11.c (pdp11_regno_reg_class, pdp11_sp_frame_offset, pdp11_initial_elimination_offset): New functions. * config/pdp11/pdp11.h (FIXED_REGISTERS, CALL_USED_REGISTERS): Add frame pointer and argument pointer pseudo-registers. (ARG_POINTER_REGNUM): Define. (REG_CLASS_CONTENTS, REGNO_REG_CLASS): Add frame pointer and argument pointer. (FIRST_PARM_OFFSET): Update for argument pointer. (INITIAL_FRAME_POINTER_OFFSET): Delete. (ELIMINABLE_REGS, INITIAL_ELIMINATION_OFFSET): New macros. (REGNO_OK_FOR_BASE_P, REGNO_OK_FOR_INDEX_P, REGISTER_NAMES): Add frame pointer and argument pointer. From-SVN: r166978
* mn10300.h (OUTPUT_ADDR_CONST_EXTRA): Remove.Anatoly Sokolov2010-11-192-43/+49
| | | | | | | | | * config/mn10300/mn10300.h (OUTPUT_ADDR_CONST_EXTRA): Remove. * config/mn10300/mn10300.c (mn10300_asm_output_addr_const_extra): New function. (TARGET_ASM_OUTPUT_ADDR_CONST_EXTRA): Define. From-SVN: r166955
* re PR target/46434 (crx-elf --enable-werror-always build fails)Joern Rennecke2010-11-191-5/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | PR target/46434 * config/crx/crx.c (crx_expand_epilogue): Remove unused variable. Index: config/crx/crx.c =================================================================== --- config/crx/crx.c (revision 166609) +++ config/crx/crx.c (working copy) @@ -613,6 +613,8 @@ static int crx_addr_reg_p (rtx addr_reg) return FALSE; } + gcc_assert (REGNO (reg) != CC_REGNUM); + return TRUE; } @@ -1439,17 +1441,12 @@ crx_expand_prologue (void) void crx_expand_epilogue (void) { - rtx return_reg; - /* Nonzero if we need to return and pop only RA. This will generate a * different insn. This differentiate is for the peepholes for call as last * statement in function. */ int only_popret_RA = (save_regs[RETURN_ADDRESS_REGNUM] && (sum_regs == UNITS_PER_WORD)); - /* Return register. */ - return_reg = gen_rtx_REG (Pmode, RETURN_ADDRESS_REGNUM); - if (frame_pointer_needed) /* Restore the stack pointer with the frame pointers value */ emit_move_insn (stack_pointer_rtx, frame_pointer_rtx); From-SVN: r166954
* re PR target/46436 (m68hc11-elf --enable-werror-always build fails)Joern Rennecke2010-11-191-9/+9
| | | | | | | | | | | PR target/46436 * config/m68hc11/m68hc11.c (m68hc11_gen_highpart): Split shift count to accomodate 32 bit HOST_WIDE_INT. (m68hc11_emit_logical): Remove unused variable insn. (m68hc11_check_z_replacement) <CLOBBER>: Set this_insn_uses_ix and this_insn_uses_iy before use. From-SVN: r166952
* Add PowerPC target attribute/pragma supportMichael Meissner2010-11-1911-676/+1539
| | | | From-SVN: r166947
* s390.c (s390_function_arg_integer): Handle NULLPTR_TYPE.Christian Borntraeger2010-11-191-0/+1
| | | | | | | | 2010-11-19 Christian Borntraeger <borntraeger@de.ibm.com> * config/s390/s390.c (s390_function_arg_integer): Handle NULLPTR_TYPE. From-SVN: r166935
* darwin-c.c (darwin_additional_format_types): Export.Jack Howarth2010-11-191-1/+1
| | | | | | | | | | | 2010-11-18 Jack Howarth <howarth@bromo.med.uc.edu> Ian Lance Taylor <iant@google.com> * config/darwin-c.c (darwin_additional_format_types): Export. Co-Authored-By: Ian Lance Taylor <iant@google.com> From-SVN: r166930
* pdp11.h (FIRST_PARM_OFFSET): Fix case of no frame pointer.Paul Koning2010-11-181-3/+2
| | | | | | | * config/pdp11/pdp11.h (FIRST_PARM_OFFSET): Fix case of no frame pointer. From-SVN: r166929
* pdp11.md (abshi2): Delete TARGET_ABSHI_BUILTIN.Paul Koning2010-11-183-6/+2
| | | | | | | | * config/pdp11/pdp11.md (abshi2): Delete TARGET_ABSHI_BUILTIN. * config/pdp11/pdp11.c (TARGET_DEFAULT_TARGET_FLAGS): Ditto. * config/pdp11/pdp11.opt (-mabshi): Delete. From-SVN: r166928
* re PR target/46546 (ix86_pad_returns may leave BB_END (bb) pointing to ↵Uros Bizjak2010-11-191-4/+8
| | | | | | | | | deleted insn) PR target/46546 * config/i386/i386.c (ix86_reorg): Call compute_bb_for_insn. From-SVN: r166921
* sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Support -fpic as well as -mrelocatable ↵Joakim Tjernlund2010-11-181-1/+2
| | | | | | | | | | | at the same time. 2010-11-17 Joakim Tjernlund <Joakim.Tjernlund@transmode.se> * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Support -fpic as well as -mrelocatable at the same time. From-SVN: r166897
* re PR testsuite/46422 (FAIL: g++.dg/other/i386-?.C)Quentin Neill2010-11-181-6/+6
| | | | | | | | | | | | Fix PR target/46422. 2010-11-17 Quentin Neill <quentin.neill.gnu@gmail.com> PR target/46422 * config/i386/bmiintrin.h (__lzcnt_u16, __lzcnt_u32, __lzcnt_u64): Call the clz builtin. From-SVN: r166889
* xtensa.c (function_arg_boundary): Really rename to...Nathan Froyd2010-11-172-6/+6
| | | | | | | | | | | | * config/xtensa/xtensa.c (function_arg_boundary): Really rename to... (xtensa_function_arg_boundary): ...this. * config/picochip/pichochip.c (picochip_function_arg_boundary): Fix thinko in declaration. (picochip_function_arg, picochip_arg_partial_bytes): Pass proper number of parameters to picochip_function_arg_boundary. (picochip_arg_advance): Likewise. From-SVN: r166853
* re PR target/46512 (crtstuff.c:563:1: internal compiler error: Segmentation ↵Nathan Froyd2010-11-171-3/+2
| | | | | | | | | | fault) PR target/46512 * config/pa/pa.c (pa_function_arg_boundary): Move TYPE_SIZE accesses under check for type. From-SVN: r166849
* s390: -mfused-madd cleanupRichard Henderson2010-11-163-29/+32
| | | | | | | | | | | * config.gcc [s390*-*] (extra_options): Add fused-madd.opt. * config/s390/s390.opt (mfused-madd): Remove. * config/s390/s390.c (s390_rtx_costs): Handle FMA. (TARGET_DEFAULT_TARGET_FLAGS): Remove MASK_FUSED_MADD. * config/s390/s390.md (fma<DSF>4): Rename from *fmadd<DSF>; use FMA. (fms<DSF>4): Rename from *fmsub<DSF>; use FMA. From-SVN: r166838
* rs6000: -mfused-madd cleanupRichard Henderson2010-11-167-613/+234
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * config.gcc [powerpc*, rs6000*] (extra_options): Add fused-madd.opt. * config/rs6000/rs6000.opt (mfused-madd): Remove. * config/rs6000/altivec.md (altivec_vmaddfp): Remove. (*altivec_vmaddfp_1): Remove. (*altivec_fmav4sf4): Rename from altivec_vmaddfp_2; use FMA. (altivec_mulv4sf3): Expand to FMA directly. (*altivec_vnmsubfp): Rename from altivec_vnmsubfp. (*altivec_vnmsubfp_1, *altivec_vnmsubfp_2): Remove. * config/rs6000/paired.md (paired_madds0): Use FMA. (paired_madds1): Likewise. (*paired_madd): Rename from paired_madd; use FMA. (*paired_msub, *paired_nmadd, *paired_nmsub): Similarly. * config/rs6000/rs6000.c (rs6000_init_hard_regno_mode_ok): Do not consider TARGET_FUSED_MADD wrt rs6000_recip_control. (bdesc_3arg): Update CODE_FOR_* for pattern renames. (rs6000_emit_madd): Use fma_optab. (rs6000_emit_msub): Use fms_optab. (rs6000_emit_nmsub): Expand the FMA pattern directly. * config/rs6000/rs6000.md (FMA_F): New mode iterator. (*fmasf4_fpr): Rename from fmasf4_fpr. (*nfmasf4_fpr): Rename from *fnmasf4_fpr. (*nfmssf4_fpr): Rename from *fnmssf4_fpr. (*fmaddsf4_powerpc, *fmaddsf4_power, *fmsubsf4_powerpc): Remove. (*fmsubsf4_power, *fnmaddsf4_powerpc_1, *fnmaddsf4_powerpc_2): Remove. (*fnmaddsf4_power_1, *fnmaddsf4_power_2, *fnmsubsf4_powerpc_1): Remove. (*fnmsubsf4_powerpc_2, *fnmsubsf4_power_1, *fnmsubsf4_power_2): Remove. (*fmadf4_fpr): Rename from fmadf4_fpr. (*nfmadf4_fpr): Rename from *fnmadf4_fpr. (*nfmsdf4_fpr): Rename from *fnmsdf4_fpr. (*fmadddf4_fpr, *fmsubdf4_fpr, *fnmadddf4_fpr_1): Remove. (*fnmadddf4_fpr_2, *fnmsubdf4_fpr_1, *fnmsubdf4_fpr_2): Remove. (fmasf4, fmadf4): Macroize into... (fma<FMA_F>4): ... here. (fms<FMA_F>4, fnma<FMA_F>4, fnms<FMA_F>4): New. (nfma<FMA_F>4, nfms<FMA_F>4): New. * config/rs6000/vector.md (mul<VEC_F>3): Do not depend on TARGET_FUSED_MADD. * config/rs6000/vsx.md (vsx_fmadd<VSX_B>4): Remove. (*vsx_fmadd<mode>4_1): Remove. (vsx_fmsub<mode>4, *vsx_fmsub<mode>4_1): Remove. (vsx_fnmadd<mode>4_1, vsx_fnmadd<mode>4_2): Remove. (vsx_fnmsub<mode>4_1, vsx_fnmsub<mode>4_2): Remove. (*vsx_fma<mode>4): Rename from vsx_fmadd<mode>4_2. (*vsx_fms<mode>4): Rename from vsx_fmsub<mode>4_2. (*vsx_nfma<mode>4): Rename from vsx_fnmadd<mode>4. (*vsx_nfms<mode>4): Rename from vsx_fnmsub<mode>4. testsuite/ * gcc.target/powerpc/ppc-fma-2.c: Use -ffp-contract=off. * gcc.target/powerpc/ppc-fma-4.c: Likewise. From-SVN: r166837
* pa: Use the FMA rtx code.Richard Henderson2010-11-161-231/+19
| | | | | | | | * config/pa/pa.md (fmadf4): Rename from unnamed; use FMA. (fmasf4, fnmadf4, fnmasf4): Likewise. (unnamed plus+mult insns and splitters): Delete. From-SVN: r166834
* spu: Use the FMA rtx code.Richard Henderson2010-11-162-56/+85
| | | | | | | | | | | | | | | | * config/spu/spu.md (fma<VSF>4): Rename from fma_<VSF>. (fnma<VSF>4): Rename from fnms_<VSF>. (fms<VSF>4): Rename from fms_<VSF>. (fma<VDF>4): Rename from fma_<VDF>. (fms<VDF>4): Rename from fms_<VDF>. (nfma<VDF>4): Rename from fnma_<VDF>. (nfms<VDF>4): Rename from fnms_<VDF>. (fnma<VDF>4, fnms<VDF>4): New expanders. (floatunsdisf2): Update for the renames. (*div<VSF>3_fast, *div<VSF>3_adjusted): Likewise. * config/spu/spu-builtins.def: Update CODE_FOR_* for the renames. From-SVN: r166833
* re PR java/46386 (negative shift count in build_constants_constructor for 16 ↵Joern Rennecke2010-11-162-8/+0
| | | | | | | | | | | | | | | | | | bit pointer targets) 2010-11-09 Joern Rennecke <amylaar@spamcop.net> Andrew Haley <aph@redhat.com> PR java/46386 gcc/java: * constants.c (build_constants_constructor): Avoid negative shift. gcc: * config/pdp11/t-pdp11 (java/constants.o-warn): Remove. * config/t-pnt16-warn (java/constants.o-warn): Likewise. Co-Authored-By: Andrew Haley <aph@redhat.com> From-SVN: r166826
* m68k.c (m68k_delegitimize_address): Also expect LABEL_REF in UNSPEC operand.Andreas Schwab2010-11-161-1/+1
| | | | | | | * gcc/config/m68k/m68k.c (m68k_delegitimize_address): Also expect LABEL_REF in UNSPEC operand. From-SVN: r166816
* sol2.h (NM_FLAGS): Define.Rainer Orth2010-11-161-0/+4
| | | | | | | | * config/sol2.h (NM_FLAGS): Define. * doc/tm.texi.in (Macros for Initialization, NM_FLAGS): Document. * doc/tm.texi: Update. From-SVN: r166811
* v850.md (maddsf4): Rename to fmasf4 and use fma rtx_code.Nick Clifton2010-11-161-21/+20
| | | | | | | | | | * config/v850/v850.md (maddsf4): Rename to fmasf4 and use fma rtx_code. (msubsf4): Rename to fmssf4, and use fma. (nmaddsf4): Rename to fnmasf4 and use fma. (nmsubsf4): Rename to fnmssf4 and use fma. From-SVN: r166808
* re PR target/44762 (score/predicates.md warnings)Joern Rennecke2010-11-169-107/+107
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | PR target/44762 * config/score/score3.c (score3_return_in_memory): Constify arguments. (score3_in_small_data_p, score3_function_value): Likewise. (score3_trampoline_init): Use LCT_NORMAL. (score3_print_operand): Initialize code as UNKNOWN. * config/score/predicates.md (score_load_multiple_operation): Remove unused variable. (score_store_multiple_operation): Likewise. * config/score/score7.c (score7_return_in_memory): Constify arguments. (score7_in_small_data_p, score7_function_value): Likewise. (score7_trampoline_init): Use LCT_NORMAL. (score7_print_operand): Initialize code as UNKNOWN. * config/score/score3.h (score3_return_in_memory): Update prototype. (score3_in_small_data_p, score3_function_value): Likewise. * config/score/score-protos.h (score_function_value): Likewise. * config/score/score7.h (score7_return_in_memory): Update prototype. (score7_in_small_data_p, score7_function_value): Likewise. * config/score/score.c (TARGET_PROMOTE_PROTOTYPES): Constify. (score_return_in_memory, score_pass_by_reference): Constify arguments. (score_output_mi_thunk, score_function_prologue): Don't return a value. (score_function_epilogue, score_in_small_data_p): Likewise. (score_option_override, score_asm_trampoline_template): Likewise. (score_trampoline_init, score_print_operand): Likewise. (score_print_operand_address, score_prologue): Likewise. (score_epilogue, score_call, score_call_value): Likewise. (score_movsicc, score_movdi, score_zero_extract_andi): Likewise. (score_function_arg_advance): Likewise. Make static. (score_asm_file_end): Mark parameter value with ATTRIBUTE_UNUSED. (score_function_arg, score_legitimate_address_p): Make static. (score_function_value): Mark parameter func with ATTRIBUTE_UNUSED. * config/score/score.h (REGNO_REG_CLASS): Cast value to enum reg_class. * config/score/score-conv.h (UIMM_IN_RANGE, SIMM_IN_RANGE): Allow (W) == HOST_BITS_PER_WIDE_INT. From-SVN: r166807