aboutsummaryrefslogtreecommitdiff
path: root/gcc/config
AgeCommit message (Collapse)AuthorFilesLines
2015-06-30c6x.c (try_rename_operands): Do not depend on gcc_assert evaluating its ↵Sandra Loosemore1-2/+7
argument for side-effect. 2015-06-30 Sandra Loosemore <sandra@codesourcery.com> gcc/ * config/c6x/c6x.c (try_rename_operands): Do not depend on gcc_assert evaluating its argument for side-effect. From-SVN: r225221
2015-07-01re PR target/64833 ([SH]: Error: pcrel too far when compiling imagemagick ↵Kaz Kojima1-1/+5
and graphicsmagick on Debian sh4) PR target/64833 * [SH] Set length of casesi_worker_1 insn to 8 when flag_pic is set. From-SVN: r225219
2015-06-30IA MCU psABI support: GCC changesH.J. Lu5-8/+153
This patch introduces basic IA MCU psABI support into GCC. * configure.ac (ospace_frag): Enable for i?86*-*-elfiamcu target. * configure: Regenerate. gcc/ * config.gcc: Support i[34567]86-*-elfiamcu target. * config/i386/iamcu.h: New. * config/i386/i386.opt: Add -miamcu. * doc/invoke.texi: Document -miamcu. * common/config/i386/i386-common.c (ix86_handle_option): Turn off x87/MMX/SSE/AVX codegen for -miamcu. * config/i386/i386-c.c (ix86_target_macros_internal): Define __iamcu/__iamcu__ for -miamcu. * config/i386/i386.h (PREFERRED_STACK_BOUNDARY_DEFAULT): Set to MIN_STACK_BOUNDARY if TARGET_IAMCU is true. (BIGGEST_ALIGNMENT): Set to 32 if TARGET_IAMCU is true. * config/i386/i386.c (ix86_option_override_internal): Ignore and warn -mregparm for Intel MCU. Turn on -mregparm=3 for Intel MCU by default. Default long double to 64-bit for Intel MCU. Turn on -freg-struct-return for Intel MCU. Issue an error when -miamcu is used in 64-bit or x32 mode or if x87, MMX, SSE or AVX is turned on. (function_arg_advance_32): Pass value whose size is no larger than 8 bytes in registers for Intel MCU. (function_arg_32): Likewise. (ix86_return_in_memory): Return value whose size is no larger than 8 bytes in registers for Intel MCU. (iamcu_alignment): New function. (ix86_data_alignment): Call iamcu_alignment if TARGET_IAMCU is true. (ix86_local_alignment): Don't increase alignment for Intel MCU. (x86_field_alignment): Return iamcu_alignment if TARGET_IAMCU is true. From-SVN: r225197
2015-06-30leon.md (leon_load): Enable for all LEON variants if -mfix-ut699 is not ↵Eric Botcazou1-3/+5
specified. * config/sparc/leon.md (leon_load): Enable for all LEON variants if -mfix-ut699 is not specified. (leon3_load): Rename into... (ut699_load): ...this. Enable for all LEON variants if -mfix-ut699 is specified. From-SVN: r225173
2015-06-29nvptx.md (nvptx_reorg_subreg): New fn, broken out of ...Nathan Sidwell1-12/+34
* config/nvptx/nvptx.md (nvptx_reorg_subreg): New fn, broken out of ... (nvptx_reorg): Here. Keep the non-subreg pieces. From-SVN: r225154
2015-06-29Use PIE_SPEC/NO_PIE_SPEC for crtend.o/crtendS.oH.J. Lu1-0/+9
We need to link with crtend.o and crtendS.o properly for GCC configured to generate PIE by default. * config/gnu-user.h (GNU_USER_TARGET_ENDFILE_SPEC): Use PIE_SPEC and NO_PIE_SPEC if HAVE_LD_PIE is defined. From-SVN: r225144
2015-06-29i386.md (*jcc_1): Use %!Uros Bizjak1-76/+28
* config/i386/i386.md (*jcc_1): Use %! in asm template. Set attribute "length_nobnd" instead of "length". (*jcc_2): Ditto. (jump): Ditto. (*jcc_1_bnd, *jcc_2_bnd, jump_bnd): Remove insn patterns. From-SVN: r225138
2015-06-29nios2.c (nios2_delegitimize_address): Make assert less restrictive.Sandra Loosemore1-1/+1
2015-06-29 Sandra Loosemore <sandra@codesourcery.com> gcc/ * config/nios2/nios2.c (nios2_delegitimize_address): Make assert less restrictive. From-SVN: r225137
2015-06-29re PR target/65697 (__atomic memory barriers not strong enough for __sync ↵Matthew Wahab1-1/+9
builtins) 2015-06-29 Matthew Wahab <matthew.wahab@arm.com> PR target/65697 * config/armc/arm.c (arm_split_compare_and_swap): For ARMv8, replace an initial acquire barrier with final barrier. From-SVN: r225133
2015-06-29re PR target/65697 (__atomic memory barriers not strong enough for __sync ↵Matthew Wahab1-1/+9
builtins) 2015-06-29 Matthew Wahab <matthew.wahab@arm.com> PR target/65697 * config/armc/arm.c (arm_split_atomic_op): For ARMv8, replace an initial acquire barrier with final barrier. From-SVN: r225132
2015-06-29i386: Implement asm flag outputsRichard Henderson3-7/+137
* config/i386/constraints.md (Bf): New constraint. * config/i386/i386-c.c (ix86_target_macros): Define __GCC_ASM_FLAG_OUTPUTS__. * config/i386/i386.c (ix86_md_asm_adjust): Handle =@cc* constraints as flags outputs. * doc/extend.texi (FlagOutputOperands): Document them. testsuite/ * gcc.target/i386/asm-flag-1.c: New. * gcc.target/i386/asm-flag-2.c: New. * gcc.target/i386/asm-flag-3.c: New. * gcc.target/i386/asm-flag-4.c: New. * gcc.target/i386/asm-flag-5.c: New. From-SVN: r225122
2015-06-29[AArch64] Generalize TLSLE macro and pattern namesJiong Wang3-17/+16
2015-06-29 Jiong Wang <jiong.wang@arm.com> * config/arch64/aarch64.md (UNSPEC_TLSLE): New enumeration. * config/arch64/aarch64.md (tlsle_small): Rename to tlsle and use new unspec name. (tlsle_small_<mode>): Rename to tlsle_<mode> and use new unspec name. * config/arch64/aarch64-protos.h (arch64_symbol_type): Rename SYMBOL_SMALL_TPREL to SYMBOL_TLSLE. (aarch64_symbol_context): Ditto. * config/aarch64/aarch64.c (aarch64_load_symref_appropriately): Ditto and use new pattern name. (aarch64_expand_mov_immediate): Ditto. (aarch64_print_operand): Ditto. (aarch64_classify_tls_symbol): Ditto. From-SVN: r225121
2015-06-28regrename.h (regrename_do_replace): Change to return bool.Chung-Lin Tang2-7/+15
2015-06-28 Chung-Lin Tang <cltang@codesourcery.com> Sandra Loosemore <sandra@codesourcery.com> gcc/ * regrename.h (regrename_do_replace): Change to return bool. * regrename.c (rename_chains): Check return value of regname_do_replace. (regrename_do_replace): Re-validate the modified insns and return bool status. * config/aarch64/cortex-a57-fma-steering.c (rename_single_chain): Update to match rename_chains changes. * config/c6x/c6x.c (try_rename_operands): Assert that regrename_do_replace returns true. Co-Authored-By: Sandra Loosemore <sandra@codesourcery.com> From-SVN: r225106
2015-06-28i386.md (<mode>_ldx): Do not zero-extend non-Pmode operand 2 here.Uros Bizjak2-90/+82
* config/i386/i386.md (<mode>_ldx): Do not zero-extend non-Pmode operand 2 here. Use copy_addr_to_reg to copy non-index register operand 2 to a temporary. (<mode>_stx): Ditto for operand 1. (*<mode>_ldx, *<mode>_stx): Remove enclosing parallel. * config/i386/i386.c (ix86_load_bounds): Zero-extend non-Pmode ptr here. (ix86_store_bounds): Ditto. From-SVN: r225105
2015-06-26[Patch AArch64 4/4] Add -moverride tuning command, and wire it up forJames Greenhalgh2-0/+228
control of fusion and fma-steering gcc/ * config/aarch64/aarch64.opt: (override): New. * doc/invoke.texi (override): Document. * config/aarch64/aarch64.c (aarch64_flag_desc): New (aarch64_fusible_pairs): Likewise. (aarch64_tuning_flags): Likewise. (aarch64_tuning_override_function): Likewise. (aarch64_tuning_override_functions): Likewise. (aarch64_parse_one_option_token): Likewise. (aarch64_parse_boolean_options): Likewise. (aarch64_parse_fuse_string): Likewise. (aarch64_parse_tune_string): Likewise. (aarch64_parse_one_override_token): Likewise. (aarch64_parse_override_string): Likewise. (aarch64_override_options): Parse the -override string if it is present. From-SVN: r225018
2015-06-26[AArch64][2/2] Implement -fpic for -mcmodel=smallJiong Wang5-3/+122
2015-06-26 Jiong Wang <jiong.wang@arm.com> gcc/ * config/aarch64/aarch64-protos.h (aarch64_symbol_type): New type SYMBOL_SMALL_GOT_28K. * config/aarch64/aarch64.md: (ldr_got_small_<mode>): Support new GOT relocation modifiers. (unspec): New enum "UNSPEC_GOTMALLPIC28K. (ldr_got_small_28k_<mode>): New. (ldr_got_small_28k_sidi): New. * config/aarch64/iterators.md (got_modifier): New mode iterator. * config/aarch64/aarch64-otps.h (aarch64_code_model): New model. * config/aarch64/aarch64.c (aarch64_load_symref_appropriately): Support SYMBOL_SMALL_GOT_28K. (aarch64_rtx_costs): Add costs for new instruction sequences. (initialize_aarch64_code_model): Initialize new model. (aarch64_classify_symbol): Recognize new model and new symbol classification. (aarch64_asm_preferred_eh_data_format): Support new model. (aarch64_load_symref_appropriately): Generate new instruction sequences for -fpic. (TARGET_USE_PSEUDO_PIC_REG): New definition. (aarch64_use_pseudo_pic_reg): New function. gcc/testsuite/ * gcc.target/aarch64/pic-small.c: New testcase. From-SVN: r225017
2015-06-26[Patch AArch64 3/4] De-const-ify struct tune_paramsJames Greenhalgh3-57/+59
gcc/ * config/aarch64/aarch64-protos.h (tune_params): Remove const from members. (aarch64_tune_params): Remove const, change to no longer be a pointer. * config/aarch64/aarch64.c (aarch64_tune_params): Remove const, change to no longer be a pointer, initialize to generic_tunings. (aarch64_min_divisions_for_recip_mul): Change dereference of aarch64_tune_params to member access. (aarch64_reassociation_width): Likewise. (aarch64_rtx_mult_cost): Likewise. (aarch64_address_cost): Likewise. (aarch64_branch_cost): Likewise. (aarch64_rtx_costs): Likewise. (aarch64_register_move_cost): Likewise. (aarch64_memory_move_cost): Likewise. (aarch64_sched_issue_rate): Likewise. (aarch64_builtin_vectorization_cost): Likewise. (aarch64_override_options): Take a copy of the selected tuning struct in to aarch64_tune_params, rather than just setting a pointer, change dereferences of aarch64_tune_params to member accesses. (aarch64_override_options_after_change): Change dereferences of aarch64_tune_params to member access. (aarch64_macro_fusion_p): Likewise. (aarch_macro_fusion_pair_p): Likewise. * config/aarch64/cortex-a57-fma-steering.c (gate): Likewise. From-SVN: r225016
2015-06-26[Patch AArch64 2/4] Control the FMA steering pass in tuning structures ↵James Greenhalgh7-23/+102
rather than as core property gcc/ * config/aarch64/aarch64.h (AARCH64_FL_USE_FMA_STEERING_PASS): Delete. (aarch64_tune_flags): Likewise. (AARCH64_TUNE_FMA_STEERING): Likewise. * config/aarch64/aarch64-cores.def (cortex-a57): Remove reference to AARCH64_FL_USE_FMA_STEERING_PASS. (cortex-a57.cortex-a53): Likewise. (cortex-a72): Use cortexa72_tunings. (cortex-a72.cortex-a53): Likewise. (exynos-m1): Likewise. * config/aarch64/aarch64-protos.h (tune_params): Add a field: extra_tuning_flags. * config/aarch64/aarch64-tuning-flags.def: New. * config/aarch64/aarch64-protos.h (AARCH64_EXTRA_TUNING_OPTION): New. (aarch64_extra_tuning_flags): Likewise. (aarch64_tune_params): Declare here. * config/aarch64/aarch64.c (generic_tunings): Set extra_tuning_flags. (cortexa53_tunings): Likewise. (cortexa57_tunings): Likewise. (thunderx_tunings): Likewise. (xgene1_tunings): Likewise. (cortexa72_tunings): New. * config/aarch64/cortex-a57-fma-steering.c: Include aarch64-protos.h. (gate): Check against aarch64_tune_params. * config/aarch64/t-aarch64 (cortex-a57-fma-steering.o): Depend on aarch64-protos.h. From-SVN: r225015
2015-06-26[Patch AArch64 1/4] Define candidates for instruction fusion in a .def fileJames Greenhalgh3-7/+58
gcc/ * config/aarch64/aarch64-fusion-pairs.def: New. * config/aarch64/aarch64-protos.h (aarch64_fusion_pairs): New. * config/aarch64/aarch64.c (AARCH64_FUSE_NOTHING): Move to aarch64_fusion_pairs. (AARCH64_FUSE_MOV_MOVK): Likewise. (AARCH64_FUSE_ADRP_ADD): Likewise. (AARCH64_FUSE_MOVK_MOVK): Likewise. (AARCH64_FUSE_ADRP_LDR): Likewise. (AARCH64_FUSE_CMP_BRANCH): Likewise. From-SVN: r225014
2015-06-26[AArch64][1/2] Rename SYMBOL_SMALL_GOT to SYMBOL_SMALL_GOT_4GJiong Wang2-8/+9
2015-06-26 Jiong Wang <jiong.wang@arm.com> * config/aarch64/aarch64-protos.h (aarch64_symbol_type): Rename SYMBOL_SMALL_GOT to SYMBOL_SMALL_GOT_4G. * config/aarch64/aarch64.c (aarch64_load_symref_appropriately): Ditto. (aarch64_expand_mov_immediate): Ditto. (aarch64_print_operand): Ditto. (aarch64_classify_symbol): Ditto. From-SVN: r225013
2015-06-26* config/nvptx/nvptx.md (call_operation): Remove unused variables.Nathan Sidwell1-4/+1
From-SVN: r225009
2015-06-26[Patch ARM] Fix thinko in use of TARGET_UNIFIED_ASMRamana Radhakrishnan1-1/+1
While paving the way to turn on unified syntax in ARM state I came across this use of TARGET_UNIFIED_ASM that really doesn't make sense. The idea that pop has different encoding sizes is a property of the Thumb instruction set rather than a property of which form of unified syntax was used. I still have quite a large patch set for the unified asm switch but it seems useful to get this one out of the way to catch any other issues. Tested with an appropriate set of multilibs on arm-none-eabi / applied. Bootstrapped on armhf. Applied to trunk. 2015-06-26 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com> * config/arm/arm.c (arm_output_multireg_pop): Fix use of TARGET_UNIFIED_ASM. From-SVN: r224997
2015-06-26re PR target/66412 (ICE on valid code at -O2 and -O3 with -g enabled in ↵Uros Bizjak1-26/+42
simplify_subreg, at simplify-rtx.c:5748) PR target/66412 * config/i386/i386.md (various splitters): Use shallow_copy_rtx before doing PUT_MODE or PUT_CODE on operands to avoid in-place RTX modification. testsuite/ChangeLog: PR target/66412 * gcc.target/i386/pr66412.c: New test. Co-Authored-By: Segher Boessenkool <segher@kernel.crashing.org> From-SVN: r224994
2015-06-25re PR target/65979 ([SH] Wrong code is generated with stage1 compiler)Oleg Endo1-4/+26
gcc/ PR target/65979 PR target/66611 * config/sh/sh.md (tstsi_t peephole2): Use insn_invalid_p to check if the replacement insn will work. From-SVN: r224988
2015-06-25function.h (ipa_opt_pass, [...]): Move forward declarations.Andrew MacLeod14-26/+11
2015-06-25 Andrew MacLeod <amacleod@redhat.com> * function.h (ipa_opt_pass, ipa_opt_pass_d): Move forward declarations. * cgraph.h: Include ipa-ref.h and plugin-api.h. (ipa_opt_pass, ipa_opt_pass_d)): Relocate forward declarations here. (symtab_node::address_can_be_compared_p): Move function. * cgraph.c (symtab_node::address_can_be_compared_p): Relocate function definition here. * asan.c: Remove ipa-ref.h and plugin-api.h from include list. * auto-profile.c: Likewise. * bb-reorder.c: Likewise. * builtins.c: Likewise. * calls.c: Likewise. * cfgexpand.c: Likewise. * cgraphbuild.c: Likewise. * cgraphclones.c: Likewise. * cgraphunit.c: Likewise. * combine.c: Likewise. * coverage.c: Likewise. * data-streamer-in.c: Likewise. * data-streamer-out.c: Likewise. * data-streamer.c: Likewise. * dbxout.c: Likewise. * dwarf2out.c: Likewise. * except.c: Likewise. * expr.c: Likewise. * final.c: Likewise. * fold-const.c: Likewise. * ggc-page.c: Likewise. * gimple-fold.c: Likewise. * gimple-iterator.c: Likewise. * gimple-pretty-print.c: Likewise. * gimple-streamer-in.c: Likewise. * gimple-streamer-out.c: Likewise. * gimple.c: Likewise. * gimplify.c: Likewise. * ipa-chkp.c: Likewise. * ipa-comdats.c: Likewise. * ipa-cp.c: Likewise. * ipa-devirt.c: Likewise. * ipa-icf-gimple.c: Likewise. * ipa-icf.c: Likewise. * ipa-inline-analysis.c: Likewise. * ipa-inline-transform.c: Likewise. * ipa-inline.c: Likewise. * ipa-polymorphic-call.c: Likewise. * ipa-profile.c: Likewise. * ipa-prop.c: Likewise. * ipa-pure-const.c: Likewise. * ipa-ref.c: Likewise. * ipa-reference.c: Likewise. * ipa-split.c: Likewise. * ipa-utils.c: Likewise. * ipa-visibility.c: Likewise. * ipa.c: Likewise. * langhooks.c: Likewise. * lto-cgraph.c: Likewise. * lto-compress.c: Likewise. * lto-opts.c: Likewise. * lto-section-in.c: Likewise. * lto-section-out.c: Likewise. * lto-streamer-in.c: Likewise. * lto-streamer-out.c: Likewise. * lto-streamer.c: Likewise. * omp-low.c: Likewise. * opts-global.c: Likewise. * passes.c: Likewise. * predict.c: Likewise. * print-tree.c: Likewise. * profile.c: Likewise. * ree.c: Likewise. * sanopt.c: Likewise. * stor-layout.c: Likewise. * symtab.c: Likewise. * toplev.c: Likewise. * trans-mem.c: Likewise. * tree-cfg.c: Likewise. * tree-chkp.c: Likewise. * tree-eh.c: Likewise. * tree-emutls.c: Likewise. * tree-inline.c: Likewise. * tree-nested.c: Likewise. * tree-parloops.c: Likewise. * tree-pretty-print.c: Likewise. * tree-profile.c: Likewise. * tree-sra.c: Likewise. * tree-ssa-alias.c: Likewise. * tree-ssa-live.c: Likewise. * tree-ssa-loop-ivcanon.c: Likewise. * tree-ssa-loop-ivopts.c: Likewise. * tree-ssa-pre.c: Likewise. * tree-ssa-sccvn.c: Likewise. * tree-ssa-strlen.c: Likewise. * tree-ssa-structalias.c: Likewise. * tree-streamer-in.c: Likewise. * tree-streamer-out.c: Likewise. * tree-streamer.c: Likewise. * tree-switch-conversion.c: Likewise. * tree-tailcall.c: Likewise. * tree-vect-data-refs.c: Likewise. * tree-vect-stmts.c: Likewise. * tree-vectorizer.c: Likewise. * tree.c: Likewise. * tsan.c: Likewise. * ubsan.c: Likewise. * value-prof.c: Likewise. * varasm.c: Likewise. * varpool.c: Likewise. * config/arm/arm.c: Likewise. * config/bfin/bfin.c: Likewise. * config/c6x/c6x.c: Likewise. * config/cris/cris.c: Likewise. * config/darwin-c.c: Likewise. * config/darwin.c: Likewise. * config/i386/i386.c: Likewise. * config/i386/winnt.c: Likewise. * config/microblaze/microblaze.c: Likewise. * config/mips/mips.c: Likewise. * config/rs6000/rs6000.c: Likewise. * config/rx/rx.c: Likewise. * config/s390/s390.c: Likewise. * config/tilegx/mul-tables.c: Likewise. ada 2015-06-25 Andrew MacLeod <amacleod@redhat.com> * gcc-interface/trans.c: Remove ipa-ref.h and plugin-api.h from include list. * gcc-interface/utils.c: Likewise. c 2015-06-25 Andrew MacLeod <amacleod@redhat.com> * c-decl.c: Remove ipa-ref.h and plugin-api.h from include list. * c-parser.c: Likewise. c-family 2015-06-25 Andrew MacLeod <amacleod@redhat.com> * c-common.c: Remove ipa-ref.h and plugin-api.h from include list. * c-gimplify.c: Likewise. * c-pragma.c: Likewise. * c-ubsan.c: Likewise. * cilk.c: Likewise. cp 2015-06-25 Andrew MacLeod <amacleod@redhat.com> * call.c: Remove ipa-ref.h and plugin-api.h from include list. * class.c: Likewise. * cp-ubsan.c: Likewise. * decl.c: Likewise. * decl2.c: Likewise. * lambda.c: Likewise. * mangle.c: Likewise. * method.c: Likewise. * optimize.c: Likewise. * parser.c: Likewise. * semantics.c: Likewise. * tree.c: Likewise. * vtable-class-hierarchy.c: Likewise. fortran 2015-06-25 Andrew MacLeod <amacleod@redhat.com> * f95-lang.c: Remove ipa-ref.h and plugin-api.h from include list. * trans-decl.c: Likewise. go 2015-06-25 Andrew MacLeod <amacleod@redhat.com> * go-gcc.cc: Remove ipa-ref.h and plugin-api.h from include list. java 2015-06-25 Andrew MacLeod <amacleod@redhat.com> * class.c: Remove ipa-ref.h and plugin-api.h from include list. * decl.c: Likewise. * jcf-parse.c: Likewise. * resource.c: Likewise. jit 2015-06-25 Andrew MacLeod <amacleod@redhat.com> * dummy-frontend.c: Remove ipa-ref.h and plugin-api.h from include list. * jit-playback.c: Likewise. lto 2015-06-25 Andrew MacLeod <amacleod@redhat.com> * lto-lang.c: Remove ipa-ref.h and plugin-api.h from include list. * lto-object.c: Likewise. * lto-partition.c: Likewise. * lto-symtab.c: Likewise. * lto-tree.h: Likewise. * lto.c: Likewise. objc 2015-06-25 Andrew MacLeod <amacleod@redhat.com> * objc-act.c: Remove ipa-ref.h and plugin-api.h from include list. From-SVN: r224986
2015-06-25aarch64.c, [...]: Add comment above target-def.h include.Richard Sandiford46-2/+48
gcc/ * config/aarch64/aarch64.c, config/alpha/alpha.c, config/arm/arm.c, config/avr/avr.c, config/bfin/bfin.c, config/c6x/c6x.c, config/cr16/cr16.c, config/cris/cris.c, config/fr30/fr30.c, config/frv/frv.c, config/h8300/h8300.c, config/i386/i386.c, config/ia64/ia64.c, config/iq2000/iq2000.c, config/lm32/lm32.c, config/m32c/m32c.c, config/m32r/m32r.c, config/m68k/m68k.c, config/mcore/mcore.c, config/mep/mep.c, config/microblaze/microblaze.c, config/mips/mips.c, config/mmix/mmix.c, config/mn10300/mn10300.c, config/moxie/moxie.c, config/msp430/msp430.c, config/nds32/nds32.c, config/nios2/nios2.c, config/nvptx/nvptx.c, config/pa/pa.c, config/pdp11/pdp11.c, config/rl78/rl78.c, config/rs6000/rs6000.c, config/rx/rx.c, config/s390/s390.c, config/sh/sh.c, config/sparc/sparc.c, config/spu/spu.c, config/stormy16/stormy16.c, config/tilegx/tilegx.c, config/tilepro/tilepro.c, config/v850/v850.c, config/vax/vax.c, config/visium/visium.c, config/xtensa/xtensa.c: Add comment above target-def.h include. * config/ft32/ft32.c: Likewise. Fix misapplied hunk. From-SVN: r224980
2015-06-25aarch64.c, [...]: Move target-def.h includes to end.Richard Sandiford46-46/+91
gcc/ * config/aarch64/aarch64.c, config/alpha/alpha.c, config/arm/arm.c, config/avr/avr.c, config/bfin/bfin.c, config/c6x/c6x.c, config/cr16/cr16.c, config/cris/cris.c, config/fr30/fr30.c, config/frv/frv.c, config/ft32/ft32.c, config/h8300/h8300.c, config/i386/i386.c, config/ia64/ia64.c, config/iq2000/iq2000.c, config/lm32/lm32.c, config/m32c/m32c.c, config/m32r/m32r.c, config/m68k/m68k.c, config/mcore/mcore.c, config/mep/mep.c, config/microblaze/microblaze.c, config/mips/mips.c, config/mmix/mmix.c, config/mn10300/mn10300.c, config/moxie/moxie.c, config/msp430/msp430.c, config/nds32/nds32.c, config/nios2/nios2.c, config/nvptx/nvptx.c, config/pa/pa.c, config/pdp11/pdp11.c, config/rl78/rl78.c, config/rs6000/rs6000.c, config/rx/rx.c, config/s390/s390.c, config/sh/sh.c, config/sparc/sparc.c, config/spu/spu.c, config/stormy16/stormy16.c, config/tilegx/tilegx.c, config/tilepro/tilepro.c, config/v850/v850.c, config/vax/vax.c, config/visium/visium.c, config/xtensa/xtensa.c: Move target-def.h includes to end. From-SVN: r224978
2015-06-25hash-map-traits.h (simple_hashmap_traits::key_type): New typedef.Richard Sandiford4-28/+11
gcc/ * hash-map-traits.h (simple_hashmap_traits::key_type): New typedef. (unbounded_int_hashmap_traits::key_type): Likewise. * hash-map.h (hash_map): Get the key type from the traits. * hash-traits.h (default_hash_traits): By default, inherit from the template parameter. * alias.c (alias_set_traits): Delete. (alias_set_entry_d::children): Use alias_set_hash as the first template parameter. (record_alias_subset): Update accordingly. * except.c (tree_hash_traits): Delete. (type_to_runtime_map): Use tree_hash as the first template parameter. (init_eh): Update accordingly. * genmatch.c (capture_id_map_hasher): Delete. (cid_map_t): Use nofree_string_hash as first template parameter. * ipa-icf.h (symbol_compare_hashmap_traits): Delete. * ipa-icf.c (sem_item_optimizer::subdivide_classes_by_sensitive_refs): Use symbol_compare_hash as the first template parameter in subdivide_hash_map. * mem-stats.h (mem_usage_pair::mem_alloc_hashmap_traits): Delete. (mem_usage_pair::mem_map_t): Use mem_location_hash as the first template parameter. * passes.c (pass_registry_hasher): Delete. (name_to_pass_map): Use nofree_string_hash as the first template parameter. (register_pass_name): Update accordingly. * sanopt.c (sanopt_tree_map_traits): Delete. (sanopt_tree_triplet_map_traits): Delete. (sanopt_ctx::asan_check_map): Use tree_operand_hash as the first template parameter. (sanopt_ctx::vptr_check_map): Use sanopt_tree_triplet_hash as the first template parameter. * sese.c (rename_map_hasher): Delete. (rename_map_type): Use tree_ssa_name_hash as the first template parameter. * symbol-summary.h (function_summary::summary_hashmap_traits): Delete. (function_summary::m_map): Use map_hash as the first template parameter. (function_summary::release): Update accordingly. * tree-if-conv.c (phi_args_hash_traits): Delete. (predicate_scalar_phi): Use tree_operand_hash as the first template parameter to phi_arg_map. * tree-inline.h (dependence_hasher): Delete. (copy_body_data::dependence_map): Use dependence_hash as the first template parameter. * tree-inline.c (remap_dependence_clique): Update accordingly. * tree-ssa-strlen.c (stridxlist_hash_traits): Delete. (decl_to_stridxlist_htab): Use tree_decl_hash as the first template parameter. (addr_stridxptr): Update accordingly. * value-prof.c (profile_id_traits): Delete. (cgraph_node_map): Use profile_id_hash as the first template parameter. (init_node_map): Update accordingly. * config/alpha/alpha.c (string_traits): Delete. (machine_function::links): Use nofree_string_hash as the first template parameter. (alpha_use_linkage, alpha_write_linkage): Update accordingly. * config/m32c/m32c.c (pragma_traits): Delete. (pragma_htab): Use nofree_string_hash as the first template parameter. (m32c_note_pragma_address): Update accordingly. * config/mep/mep.c (pragma_traits): Delete. (pragma_htab): Use nofree_string_hash as the first template parameter. (mep_note_pragma_flag): Update accordingly. * config/mips/mips.c (mips16_flip_traits): Delete. (mflip_mips16_htab): Use nofree_string_hash as the first template parameter. (mflip_mips16_use_mips16_p): Update accordingly. (local_alias_traits): Delete. (mips16_local_aliases): Use nofree_string_hash as the first template parameter. (mips16_local_alias): Update accordingly. From-SVN: r224977
2015-06-25mips.c (mips16_flip_traits): Use it.Richard Sandiford1-33/+8
gcc/ * config/mips/mips.c (mips16_flip_traits): Use it. (local_alias_traits, mips16_local_aliases): Convert from a map of rtxes to a map of symbol names. (mips16_local_alias): Update accordingly. From-SVN: r224972
2015-06-25hash-traits.h (string_hash, [...]): New classes.Richard Sandiford4-51/+5
gcc/ * hash-traits.h (string_hash, nofree_string_hash): New classes. * genmatch.c (capture_id_map_hasher): Use nofree_string_hash. * passes.c (pass_registry_hasher): Likewise. * config/alpha/alpha.c (string_traits): Likewise. * config/i386/winnt.c (i386_find_on_wrapper_list): Likewise. * config/m32c/m32c.c (pragma_traits): Likewise. * config/mep/mep.c (pragma_traits): Likewise. gcc/java/ * jcf-io.c (memoized_class_lookups): Use nofree_string_hash. (find_class): Likewise. From-SVN: r224971
2015-06-25hash-traits.h (ggc_cache_hasher): Rename to...Richard Sandiford2-3/+3
gcc/ * hash-traits.h (ggc_cache_hasher): Rename to... (ggc_cache_remove): ...this and remove typedefs. (ggc_cache_ptr_hash): New class. * hash-table.h: Update commentary. * emit-rtl.c (const_int_hasher): Inherit from ggc_cache_ptr_hash rather than ggc_cache_hasher. (const_wide_int_hasher, reg_attr_hasher): Likewise. (const_double_hasher, const_fixed_hasher): Likewise. * function.c (insn_cache_hasher): Likewise. * trans-mem.c (tm_wrapper_hasher): Likewise. * tree.h (tree_decl_map_cache_hasher): Likewise. * tree.c (type_cache_hasher, int_cst_hasher): Likewise. (cl_option_hasher, tree_vec_map_cache_hasher): Likewise. * ubsan.c (tree_type_map_cache_hasher): Likewise. * varasm.c (tm_clone_hasher): Likewise. * config/i386/i386.c (dllimport_hasher): Likewise. * config/nvptx/nvptx.c (declared_libfunc_hasher): Likewise. (tree_hasher): Likewise. gcc/ada/ * gcc-interface/decl.c (value_annotation_hasher): Inherit from ggc_cache_ptr_hash rather than ggc_cache_hasher. * gcc-interface/utils.c (pad_type_hasher): Likewise. From-SVN: r224960
2015-06-25hash-traits.h (ggc_hasher): Rename to...Richard Sandiford2-4/+4
gcc/ * hash-traits.h (ggc_hasher): Rename to... (ggc_remover): ...this and remove typedefs. (ggc_cache_hasher): Update accordingly. Add typedefs. (ggc_ptr_hash): New class. * hash-table.h: Update comment. * cfgloop.h (loop_exit_hasher): Inherit from ggc_ptr_hash rather than ggc_hasher. * cgraph.h (section_name_hasher, cgraph_edge_hasher): Likewise. (tree_descriptor_hasher): Likewise. * cgraph.c (function_version_hasher): Likewise. * dwarf2out.c (indirect_string_hasher, dwarf_file_hasher): Likewise. (decl_die_hasher, block_die_hasher, decl_loc_hasher): Likewise. (dw_loc_list_hasher, addr_hasher): Likewise. * function.h (used_type_hasher): Likewise. * function.c (temp_address_hasher): Likewise. * gimple-ssa.h (tm_restart_hasher, ssa_name_hasher): Likewise. * libfuncs.h (libfunc_hasher): Likewise. * lto-streamer.h (decl_state_hasher): Likewise. * optabs.c (libfunc_decl_hasher): Likewise. * tree-scalar-evolution.c (scev_info_hasher): Likewise. * varasm.c (section_hasher, object_block_hasher): Likewise. (const_rtx_desc_hasher): Likewise. * config/darwin.c (indirection_hasher, cfstring_hasher): Likewise. * config/rs6000/rs6000.c (toc_hasher, builtin_hasher): Likewise. gcc/c-family/ * c-common.c (c_type_hasher): Inherit from ggc_ptr_hash rather than ggc_hasher. gcc/cp/ * constexpr.c (constexpr_fundef_hasher): Inherit from ggc_ptr_hash rather than ggc_hasher. (constexpr_call_hasher): Likewise. * cp-tree.h (cxx_int_tree_map_hasher, named_label_hasher): Likewise. * decl.c (typename_hasher): Likewise. * mangle.c (conv_type_hasher): Likewise. * pt.c (spec_hasher): Likewise. * tree.c (cplus_array_hasher, list_hasher): Likewise. * typeck2.c (abstract_type_hasher): Likewise. gcc/fortran/ * trans-decl.c (module_hasher): Likewise. * trans.h (module_decl_hasher): Likewise. gcc/java/ * java-tree.h (treetreehasher): Inherit from ggc_ptr_hash rather than ggc_hasher. (ict_hasher, type_assertion_hasher): Likewise. gcc/objc/ * objc-act.c (objc_string_hasher): Inherit from ggc_ptr_hash rather than ggc_hasher. From-SVN: r224959
2015-06-25hash-traits.h (free_ptr_hash): New class.Richard Sandiford1-2/+1
gcc/ * hash-traits.h (free_ptr_hash): New class. * dwarf2out.c (decl_table_entry_hasher): Inherit from free_ptr_hash rather than typed_free_remove. Remove redudant typedefs. (external_ref_hasher): Likewise. * except.c (action_record_hasher, ttypes_filter_hasher): Likewise. (ehspec_hasher): Likewise. * ggc-common.c (saving_hasher): Likewise. * gimplify.c (gimplify_hasher): Likewise. * haifa-sched.c (delay_i2_hasher): Likewise. * loop-invariant.c (invariant_expr_hasher): Likewise. * loop-iv.c (biv_entry_hasher): Likewise. * loop-unroll.c (iv_split_hasher, var_expand_hasher): Likewise. * trans-mem.c (tm_mem_map_hasher, tm_memop_hasher): Likewise. * tree-cfg.c (locus_discrim_hasher): Likewise. * tree-eh.c (finally_tree_hasher): Likewise. * tree-into-ssa.c (var_info_hasher): Likewise. * tree-parloops.c (reduction_hasher, name_to_copy_hasher): Likewise. * tree-ssa-loop-ivopts.c (iv_inv_expr_hasher): Likewise. * tree-ssa-phiopt.c (ssa_names_hasher): Likewise. * tree-ssa-pre.c (expr_pred_trans_d): Likewise. * tree-ssa-sccvn.c (vn_constant_hasher): Likewise. * tree-ssa-structalias.c (equiv_class_hasher): Likewise. (shared_bitmap_hasher): Likewise. * tree-ssa-threadupdate.c (redirection_data): Likewise. * tree-vectorizer.h (peel_info_hasher): Likewise. * tree-vectorizer.c (simduid_to_vf, simd_array_to_simduid): Likewise. * config/mips/mips.c (mips_lo_sum_offset_hasher): Likewise. libcc1/ * plugin.cc (decl_addr_hasher): Inherit from free_ptr_hash rather than typed_free_remove. Remove redudant typedefs. From-SVN: r224958
2015-06-25hash-table.h: Update comments.Richard Sandiford4-12/+4
gcc/ * hash-table.h: Update comments. * hash-traits.h (pointer_hash): Don't inherit from typed_noop_remove. (nofree_ptr_hash): New class. * asan.c (asan_mem_ref_hasher): Inherit from nofree_ptr_hash rather than typed_noop_remove. Remove redudant typedefs. * attribs.c (attribute_hasher): Likewise. * cfg.c (bb_copy_hasher): Likewise. * cselib.c (cselib_hasher): Likewise. * dse.c (invariant_group_base_hasher): Likewise. * dwarf2cfi.c (trace_info_hasher): Likewise. * dwarf2out.c (macinfo_entry_hasher): Likewise. (comdat_type_hasher, loc_list_hasher): Likewise. * gcse.c (pre_ldst_expr_hasher): Likewise. * genmatch.c (id_base): Likewise. * genrecog.c (test_pattern_hasher): Likewise. * gimple-ssa-strength-reduction.c (cand_chain_hasher): Likewise. * haifa-sched.c (delay_i1_hasher): Likewise. * hard-reg-set.h (simplifiable_subregs_hasher): Likewise. * ipa-icf.h (congruence_class_group_hash): Likewise. * ipa-profile.c (histogram_hash): Likewise. * ira-color.c (allocno_hard_regs_hasher): Likewise. * lto-streamer.h (string_slot_hasher): Likewise. * lto-streamer.c (tree_entry_hasher): Likewise. * plugin.c (event_hasher): Likewise. * postreload-gcse.c (expr_hasher): Likewise. * store-motion.c (st_expr_hasher): Likewise. * tree-sra.c (uid_decl_hasher): Likewise. * tree-ssa-coalesce.c (coalesce_pair_hasher): Likewise. (ssa_name_var_hash): Likewise. * tree-ssa-live.c (tree_int_map_hasher): Likewise. * tree-ssa-loop-im.c (mem_ref_hasher): Likewise. * tree-ssa-pre.c (pre_expr_d): Likewise. * tree-ssa-sccvn.c (vn_nary_op_hasher): Likewise. * vtable-verify.h (registration_hasher): Likewise. * vtable-verify.c (vtbl_map_hasher): Likewise. * config/arm/arm.c (libcall_hasher): Likewise. * config/i386/winnt.c (wrapped_symbol_hasher): Likewise. * config/ia64/ia64.c (bundle_state_hasher): Likewise. * config/sol2.c (comdat_entry_hasher): Likewise. * fold-const.c (fold): Use nofree_ptr_hash instead of pointer_hash. (print_fold_checksum, fold_checksum_tree): Likewise. (debug_fold_checksum, fold_build1_stat_loc): Likewise. (fold_build2_stat_loc, fold_build3_stat_loc): Likewise. (fold_build_call_array_loc): Likewise. * tree-ssa-ccp.c (gimple_htab): Likewise. * tree-browser.c (tree_upper_hasher): Inherit from nofree_ptr_hash rather than pointer_type. gcc/c/ * c-decl.c (detect_field_duplicates_hash): Use nofree_ptr_hash instead of pointer_hash. (detect_field_duplicates): Likewise. gcc/cp/ * class.c (fixed_type_or_null_ref_ht): Inherit from nofree_ptr_hash rather than pointer_hash. (fixed_type_or_null): Use nofree_ptr_hash instead of pointer_hash. * semantics.c (nrv_data): Likewise. * tree.c (verify_stmt_tree_r, verify_stmt_tree): Likewise. gcc/java/ * jcf-io.c (charstar_hash): Inherit from nofree_ptr_hash rather than typed_noop_remove. Remove redudant typedefs. gcc/lto/ * lto.c (tree_scc_hasher): Inherit from nofree_ptr_hash rather than typed_noop_remove. Remove redudant typedefs. gcc/objc/ * objc-act.c (decl_name_hash): Inherit from nofree_ptr_hash rather than typed_noop_remove. Remove redudant typedefs. libcc1/ * plugin.cc (string_hasher): Inherit from nofree_ptr_hash rather than typed_noop_remove. Remove redudant typedefs. (plugin_context): Use nofree_ptr_hash rather than pointer_hash. (plugin_context::mark): Likewise. From-SVN: r224957
2015-06-25decl.c (value_annotation_hasher::handle_cache_entry): Delete.Richard Sandiford1-9/+3
gcc/ada/ * gcc-interface/decl.c (value_annotation_hasher::handle_cache_entry): Delete. (value_annotation_hasher::keep_cache_entry): New function. * gcc-interface/utils.c (pad_type_hasher::handle_cache_entry): Delete. (pad_type_hasher::keep_cache_entry): New function. gcc/ * hash-table.h (hash_table): Add gt_cleare_cache as a friend. (gt_cleare_cache): Check here for deleted and empty entries. Replace handle_cache_entry with a call to keep_cache_entry. * hash-traits.h (ggc_cache_hasher::handle_cache_entry): Delete. (ggc_cache_hasher::keep_cache_entry): New function. * trans-mem.c (tm_wrapper_hasher::handle_cache_entry): Delete. (tm_wrapper_hasher::keep_cache_entry): New function. * tree.h (tree_decl_map_cache_hasher::handle_cache_entry): Delete. (tree_vec_map_cache_hasher::keep_cache_entry): New function. * tree.c (type_cache_hasher::handle_cache_entry): Delete. (type_cache_hasher::keep_cache_entry): New function. (tree_vec_map_cache_hasher::handle_cache_entry): Delete. (tree_vec_map_cache_hasher::keep_cache_entry): New function. * ubsan.c (tree_type_map_cache_hasher::handle_cache_entry): Delete. (tree_type_map_cache_hasher::keep_cache_entry): New function. * varasm.c (tm_clone_hasher::handle_cache_entry): Delete. (tm_clone_hasher::keep_cache_entry): New function. * config/i386/i386.c (dllimport_hasher::handle_cache_entry): Delete. (dllimport_hasher::keep_cache_entry): New function. From-SVN: r224954
2015-06-25bfin.c (bfin_expand_prologue): Set current_function_static_stack_size if ↵Nick Clifton7-3/+24
flag_stack_usage_info is set. * config/bfin/bfin.c (bfin_expand_prologue): Set current_function_static_stack_size if flag_stack_usage_info is set. * config/ft32/ft32.c (ft32_expand_prologue): Likewise. * config/h8300/h8300.c (h8300_expand_prologue): Likewise. * config/iq2000/iq2000.c (iq2000_expand_prologue): Likewise. * config/m32c/m32c.c (m32c_emit_prologue): Likewise. test * gcc.dg/stack-usage-1.c: Add SIZE values for V850, MN10300, H8300 and M32R targets. From-SVN: r224937
2015-06-25re PR target/29693 (ICE while compiling gcc-3.4.3 with gcc-4.1.1)Ramana Radhakrishnan1-1/+1
Fix PR target/29693 2015-06-25 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com> PR target/29693 * config/arm/arm.c (arm_dbx_register_number): Return DWARF_FRAME_REGISTERS by default. From-SVN: r224932
2015-06-24re PR target/66563 (ICE (segmentation fault) on sh4-linux-gnu)Kaz Kojima2-15/+22
PR target/66563 * [SH] Add a new operand to GOTaddr2picreg so to avoid CSE. Modify caller of gen_GOTaddr2picreg. From-SVN: r224925
2015-06-24[AArch64] Fix another ICE with -mgeneral-regs-onlyAlan Lawrence1-1/+1
gcc/: * config/aarch64/aarch64.md (<optab><fcvt_target><GPF:mode>2): Condition on TARGET_FLOAT. gcc/testsuite/: * gcc.target/aarch64/mgeneral-regs_3.c: New. From-SVN: r224910
2015-06-24[AArch64] Fix ICES with -mgeneral-regs-only / -march=...+nofpAlan Lawrence3-18/+38
gcc/ChangeLog: * config/aarch64/aarch64-protos.h (aarch64_err_no_fpadvsimd): New. * config/aarch64/aarch64.md (mov<mode>/GPF, movtf): Use aarch64_err_no_fpadvsimd. * config/aarch64/aarch64.c (aarch64_err_no_fpadvsimd): New. (aarch64_layout_arg, aarch64_init_cumulative_args): Use aarch64_err_no_fpadvsimd if !TARGET_FLOAT and we need FP regs. (aarch64_expand_builtin_va_start, aarch64_setup_incoming_varargs): Turn error into assert, test TARGET_FLOAT. (aarch64_gimplify_va_arg_expr): Use aarch64_err_no_fpadvsimd, test TARGET_FLOAT. gcc/testsuite/ChangeLog: * gcc.target/aarch64/mgeneral-regs_1.c: New file. * gcc.target/aarch64/mgeneral-regs_2.c: New file. * gcc.target/aarch64/nofp_1.c: New file. From-SVN: r224908
2015-06-24[PATCH][AARCH64]Add ACLE predefined marcos: __ARM_ALIGN_MAX_PWR andRenlin Li1-0/+4
__ARM_ALIGN_MAX_STACK_PWR gcc/ 2015-06-24 Renlin Li <renlin.li@arm.com> * config/aarch64/aarch64.h(TARGET_CPU_CPP_BUILTINS): Add __ARM_ALIGN_MAX_PWR, __ARM_ALIGN_MAX_STACK_PWR. gcc/testsuite/ 2015-06-24 Renlin Li <renlin.li@arm.com> * gcc.target/aarch64/arm_align_max_pwr.c: New. * gcc.target/aarch64/arm_align_max_stack_pwr.c: New. From-SVN: r224898
2015-06-24re PR target/63408 (GCC emits incorrect fixed->fp conversion instruction on ↵Ramana Radhakrishnan1-1/+2
Cortex-M4 target) Fix PR target/63408 The attached patch fixes PR target/63408 and adds a regression test for the same. The problem is essentially that vfp3_const_double_for_fract_bits() needs to be aware that negative values cannot be used in this context. Tested with a bootstrap and regression test run on armhf. Applied. 2015-06-24 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com> PR target/63408 * config/arm/arm.c (vfp3_const_double_for_fract_bits): Disable for negative numbers. 2015-06-24 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com> PR target/63408 * gcc.target/arm/pr63408.c: New test. From-SVN: r224879
2015-06-24S/390: Switch mode attribute to bhfgq for vec scatterAndreas Krebbel1-2/+2
gcc/ChangeLog: 2015-06-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com> * config/s390/vx-builtins.md ("vec_scatter_element<mode>_<non_vec_int>") ("vec_scatter_element<V_HW_64:mode>_SI"): Replace gf mode attribute with bhfgq. From-SVN: r224874
2015-06-24S/390: Add proper comments to vpopct builtins for automated testsuite ↵Andreas Krebbel1-13/+13
generation. gcc/ChangeLog: 2015-06-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com> * config/s390/s390-builtins.def: Fix vpopct instruction comments. From-SVN: r224873
2015-06-24S/390: Make builtin creation conditional.Andreas Krebbel5-955/+1005
gcc/ChangeLog: 2015-06-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com> * config/s390/s390-builtin-types.def: Add flag to indicate the options under which the function type is needed. * config/s390/s390-builtins.def: Add flag to indicate the options under which the builtin is enabled. * config/s390/s390-builtins.h: Add flags parameter to macro definitions. (bflags_for_builtin): New function. (flags_for_builtin): Renamed to ... (opflags_for_builtin): ... this. * config/s390/s390-c.c (s390_resolve_overloaded_builtin): Rename flags_for_builtin to bflags_for_builtin and flags_overloaded_builtin_var to opflags_overloaded_builtin_var. * config/s390/s390.c: Add initialization of bflags_builtin and opflags_builtin arrays. Remove code for flags_builtin. (s390_init_builtins): Only create builtin function types if one of their flags is active. Only create builtins if all of their flags are active. (s390_expand_builtin): Rename flags_for_builtin to opflags_for_builtin. From-SVN: r224872
2015-06-24S/390: Remove internal builtins from vecintrin.h.Andreas Krebbel1-35/+0
gcc/ChangeLog: 2015-06-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com> * config/s390/vecintrin.h: Remove internal builtins. From-SVN: r224871
2015-06-24S/390: Fix s390_secondary_reload register class check.Andreas Krebbel1-1/+1
gcc/ChangeLog: 2015-06-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com> * config/s390/s390.c (s390_secondary_reload): Fix check for GENERAL_REGS register class. From-SVN: r224870
2015-06-24S/390: Disable effect of support_vector_misalignmentAndreas Krebbel1-1/+5
gcc/ChangeLog: 2015-06-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com> * config/s390/s390.c (s390_support_vector_misalignment): Call default implementation for !TARGET_VX. From-SVN: r224869
2015-06-24S/390: Limit legitimate_constant_p changes to TARGET_VX.Andreas Krebbel1-1/+1
gcc/ChangeLog: 2015-06-23 Andreas Krebbel <krebbel@linux.vnet.ibm.com> * config/s390/s390.c (s390_legitimate_constant_p): Add TARGET_VX check. From-SVN: r224868
2015-06-24S/390 Vector ABI GNU Attribute.Andreas Krebbel1-0/+121
gcc/ * config/s390/s390.c (s390_vector_abi): New variable definition. (s390_check_type_for_vector_abi): New function. (TARGET_ASM_FILE_END): New macro definition. (s390_asm_file_end): New function. (s390_function_arg): Call s390_check_type_for_vector_abi. (s390_gimplify_va_arg): Likewise. * configure: Regenerate. * configure.ac: Check for .gnu_attribute Binutils feature. gcc/testsuite/ * gcc.target/s390/vector/vec-abi-1.c: Add gnu attribute check. * gcc.target/s390/vector/vec-abi-attr-1.c: New test. * gcc.target/s390/vector/vec-abi-attr-2.c: New test. * gcc.target/s390/vector/vec-abi-attr-3.c: New test. * gcc.target/s390/vector/vec-abi-attr-4.c: New test. * gcc.target/s390/vector/vec-abi-attr-5.c: New test. * gcc.target/s390/vector/vec-abi-attr-6.c: New test. From-SVN: r224867