Age | Commit message (Collapse) | Author | Files | Lines |
|
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-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
|
|
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-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-05-05 Jakub Jelinek <jakub@redhat.com>
PR target/65956
* gcc.c-torture/execute/pr65956.c: New test.
From-SVN: r225466
|
|
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
|
|
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
|
|
* 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-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
|
|
* config/arm/arm.md (movdi): Avoid odd-number ldrd/strd in ARM state.
From-SVN: r225461
|
|
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-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
|
|
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-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
|
|
PR target/66620
* config/bfin/bfin.c (hwloop_optimize): Create new bb between jump and
loop start when inserting LSETUP.
From-SVN: r225453
|
|
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
|
|
* read-md.c (decimal_string): Rename to ...
(md_decimal_string): ... this.
(handle_enum): Reflect this.
From-SVN: r225451
|
|
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-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
|
|
From-SVN: r225448
|
|
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
|
|
PR tree-optimization/66757
* match.pd: Add missing condition to ~X ^ C -> X ^ ~C.
From-SVN: r225446
|
|
PR tree-optimization/66720
* gcc.dg/vect/pr48052.c: Use dg-require-effective-target
vect_int_mult.
From-SVN: r225443
|
|
From-SVN: r225440
|
|
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
|
|
* doc/fragments.texi (Target Fragment): Convert debian.org
link to use https.
* doc/install.texi (Configuration): Ditto.
From-SVN: r225435
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
* 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
|
|
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
|
|
gcc/
* expr.h (gen_move_insn_uncast): Delete.
* expr.c (gen_move_insn_uncast): Delete.
From-SVN: r225427
|
|
* 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
|
|
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
|
|
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
|
|
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
|
|
* 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
|
|
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-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
|
|
From-SVN: r225419
|
|
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 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
|
|
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-04 Marc Glisse <marc.glisse@inria.fr>
* tree-cfg.c (verify_gimple_assign_ternary) <VEC_COND_EXPR>: Check
the first argument.
From-SVN: r225411
|
|
From-SVN: r225409
|
|
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
|
|
gcc/
* doc/invoke.texi (moverride): Move to correct section.
From-SVN: r225384
|
|
* gcc.dg/plugin/wide-int_plugin.c (test_double_int_round_udiv):
Avoid narrowing error.
From-SVN: r225383
|