aboutsummaryrefslogtreecommitdiff
path: root/gcc
AgeCommit message (Collapse)AuthorFilesLines
2015-07-06graphite-blocking.c (HAVE_isl): Include <stddef.h>.Jim Wilson10-0/+35
gcc/ * graphite-blocking.c (HAVE_isl): Include <stddef.h>. * graphite-dependencies.c, graphite-interchange.c, graphite-isl-ast-to-gimple.c, graphite-optimize-isl.c, graphite-poly.c, graphite-scop-detection.c, graphite-sese-to-poly.c, graphite.c: Likewise. From-SVN: r225478
2015-07-06match.pd: Remove element_mode inside HONOR_*.Marc Glisse4-19/+41
2015-07-06 Marc Glisse <marc.glisse@inria.fr> * match.pd: Remove element_mode inside HONOR_*. (~ (-A) -> A - 1, ~ (A - 1) -> -A): Handle complex types. (~X | X -> -1, ~X ^ X -> -1): Merge. * tree.c (build_each_one_cst): New function. * tree.h (build_each_one_cst): Likewise. From-SVN: r225473
2015-07-06Handle PROCESSOR_IAMCU in ix86_target_macros_internalH.J. Lu1-0/+5
Define __i586__/__pentium__ for -march=iamcu and __tune_iamcu__ for -mtune=iamcu. * config/i386/i386-c.c (ix86_target_macros_internal): Handle PROCESSOR_IAMCU. From-SVN: r225471
2015-07-06config.gcc: Add fused-madd.opt.Steve Ellcey6-130/+234
2015-07-06 Steve Ellcey <sellcey@imgtec.com> * config.gcc <mips*-*-*>: Add fused-madd.opt. * config/mips/mips.opt (mfused-madd): Remove. * config/mips/mips.c (mips_rtx_costs): Update cost calculations. * config/mips/mips.h (TARGET_MIPS8000): New. (ISA_HAS_FP_MADD4_MSUB4): Remove. (ISA_HAS_FP_MADDF_MSUBF): Remove. (ISA_HAS_FP_MADD3_MSUB3): Remove. (ISA_HAS_NMADD4_NMSUB4): Remove. (ISA_HAS_NMADD3_NMSUB3): Remove. (ISA_HAS_FUSED_MADD4): New. (ISA_HAS_UNFUSED_MADD4): New. (ISA_HAS_FUSED_MADDF): New. (ISA_HAS_FUSED_MADD3): New. * config/mips/mips.md: (fma<mode>4) Change from insn to expand. (*fma<mode>4_madd3) New. (*fma<mode>4_madd4) New. (*fma<mode>4_maddf) New. (fms<mode>4) New. (*fms<mode>4_msub3) New. (*fms<mode>4_msub4) New. (fnma<mode>4) New. (*fnma<mode>4_nmadd3) New. (*fnma<mode>4_nmadd4) New. (fnms<mode>4) New. (*fnms<mode>4_nmsub3) New. (*fnms<mode>4_nmsub4) New. (*madd4<mode>) Modify to be unfused only. (*msub4<mode>) Modify to be unfused only. (*nmadd4<mode>) Modify to be unfused only. (*nmsub4<mode>) Modify to be unfused only. (*madd3<mode>) Remove. (*msub3<mode>) Remove. (*nmadd3<mode>) Remove. (*nmsub3<mode>) Remove. (*nmadd3<mode>_fastmath) Remove. (*nmsub3<mode>_fastmath) Remove. (*nmadd4<mode>_fastmath) Update condition. (*nmsub4<mode>_fastmath) Update condition. From-SVN: r225468
2015-07-06Fix eipa_src AAPCS issue (PR target/65956)Jakub Jelinek2-0/+72
2015-05-05 Jakub Jelinek <jakub@redhat.com> PR target/65956 * gcc.c-torture/execute/pr65956.c: New test. From-SVN: r225466
2015-07-06[ARM] PR/65956 AAPCS update for alignment attributeAlan Lawrence13-2/+385
gcc/: PR target/65956 * config/arm/arm.c (arm_needs_doubleword_align): Drop any outer alignment attribute, exploring one level down for records and arrays. gcc/testsuite/: * gcc.target/arm/aapcs/align1.c: New. * gcc.target/arm/aapcs/align_rec1.c: New. * gcc.target/arm/aapcs/align2.c: New. * gcc.target/arm/aapcs/align_rec2.c: New. * gcc.target/arm/aapcs/align3.c: New. * gcc.target/arm/aapcs/align_rec3.c: New. * gcc.target/arm/aapcs/align4.c: New. * gcc.target/arm/aapcs/align_rec4.c: New. * gcc.target/arm/aapcs/align_vararg1.c: New. * gcc.target/arm/aapcs/align_vararg2.c: New. From-SVN: r225465
2015-07-06Optimize i?86-*-elfiamcu for iamcu by defaultH.J. Lu2-1/+10
Default -mtune=/-march= to iamcu for i[34567]86-*-elfiamcu targets. * config.gcc (x86_archs): Add iamcu. (with_cpu): Default to iamcu for i[34567]86-*-elfiamcu. (with_arch): Likewise. * doc/invoke.texi: Add iamcu. From-SVN: r225464
2015-07-06i386.md (extv<mode>): Rename from extv.Uros Bizjak2-141/+89
* config/i386/i386.md (extv<mode>): Rename from extv. Use SWI24 modes for operands 0 and 1. Use SImode for operands 2 and 3. Copy operand 1 to a temporary if !ext_register_operand. Remove ancient extract_bit_field workaround. (*extv<mode>): Rename from *mov<mode>_extv_1. (*extvqi): Rename from *movqi_extv_q. (extzv<mode>): Rename from extzv. Use SWI248 modes for operands 0 and 1. Use SImode for operands 2 and 3. Copy operand 1 to a temporary if !ext_register_operand. Remove ancient extract_bit_field workaround. (*extzv<mode>): Rename from *mov<mode>_extzv_1. (*extzvqi): Rename from *movqi_extzv_1. (*testqi_ext_3): Remove modes from const_int_operand predicated operands. Add "n" constraint. (*btsq, *btrq, *btcq): Remove mode from const_0_to_63 predicated operand. Add "J" constraint. (*btsq, *btrq, *btcq peephole2s): Remove mode from const_0_to_63 predicated operand. (regmode): New insn attribute. (*bt<mode>): Use SImode for operand 1. Change operand 1 predicate to nonmemory_operand. Use regmode insn attribute. (*jcc_bt<mode>_1): Convert operand 2 to SImode. (*jcc_bt<mode>_mask): Remove mode from operand 3. (*jcc_btsi_1, *jcc_btsi_mask_1): Remove patterns. (tbm_bextri_<mode>): Remove modes from const_0_to_255 predicated operands. Use "N" constraint instead of "n". From-SVN: r225463
2015-07-06io.c (check_char_variable): New function.Steven G. Kargl4-7/+88
2015-07-06 Steven G. Kargl <kargl@gcc.gnu.org> * io.c (check_char_variable): New function. (match_open_element, match_close_element, match_file_element, match_dt_element, match_inquire_element, match_wait_element): Use it. 2015-07-06 Steven G. Kargl <kargl@gcc.gnu.org> * gfortran.dg/iomsg_2.f90: New test. From-SVN: r225462
2015-07-06[ARM] fix movdi expander to avoid illegal ldrd/strdAlan Lawrence2-0/+40
* config/arm/arm.md (movdi): Avoid odd-number ldrd/strd in ARM state. From-SVN: r225461
2015-07-06Add -march=iamcu to optimize for IA MCUH.J. Lu4-16/+111
IA MCU is based on Intel Pentium ISA without x87 and passing parameters in registers. We want to optimize for IA MCU without changing existing Pentium codegen. This patch adds PROCESSOR_IAMCU for -march=iamcu, which is based on -march=pentium with updated cost tables. gcc/ PR target/66749 * config/i386/i386.c (iamcu_cost): New. (m_IAMCU): Likewise. (initial_ix86_arch_features): Disable X86_ARCH_CMOV for m_IAMCU. (processor_target_table): Add an entry for "iamcu". (processor_alias_table): Likewise. (ix86_issue_rate): Handle PROCESSOR_IAMCU. (ix86_adjust_cost): Likewise. (ia32_multipass_dfa_lookahead): Likewise. * config/i386/i386.h (processor_type): Add PROCESSOR_IAMCU. * config/i386/x86-tune.def: Updated for m_IAMCU. gcc/testsuite/ PR target/66749 * gcc.target/i386/pr66749.c: New test. From-SVN: r225460
2015-07-06re PR tree-optimization/66772 (ICE at -O2 and -O3 on x86_64-linux-gnu)Richard Biener5-0/+104
2015-07-06 Richard Biener <rguenther@suse.de> PR tree-optimization/66772 * tree-ssa-ccp.c (ccp_visit_phi_node): Make sure that copy values are available in the PHI node BB when there are still unexecutable edges. * gcc.dg/torture/pr66772-1.c: New testcase. * gcc.dg/torture/pr66772-2.c: Likewise. From-SVN: r225459
2015-07-06MIPS: For micromips allow the near-far-3.c test to use the jals instruction ↵Andrew Bennett2-1/+6
to call near_func. testsuite/ * gcc.target/mips/near-far-3.c: Allow the call to near_func to use the jals instruction. From-SVN: r225457
2015-07-06re PR tree-optimization/66767 (FAIL: gcc.dg/vect/vect-align-1.c execution test)Richard Biener2-1/+9
2015-07-06 Richard Biener <rguenther@suse.de> PR tree-optimization/66767 * tree-vect-loop-manip.c (vect_create_cond_for_align_checks): Make sure to build the alignment test on a SSA name without final alignment info valid only if the alignment test evaluates to true. From-SVN: r225454
2015-07-06Fix assert caused by bad cfg manipulation in bfin.Bernd Schmidt2-1/+18
PR target/66620 * config/bfin/bfin.c (hwloop_optimize): Create new bb between jump and loop start when inserting LSETUP. From-SVN: r225453
2015-07-06Allow -mincoming-stack-boundary=3 with -mno-sseH.J. Lu6-4/+42
Similar to -mpreferred-stack-boundary=3, -mincoming-stack-boundary=3 is allowed with -mno-sse in 64-bit mode. gcc/ PR target/53383 * config/i386/i386.c (ix86_option_override_internal): Allow -mincoming-stack-boundary=3 for 64-bit if SSE is disabled. gcc/testsuite/ PR target/53383 * gcc.target/i386/pr53383-1.c: New file. * gcc.target/i386/pr53383-2.c: Likewise. * gcc.target/i386/pr53383-3.c: Likewise. From-SVN: r225452
2015-07-06Rename read-md.c:decimal_stringRainer Orth2-2/+8
* read-md.c (decimal_string): Rename to ... (md_decimal_string): ... this. (handle_enum): Reflect this. From-SVN: r225451
2015-07-06[AArch64] PR target/66731 Fix fnmul insn with -frounding-mathSzabolcs Nagy7-0/+88
gcc/Changelog: 2015-07-03 Szabolcs Nagy <szabolcs.nagy@arm.com> PR target/66731 * config/aarch64/aarch64.md (fnmul<mode>3): Handle -frounding-math. gcc/testsuite/Changelog: 2015-07-03 Szabolcs Nagy <szabolcs.nagy@arm.com> * gcc.target/aarch64/fnmul-1.c: New. * gcc.target/aarch64/fnmul-2.c: New. * gcc.target/aarch64/fnmul-3.c: New. * gcc.target/aarch64/fnmul-4.c: New. From-SVN: r225450
2015-07-06re PR tree-optimization/66759 (ICE in generic-match.c on 456.hmmer)Richard Biener4-1/+23
2015-07-06 Richard Biener <rguenther@suse.de> PR middle-end/66759 * match.pd: Add missing constraint of y to REAL_CST in REAL_CST - x CMP y to y - CST CMP x simplification. * gcc.dg/torture/pr66759.c: New testcase. From-SVN: r225449
2015-07-06Added missing Changelog entry for testsuite.Andre Vehreschild1-0/+6
From-SVN: r225448
2015-07-06re PR fortran/58586 (ICE with derived type with allocatable component passed ↵Andre Vehreschild7-14/+249
by value) gcc/testsuite/ChangeLog: 2015-07-06 Andre Vehreschild <vehre@gmx.de> PR fortran/58586 * gfortran.dg/alloc_comp_class_3.f03: New test. * gfortran.dg/alloc_comp_class_4.f03: New test. gcc/fortran/ChangeLog: 2015-07-06 Andre Vehreschild <vehre@gmx.de> PR fortran/58586 * resolve.c (resolve_symbol): Non-private functions in modules with allocatable or pointer components are marked referenced now. Furthermore is the default init especially for those components now done in gfc_conf_procedure_call preventing duplicate code. * trans-decl.c (gfc_generate_function_code): Generate a fake result decl for functions returning an object with allocatable components and initialize them. * trans-expr.c (gfc_conv_procedure_call): For value typed trees use the tree without indirect ref. And for non-decl trees add a temporary variable to prevent evaluating the tree multiple times (prevent multiple function evaluations). * trans.h: Made gfc_trans_structure_assign () protoype available, which is now needed by trans-decl.c:gfc_generate_ function_code(), too. From-SVN: r225447
2015-07-06re PR tree-optimization/66757 (wrong code at -O1 and above on x86_64-linux-gnu)Eric Botcazou4-3/+27
PR tree-optimization/66757 * match.pd: Add missing condition to ~X ^ C -> X ^ ~C. From-SVN: r225446
2015-07-06re PR testsuite/66720 (gcc.dg/vect/pr48052.c FAILs)Bin Cheng2-3/+9
PR tree-optimization/66720 * gcc.dg/vect/pr48052.c: Use dg-require-effective-target vect_int_mult. From-SVN: r225443
2015-07-06Daily bump.GCC Administrator1-1/+1
From-SVN: r225440
2015-07-05nios2-protos.h (nios2_symbol_ref_in_small_data_p): Delete extern declaration.Chung-Lin Tang6-8/+45
2015-07-05 Chung-Lin Tang <cltang@codesourcery.com> Sandra Loosemore <sandra@codesourcery.com> gcc/ * config/nios2/nios2-protos.h (nios2_symbol_ref_in_small_data_p): Delete extern declaration. (gprel_constant_p): Add extern declaration. * config/nios2/constraints.md ("S"): Use gprel_constant_p instead of nios2_symbol_ref_in_small_data_p. * config/nios2/nios2.c (nios2_legitimate_address_p): Likewise. (nios2_symbol_ref_in_small_data_p): Make static. (gprel_constant_p): Make non-static. gcc/testsuite/ * gcc.target/nios2/gprel-offset.c: New test. Co-Authored-By: Sandra Loosemore <sandra@codesourcery.com> From-SVN: r225437
2015-07-05fragments.texi (Target Fragment): Convert debian.org link to use https.Gerald Pfeifer3-2/+8
* doc/fragments.texi (Target Fragment): Convert debian.org link to use https. * doc/install.texi (Configuration): Ditto. From-SVN: r225435
2015-07-05re PR tree-optimization/66718 (Non-invariant ADDR_EXPR not vectorized)Jakub Jelinek2-0/+28
PR tree-optimization/66718 * tree-vect-stmts.c (vectorizable_call): Replace uses of GOMP_SIMD_LANE outside of loop with vf - 1 rather than 0. From-SVN: r225434
2015-07-05re PR tree-optimization/66718 (Non-invariant ADDR_EXPR not vectorized)Jakub Jelinek2-77/+90
PR tree-optimization/66718 * tree-vect-stmts.c (vectorizable_assignment, vectorizable_store, vectorizable_load, vectorizable_condition): Move vectype, nunits, ncopies computation after checking what kind of statement stmt is. From-SVN: r225433
2015-07-05target-insns.def (extv, [...]): New targetm instruction patterns.Richard Sandiford4-31/+21
gcc/ * target-insns.def (extv, extzv, insv): New targetm instruction patterns. * optabs.c (get_extraction_insn): Use them instead of HAVE_*/gen_* interface. * recog.c (simplify_while_replacing): Likewise. From-SVN: r225432
2015-07-05target-insns.def (doloop_begin, doloop_end): New targetm instruction patterns.Richard Sandiford6-58/+40
gcc/ * target-insns.def (doloop_begin, doloop_end): New targetm instruction patterns. * loop-init.c: Include target.h. (pass_loop2::gate): Use the new targetm patterns instead of HAVE_*/gen_* interface. (pass_rtl_doloop::gate): Likewise. (pass_rtl_doloop::execute): Remove preprocessor condition. * hw-doloop.c: Build unconditionally. * loop-doloop.c: Likewise. (doloop_optimize): Use the new targetm patterns instead of HAVE_*/gen_* interface. (doloop_modify): Likewise. Change type of doloop_seq to rtx_insn *. * modulo-sched.c (doloop_register_get): Likewise. From-SVN: r225431
2015-07-05target-insns.def (clear_cache): New targetm instruction pattern.Richard Sandiford3-13/+21
gcc/ * target-insns.def (clear_cache): New targetm instruction pattern. * builtins.c (expand_builtin___clear_cache): Use it instead of HAVE_*/gen_* interface. From-SVN: r225430
2015-07-05gcc/Richard Sandiford4-27/+29
* target-insns.def (allocate_stack, check_stack, probe_stack) (probe_stack_address, split_stack_prologue, split_stack_space_check): New targetm instruction patterns. * explow.c (allocate_dynamic_stack_space): Use them instead of HAVE_*/gen_* interface. (emit_stack_probe): Likewise. (probe_stack_range): Likewise. * function.c (thread_prologue_and_epilogue_insns): Likewise. From-SVN: r225429
2015-07-05target-insns.def (stack_protect_set, [...]): New targetm instruction patterns.Richard Sandiford4-23/+19
gcc/ * target-insns.def (stack_protect_set, stack_protect_test): New targetm instruction patterns. * cfgexpand.c (stack_protect_prologue): Use them instead of HAVE_*/gen_* interface. * function.c (stack_protect_epilogue): Likewise. From-SVN: r225428
2015-07-05expr.h (gen_move_insn_uncast): Delete.Richard Sandiford3-10/+5
gcc/ * expr.h (gen_move_insn_uncast): Delete. * expr.c (gen_move_insn_uncast): Delete. From-SVN: r225427
2015-07-05gcc/Richard Sandiford4-32/+31
* target-insns.def (restore_stack_block, restore_stack_function) (restore_stack_nonlocal, save_stack_block, save_stack_function) (save_stack_nonlocal): New targetm instruction patterns. * builtins.c (expand_builtin_apply): Use them instead of HAVE_*/gen_* interface. * explow.c (emit_stack_save, emit_stack_restore): Likewise. From-SVN: r225426
2015-07-05target-insns.def (trap): New targetm instruction pattern.Richard Sandiford5-12/+14
gcc/ * target-insns.def (trap): New targetm instruction pattern. * builtins.c (expand_builtin_trap): Use it instead of HAVE_*/gen_* interface. * explow.c (allocate_dynamic_stack_space): Likewise. * ifcvt.c (find_if_header): Likewise. From-SVN: r225425
2015-07-05target-insns.def (prefetch): New targetm instruction pattern.Richard Sandiford5-15/+17
gcc/ * target-insns.def (prefetch): New targetm instruction pattern. * tree-ssa-loop-prefetch.c: Include targeth. (tree_ssa_prefetch_arrays): Use prefetch targetm pattern instead of HAVE_*/gen_* interface. * builtins.c (expand_builtin_prefetch): Likewise. * toplev.c (process_options): Likewise. From-SVN: r225424
2015-07-05target-insns.def (untyped_call, [...]): New targetm instruction patterns.Richard Sandiford3-13/+19
gcc/ * target-insns.def (untyped_call, untyped_return): New targetm instruction patterns. * builtins.c (expand_builtin_apply): Use them instead of HAVE_*/gen_* interface. (result_vector): Define unconditionally. From-SVN: r225423
2015-07-05gcc/Richard Sandiford4-39/+36
* target-insns.def (builtin_longjmp, builtin_setjmp_receiver) (builtin_setjmp_setup, exception_receiver, nonlocal_goto) (nonlocal_goto_receiver): New targetm instruction patterns. * builtins.c (expand_builtin_setjmp_setup): Use them instead of HAVE_*/gen_* interface. (expand_builtin_setjmp_receiver): Likewise. (expand_builtin_longjmp, expand_builtin_nonlocal_goto): Likewise. * except.c (expand_dw2_landing_pad_for_region): Likewise. From-SVN: r225422
2015-07-05target.def: Add code_for_* hooks.Richard Sandiford8-33/+34
gcc/ * target.def: Add code_for_* hooks. * gentarget-def.c (def_target_insn): Add TARGET_CODE_FOR_* macros. * defaults.h (HAVE_tablejump, gen_tablejump): Delete. * target-insns.def (casesi, tablejump): New targetm instruction patterns. * expr.c (try_casesi): Use them instead of HAVE_*/gen_* interface. (do_tablejump): Likewise. * stmt.c (expand_switch_as_decision_tree_p): Likewise. (expand_sjlj_dispatch_table): Likewise. * targhooks.c (default_case_values_threshold): Likewise. From-SVN: r225421
2015-07-04nios2.c (save_reg, [...]): Use plus_constant.Sandra Loosemore3-16/+28
2015-07-04 Sandra Loosemore <sandra@codesourcery.com> gcc/ * config/nios2/nios2.c (save_reg, restore_reg): Use plus_constant. Use rtx_insn * instead of rtx. (nios2_emit_add_constant): Use rtx_insn * instead of rtx. (nios2_expand_prologue, nios2_expand_epilogue): Likewise. (nios2_call_tls_get_addr): Likewise. (nios2_emit_expensive_div): Likewise. (nios2_emit_move_sequence): Change return type to bool. * config/nios2/nios2-protos.h (nios2_emit_move_sequence): Change return type to bool. From-SVN: r225420
2015-07-05Daily bump.GCC Administrator1-1/+1
From-SVN: r225419
2015-07-04re PR target/66747 (The commit r225260 broke the builds of the ↵Bernd Edlinger2-6/+12
mips-{mti,img}-linux-gnu tool chains.) 2015-07-04 Bernd Edlinger <bernd.edlinger@hotmail.de> PR target/66747 * config/mips/mips.c (mips_find_gp_ref): Handle instruction sequences. From-SVN: r225416
2015-07-04[multiple changes]Steven G. Kargl4-1/+122
2015-07-04 Steven G. Kargl <kargl@gcc.gnu.org> PR fortran/66725 * io.c (is_char_type): New function to test for BT_CHARACTER (gfc_match_open, gfc_match_close, match_dt_element): Use it. 2015-07-03 Steven G. Kargl <kargl@gcc.gnu.org> PR fortran/66725 * gfortran.dg/pr66725.f90: New test. From-SVN: r225415
2015-07-04re PR target/66114 (some indirect_jump patterns use operands[] in their ↵John David Anglin2-2/+8
condition when they shouldn't) PR target/66114 * config/pa/pa.md (indirect_jump): Use pmode_register_operand instead of register_operand. Remove constraint. From-SVN: r225412
2015-07-04tree-cfg.c (verify_gimple_assign_ternary): Check the first argument.Marc Glisse2-1/+20
2015-07-04 Marc Glisse <marc.glisse@inria.fr> * tree-cfg.c (verify_gimple_assign_ternary) <VEC_COND_EXPR>: Check the first argument. From-SVN: r225411
2015-07-04Daily bump.GCC Administrator1-1/+1
From-SVN: r225409
2015-07-03attribs.c (decl_attributes): Guard inform with the return value of the ↵Paolo Carlini2-4/+9
preceding warning. 2015-07-03 Paolo Carlini <paolo.carlini@oracle.com> * attribs.c (decl_attributes): Guard inform with the return value of the preceding warning. From-SVN: r225402
2015-07-03[Patch docs obvious AArch64] Fix position of -moverride documentationJames Greenhalgh2-8/+13
gcc/ * doc/invoke.texi (moverride): Move to correct section. From-SVN: r225384
2015-07-03wide-int_plugin.c (test_double_int_round_udiv): Avoid narrowing error.Jason Merrill2-2/+7
* gcc.dg/plugin/wide-int_plugin.c (test_double_int_round_udiv): Avoid narrowing error. From-SVN: r225383