platform/upstream/gcc.git
9 years ago[MOXIE] Hookize GO_IF_LEGITIMATE_ADDRESS
Anatoly Sokolov [Tue, 7 Jul 2015 19:46:14 +0000 (22:46 +0300)]
[MOXIE] Hookize GO_IF_LEGITIMATE_ADDRESS

From-SVN: r225524

9 years agoPR jit/66783: prevent use of opaque structs
David Malcolm [Tue, 7 Jul 2015 19:29:58 +0000 (19:29 +0000)]
PR jit/66783: prevent use of opaque structs

gcc/jit/ChangeLog:
PR jit/66783
* jit-recording.h: Within namespace gcc:jit::recording...
(type::has_known_size): New virtual function.
(struct_has_known_size): New function.
* libgccjit.c (gcc_jit_context_new_field): Verify that the type
has a known size.
(gcc_jit_context_new_global): Likewise.
(gcc_jit_function_new_local): Likewise.

gcc/testsuite/ChangeLog:
PR jit/66783
* jit.dg/test-error-gcc_jit_context_new_field-opaque-struct.c: New
test case.
* jit.dg/test-error-gcc_jit_context_new_global-opaque-struct.c:
New test case.
* jit.dg/test-error-gcc_jit_function_new_local-opaque-struct.c:
New test case.
* jit.dg/test-error-mismatching-types-in-call.c (create_code):
Avoid using an opaque struct for local "f".

From-SVN: r225523

9 years agoPR jit/66779: fix segfault
David Malcolm [Tue, 7 Jul 2015 19:22:01 +0000 (19:22 +0000)]
PR jit/66779: fix segfault

gcc/jit/ChangeLog:
PR jit/66779
* dummy-frontend.c (jit_langhook_type_for_mode): Ensure that we
handle modes QI, HI, SI, DI, TI.

gcc/testsuite/ChangeLog:
PR jit/66779
* jit.dg/all-non-failing-tests.h: Add test-pr66779.c.
* jit.dg/test-pr66779.c: New testcase.

From-SVN: r225522

9 years agoAdd empty loop exit block in transform_to_exit_first_loop_alt
Tom de Vries [Tue, 7 Jul 2015 16:25:22 +0000 (16:25 +0000)]
Add empty loop exit block in transform_to_exit_first_loop_alt

2015-07-07  Tom de Vries  <tom@codesourcery.com>

PR tree-optimization/66642
* tree-parloops.c (transform_to_exit_first_loop_alt): Update function
header comment.  Rename split_edge variable to edge_at_split.  Split
exit edge to create new loop exit bb.  Insert loop exit phis in new loop
exit bb.

* testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Test low
iteration count case.
* testsuite/libgomp.c/parloops-exit-first-loop-alt.c (init): New
function, factor out of ...
(main): ... here.  Test low iteration count case.

From-SVN: r225521

9 years agoAdd rewrite_virtuals_into_loop_closed_ssa
Tom de Vries [Tue, 7 Jul 2015 16:25:12 +0000 (16:25 +0000)]
Add rewrite_virtuals_into_loop_closed_ssa

2015-07-07  Tom de Vries  <tom@codesourcery.com>

* tree-cfg.c (get_virtual_phi): New function.
* tree-cfg.h (get_virtual_phi): Declare.
* tree-ssa-loop-manip.c (replace_uses_in_dominated_bbs)
(rewrite_virtuals_into_loop_closed_ssa): New function.
* tree-ssa-loop-manip.h (rewrite_virtuals_into_loop_closed_ssa):
Declare.
* tree-parloops.c (replace_uses_in_bbs_by): Remove.
(transform_to_exit_first_loop_alt): Use
rewrite_virtuals_into_loop_closed_ssa.

From-SVN: r225520

9 years agoMIPS: Do not generate micromips code for the no-smartmips-lwxs.c testcase
Andrew Bennett [Tue, 7 Jul 2015 16:07:51 +0000 (16:07 +0000)]
MIPS: Do not generate micromips code for the no-smartmips-lwxs.c testcase

The LWXS instruction is part of the micromips ISA which means it is
valid to generate it for the no-smartmips-lwxs.c testcase.

testsuite/
* gcc.target/mips/no-smartmips-lwxs.c: Change NOMIPS16 to
NOCOMPRESSION.

From-SVN: r225519

9 years agofold-const.c (fold_binary_loc): Move (X & C2) << C1 -> (X << C1) & (C2 << C1) simplif...
Richard Biener [Tue, 7 Jul 2015 14:12:44 +0000 (14:12 +0000)]
fold-const.c (fold_binary_loc): Move (X & C2) << C1 -> (X << C1) & (C2 << C1) simplification ...

2015-07-07  Richard Biener  <rguenther@suse.de>

* fold-const.c (fold_binary_loc): Move
(X & C2) << C1 -> (X << C1) & (C2 << C1) simplification ...
* match.pd: ... here.
Add (X * C1) % C2 -> 0 simplification pattern derived from
extract_muldiv_1.

* gcc.dg/vect/vect-over-widen-3-big-array.c: Adjust.

From-SVN: r225517

9 years agoMIPS: Fix the call-[1,5,6].c tests to allow the jrc instruction to be matched when...
Andrew Bennett [Tue, 7 Jul 2015 14:01:53 +0000 (14:01 +0000)]
MIPS: Fix the call-[1,5,6].c tests to allow the jrc instruction to be matched when testing with microMIPS.

When building the call-[1,5,6].c tests for micromips the jrc rather than the
jr instruction is used to call the tail* functions.

testsuite/
* gcc.target/mips/call-1.c: Allow testcase to match the jrc instruction.
* gcc.target/mips/call-5.c: Ditto.
* gcc.target/mips/call-6.c: Ditto.

From-SVN: r225516

9 years agore PR target/66780 (Compiling with -fstack-protector-strong causes binary to segfault)
Kaz Kojima [Tue, 7 Jul 2015 12:29:16 +0000 (12:29 +0000)]
re PR target/66780 (Compiling with -fstack-protector-strong causes binary to segfault)

PR target/66780
* config/sh/sh.md (symGOT_load): Revert a part of 2015-03-03 change for target/65249.

From-SVN: r225512

9 years agosymtab.c (address_matters_1): Fix typo in comment above.
Paulo Matos [Tue, 7 Jul 2015 11:25:35 +0000 (11:25 +0000)]
symtab.c (address_matters_1): Fix typo in comment above.

2015-07-07  Paulo Matos  <pmatos@broadcom.com>

* symtab.c (address_matters_1): Fix typo in comment above.
(can_increase_alignment_p): Likewise.

From-SVN: r225509

9 years agofunction.c (free_after_compilation): Clear PROP_cfg in f->curr_properties.
Prathamesh Kulkarni [Tue, 7 Jul 2015 11:19:27 +0000 (11:19 +0000)]
function.c (free_after_compilation): Clear PROP_cfg in f->curr_properties.

2015-07-07  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>

* function.c (free_after_compilation): Clear PROP_cfg in f->curr_properties.
testsuite/
* gcc.dg/dx-test.c: New test-case.

From-SVN: r225508

9 years agore PR fortran/66578 ([F2008] Invalid free on allocate(...,source=a(:)) in block)
Andre Vehreschild [Tue, 7 Jul 2015 11:10:12 +0000 (13:10 +0200)]
re PR fortran/66578 ([F2008] Invalid free on allocate(...,source=a(:)) in block)

gcc/testsuite/ChangeLog:

2015-07-07  Andre Vehreschild  <vehre@gcc.gnu.org>

PR fortran/66578
* gfortran.dg/allocate_with_source_9.f08: New test.

gcc/fortran/ChangeLog:

2015-07-07  Mikael Morin  <mikael@gcc.gnu.org>
    Andre Vehreschild  <vehre@gcc.gnu.org>

PR fortran/66578
* trans-array.c (gfc_conv_expr_descriptor): Ensure array descriptor
is one-based for non-full array refs. Correct the offset when a
rank_remap occurs.

From-SVN: r225507

9 years agotree-ssa-propagate.c (add_ssa_edge): Dump what edge list we add which use to.
Richard Biener [Tue, 7 Jul 2015 07:59:40 +0000 (07:59 +0000)]
tree-ssa-propagate.c (add_ssa_edge): Dump what edge list we add which use to.

2015-07-07  Richard Biener  <rguenther@suse.de>

* tree-ssa-propagate.c (add_ssa_edge): Dump what edge list we
add which use to.
(add_control_edge): Remove excessive vertical space in dumping.
(process_ssa_edge_worklist): Simulate at most one statement and
return whether we did.  Do not simulate PHIs if they are in a
BB not yet simulated.
(ssa_propagate): Adjust to always drain the BB worklist whenever
a BB is available there, likewise the VARYING edges list before
the interesting edge list.

From-SVN: r225504

9 years agoCleanup arch file directive.
Christian Bruel [Tue, 7 Jul 2015 07:56:10 +0000 (09:56 +0200)]
Cleanup arch file directive.

PR target/52144
* config/arm/elf.h (TARGET_ASM_FILE_START_APP_OFF): Delete.

PR target/52144
* gcc.target/arm/flip-thumb.c: Fix scan.
* gcc.target/arm/attr_thumb.c: Test for all targets. Fix scan.
* gcc.target/arm/attr_arm.c: Test for all targets. Fix scan.
* gcc.target/arm/attr_thumb-static.c: Test for all targets.
Fix return value.

From-SVN: r225503

9 years agore PR tree-optimization/66739 (FAIL: gcc.target/aarch64/subs.c scan-assembler subs...
Richard Biener [Tue, 7 Jul 2015 07:46:57 +0000 (07:46 +0000)]
re PR tree-optimization/66739 (FAIL: gcc.target/aarch64/subs.c scan-assembler subs\tw[0-9])

2015-07-07  Richard Biener  <rguenther@suse.de>

PR middle-end/66739
* match.pd: Condition A - B ==/!= 0 -> A ==/!= B on single-use
A - B.

From-SVN: r225502

9 years agoDaily bump.
GCC Administrator [Tue, 7 Jul 2015 00:16:11 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r225501

9 years agopt.c (reduce_template_parm_level): Also build the TYPE_DECL for a template template...
Jason Merrill [Mon, 6 Jul 2015 22:13:42 +0000 (18:13 -0400)]
pt.c (reduce_template_parm_level): Also build the TYPE_DECL for a template template parameter.

* pt.c (reduce_template_parm_level): Also build the TYPE_DECL
for a template template parameter.
(tsubst_decl) [TEMPLATE_DECL]: Use the TEMPLATE_DECL built
by reduce_template_parm_level.

From-SVN: r225495

9 years agopt.c (argument_pack_element_is_expansion_p): A decl pack is an expansion.
Jason Merrill [Mon, 6 Jul 2015 22:13:37 +0000 (18:13 -0400)]
pt.c (argument_pack_element_is_expansion_p): A decl pack is an expansion.

* pt.c (argument_pack_element_is_expansion_p): A decl pack is an
expansion.

From-SVN: r225494

9 years agoi386.md (insv<mode>): Rename from insv.
Uros Bizjak [Mon, 6 Jul 2015 21:26:12 +0000 (23:26 +0200)]
i386.md (insv<mode>): Rename from insv.

* config/i386/i386.md (insv<mode>): Rename from insv.  Use SWI48
modes for operands 0 and 3.  Use SImode for operands 2 and 3.
Copy operand 0 to a temporary if !ext_register_operand.  Remove
ancient extract_bit_field workaround.
(insv<mode>_1): Rename from mov<mode>_insv_1.
(*insvqi): Rename from *movqi_insv_2.
* config/i386/i386.c (emit_i386_cw_initialization): Update calls
for renamed insvsi_1.
(promote_duplicated_reg): Ditto for renamed insv<mode>_1.

From-SVN: r225484

9 years agonvptx.c (nvptx_reorg): Remove unused vars.
Nathan Sidwell [Mon, 6 Jul 2015 20:53:34 +0000 (20:53 +0000)]
nvptx.c (nvptx_reorg): Remove unused vars.

* config/nvptx/nvptx.c (nvptx_reorg): Remove unused vars.  Fix
call to nvptx_reorg_subreg.

From-SVN: r225481

9 years ago* s-oscons-tmplt.c: Add support for DragonFly alongside FreeBSD.
John Marino [Mon, 6 Jul 2015 20:51:40 +0000 (20:51 +0000)]
* s-oscons-tmplt.c: Add support for DragonFly alongside FreeBSD.

From-SVN: r225480

9 years agographite-blocking.c (HAVE_isl): Include <stddef.h>.
Jim Wilson [Mon, 6 Jul 2015 20:37:44 +0000 (20:37 +0000)]
graphite-blocking.c (HAVE_isl): Include <stddef.h>.

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

9 years agomatch.pd: Remove element_mode inside HONOR_*.
Marc Glisse [Mon, 6 Jul 2015 18:19:41 +0000 (20:19 +0200)]
match.pd: Remove element_mode inside HONOR_*.

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

9 years agoHandle PROCESSOR_IAMCU in ix86_target_macros_internal
H.J. Lu [Mon, 6 Jul 2015 17:51:12 +0000 (10:51 -0700)]
Handle PROCESSOR_IAMCU in ix86_target_macros_internal

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

9 years agoconfig.gcc: Add fused-madd.opt.
Steve Ellcey [Mon, 6 Jul 2015 17:29:33 +0000 (17:29 +0000)]
config.gcc: Add fused-madd.opt.

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

9 years agoFix eipa_src AAPCS issue (PR target/65956)
Jakub Jelinek [Mon, 6 Jul 2015 17:06:00 +0000 (19:06 +0200)]
Fix eipa_src AAPCS issue (PR target/65956)

2015-05-05  Jakub Jelinek  <jakub@redhat.com>

PR target/65956
* gcc.c-torture/execute/pr65956.c: New test.

From-SVN: r225466

9 years ago[ARM] PR/65956 AAPCS update for alignment attribute
Alan Lawrence [Mon, 6 Jul 2015 16:58:16 +0000 (16:58 +0000)]
[ARM] PR/65956 AAPCS update for alignment attribute

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

9 years agoOptimize i?86-*-elfiamcu for iamcu by default
H.J. Lu [Mon, 6 Jul 2015 16:56:11 +0000 (09:56 -0700)]
Optimize i?86-*-elfiamcu for iamcu by default

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

9 years agoi386.md (extv<mode>): Rename from extv.
Uros Bizjak [Mon, 6 Jul 2015 16:43:33 +0000 (18:43 +0200)]
i386.md (extv<mode>): Rename from extv.

* 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

9 years agoio.c (check_char_variable): New function.
Steven G. Kargl [Mon, 6 Jul 2015 16:33:38 +0000 (16:33 +0000)]
io.c (check_char_variable): New function.

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

9 years ago[ARM] fix movdi expander to avoid illegal ldrd/strd
Alan Lawrence [Mon, 6 Jul 2015 16:21:55 +0000 (16:21 +0000)]
[ARM] fix movdi expander to avoid illegal ldrd/strd

        * config/arm/arm.md (movdi): Avoid odd-number ldrd/strd in ARM state.

From-SVN: r225461

9 years agoAdd -march=iamcu to optimize for IA MCU
H.J. Lu [Mon, 6 Jul 2015 15:17:44 +0000 (08:17 -0700)]
Add -march=iamcu to optimize for IA MCU

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

9 years agore PR tree-optimization/66772 (ICE at -O2 and -O3 on x86_64-linux-gnu)
Richard Biener [Mon, 6 Jul 2015 14:41:22 +0000 (14:41 +0000)]
re PR tree-optimization/66772 (ICE at -O2 and -O3 on x86_64-linux-gnu)

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

9 years agoMIPS: For micromips allow the near-far-3.c test to use the jals instruction to call...
Andrew Bennett [Mon, 6 Jul 2015 14:16:14 +0000 (14:16 +0000)]
MIPS: For micromips allow the near-far-3.c test to use the jals instruction 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

9 years agore PR tree-optimization/66767 (FAIL: gcc.dg/vect/vect-align-1.c execution test)
Richard Biener [Mon, 6 Jul 2015 13:12:39 +0000 (13:12 +0000)]
re PR tree-optimization/66767 (FAIL: gcc.dg/vect/vect-align-1.c execution test)

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

9 years agoFix assert caused by bad cfg manipulation in bfin.
Bernd Schmidt [Mon, 6 Jul 2015 12:49:26 +0000 (12:49 +0000)]
Fix assert caused by bad cfg manipulation in bfin.

PR target/66620
* config/bfin/bfin.c (hwloop_optimize): Create new bb between jump and
loop start when inserting LSETUP.

From-SVN: r225453

9 years agoAllow -mincoming-stack-boundary=3 with -mno-sse
H.J. Lu [Mon, 6 Jul 2015 11:50:47 +0000 (11:50 +0000)]
Allow -mincoming-stack-boundary=3 with -mno-sse

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

9 years agoRename read-md.c:decimal_string
Rainer Orth [Mon, 6 Jul 2015 11:43:07 +0000 (11:43 +0000)]
Rename read-md.c:decimal_string

* read-md.c (decimal_string): Rename to ...
(md_decimal_string): ... this.
(handle_enum): Reflect this.

From-SVN: r225451

9 years ago[AArch64] PR target/66731 Fix fnmul insn with -frounding-math
Szabolcs Nagy [Mon, 6 Jul 2015 11:00:03 +0000 (11:00 +0000)]
[AArch64] PR target/66731 Fix fnmul insn with -frounding-math

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

9 years agore PR tree-optimization/66759 (ICE in generic-match.c on 456.hmmer)
Richard Biener [Mon, 6 Jul 2015 10:37:33 +0000 (10:37 +0000)]
re PR tree-optimization/66759 (ICE in generic-match.c on 456.hmmer)

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

9 years agoAdded missing Changelog entry for testsuite.
Andre Vehreschild [Mon, 6 Jul 2015 10:27:38 +0000 (12:27 +0200)]
Added missing Changelog entry for testsuite.

From-SVN: r225448

9 years agore PR fortran/58586 (ICE with derived type with allocatable component passed by value)
Andre Vehreschild [Mon, 6 Jul 2015 10:26:12 +0000 (12:26 +0200)]
re PR fortran/58586 (ICE with derived type with allocatable component passed 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

9 years agore PR tree-optimization/66757 (wrong code at -O1 and above on x86_64-linux-gnu)
Eric Botcazou [Mon, 6 Jul 2015 08:43:58 +0000 (08:43 +0000)]
re PR tree-optimization/66757 (wrong code at -O1 and above on x86_64-linux-gnu)

PR tree-optimization/66757
* match.pd: Add missing condition to ~X ^ C -> X ^ ~C.

From-SVN: r225446

9 years agore PR libfortran/40267 (Eventually get rid of libgfortranbegin.a)
Francois-Xavier Coudert [Mon, 6 Jul 2015 08:22:34 +0000 (08:22 +0000)]
re PR libfortran/40267 (Eventually get rid of libgfortranbegin.a)

PR libfortran/40267
* Makefile.am: Remove libgfortranbegin targets.
* Makefile.in: Regenerate.
* fmain.c: Remove.

From-SVN: r225445

9 years agolibgomp: Add comment to clarify last_team usage
Sebastian Huber [Mon, 6 Jul 2015 07:21:48 +0000 (07:21 +0000)]
libgomp: Add comment to clarify last_team usage

libgomp/ChangeLog
2015-07-06  Sebastian Huber  <sebastian.huber@embedded-brains.de>

* libgomp.h (gomp_thread_pool): Comment last_team field.

From-SVN: r225444

9 years agore PR testsuite/66720 (gcc.dg/vect/pr48052.c FAILs)
Bin Cheng [Mon, 6 Jul 2015 05:57:56 +0000 (05:57 +0000)]
re PR testsuite/66720 (gcc.dg/vect/pr48052.c FAILs)

PR tree-optimization/66720
* gcc.dg/vect/pr48052.c: Use dg-require-effective-target
vect_int_mult.

From-SVN: r225443

9 years agoDaily bump.
GCC Administrator [Mon, 6 Jul 2015 00:16:12 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r225440

9 years agonios2-protos.h (nios2_symbol_ref_in_small_data_p): Delete extern declaration.
Chung-Lin Tang [Sun, 5 Jul 2015 21:49:08 +0000 (21:49 +0000)]
nios2-protos.h (nios2_symbol_ref_in_small_data_p): Delete extern declaration.

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

9 years agohashtable.h (_Hashtable<>::__rehash_policy): Do not rehash container.
François Dumont [Sun, 5 Jul 2015 21:16:07 +0000 (21:16 +0000)]
hashtable.h (_Hashtable<>::__rehash_policy): Do not rehash container.

2015-07-05  François Dumont  <fdumont@gcc.gnu.org>

* include/bits/hashtable.h (_Hashtable<>::__rehash_policy): Do not
rehash container.
* testsuite/23_containers/unordered_set/max_load_factor/robustness.cc:
Adapt.

From-SVN: r225436

9 years agofragments.texi (Target Fragment): Convert debian.org link to use https.
Gerald Pfeifer [Sun, 5 Jul 2015 20:36:22 +0000 (20:36 +0000)]
fragments.texi (Target Fragment): Convert debian.org link to use https.

* doc/fragments.texi (Target Fragment): Convert debian.org
link to use https.
* doc/install.texi (Configuration): Ditto.

From-SVN: r225435

9 years agore PR tree-optimization/66718 (Non-invariant ADDR_EXPR not vectorized)
Jakub Jelinek [Sun, 5 Jul 2015 12:14:41 +0000 (14:14 +0200)]
re PR tree-optimization/66718 (Non-invariant ADDR_EXPR not vectorized)

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

9 years agore PR tree-optimization/66718 (Non-invariant ADDR_EXPR not vectorized)
Jakub Jelinek [Sun, 5 Jul 2015 12:11:57 +0000 (14:11 +0200)]
re PR tree-optimization/66718 (Non-invariant ADDR_EXPR not vectorized)

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

9 years agotarget-insns.def (extv, [...]): New targetm instruction patterns.
Richard Sandiford [Sun, 5 Jul 2015 08:02:59 +0000 (08:02 +0000)]
target-insns.def (extv, [...]): New targetm instruction patterns.

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

9 years agotarget-insns.def (doloop_begin, doloop_end): New targetm instruction patterns.
Richard Sandiford [Sun, 5 Jul 2015 08:01:48 +0000 (08:01 +0000)]
target-insns.def (doloop_begin, doloop_end): New targetm instruction patterns.

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

9 years agotarget-insns.def (clear_cache): New targetm instruction pattern.
Richard Sandiford [Sun, 5 Jul 2015 07:59:14 +0000 (07:59 +0000)]
target-insns.def (clear_cache): New targetm instruction pattern.

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

9 years agogcc/
Richard Sandiford [Sun, 5 Jul 2015 07:58:30 +0000 (07:58 +0000)]
gcc/
* 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

9 years agotarget-insns.def (stack_protect_set, [...]): New targetm instruction patterns.
Richard Sandiford [Sun, 5 Jul 2015 07:56:45 +0000 (07:56 +0000)]
target-insns.def (stack_protect_set, [...]): New targetm instruction patterns.

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

9 years agoexpr.h (gen_move_insn_uncast): Delete.
Richard Sandiford [Sun, 5 Jul 2015 07:55:03 +0000 (07:55 +0000)]
expr.h (gen_move_insn_uncast): Delete.

gcc/
* expr.h (gen_move_insn_uncast): Delete.
* expr.c (gen_move_insn_uncast): Delete.

From-SVN: r225427

9 years agogcc/
Richard Sandiford [Sun, 5 Jul 2015 07:52:32 +0000 (07:52 +0000)]
gcc/
* 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

9 years agotarget-insns.def (trap): New targetm instruction pattern.
Richard Sandiford [Sun, 5 Jul 2015 07:51:07 +0000 (07:51 +0000)]
target-insns.def (trap): New targetm instruction pattern.

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

9 years agotarget-insns.def (prefetch): New targetm instruction pattern.
Richard Sandiford [Sun, 5 Jul 2015 07:50:31 +0000 (07:50 +0000)]
target-insns.def (prefetch): New targetm instruction pattern.

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

9 years agotarget-insns.def (untyped_call, [...]): New targetm instruction patterns.
Richard Sandiford [Sun, 5 Jul 2015 07:49:16 +0000 (07:49 +0000)]
target-insns.def (untyped_call, [...]): New targetm instruction patterns.

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

9 years agogcc/
Richard Sandiford [Sun, 5 Jul 2015 07:48:04 +0000 (07:48 +0000)]
gcc/
* 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

9 years agotarget.def: Add code_for_* hooks.
Richard Sandiford [Sun, 5 Jul 2015 07:44:45 +0000 (07:44 +0000)]
target.def: Add code_for_* hooks.

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

9 years agonios2.c (save_reg, [...]): Use plus_constant.
Sandra Loosemore [Sun, 5 Jul 2015 02:56:18 +0000 (22:56 -0400)]
nios2.c (save_reg, [...]): Use plus_constant.

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

9 years agoDaily bump.
GCC Administrator [Sun, 5 Jul 2015 00:16:13 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r225419

9 years agore PR target/66747 (The commit r225260 broke the builds of the mips-{mti,img}-linux...
Bernd Edlinger [Sat, 4 Jul 2015 19:02:18 +0000 (19:02 +0000)]
re PR target/66747 (The commit r225260 broke the builds of the 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

9 years ago[multiple changes]
Steven G. Kargl [Sat, 4 Jul 2015 15:37:04 +0000 (15:37 +0000)]
[multiple changes]

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

9 years agore PR target/66114 (some indirect_jump patterns use operands[] in their condition...
John David Anglin [Sat, 4 Jul 2015 13:42:55 +0000 (13:42 +0000)]
re PR target/66114 (some indirect_jump patterns use operands[] in their 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

9 years agotree-cfg.c (verify_gimple_assign_ternary): Check the first argument.
Marc Glisse [Sat, 4 Jul 2015 11:15:33 +0000 (13:15 +0200)]
tree-cfg.c (verify_gimple_assign_ternary): Check the first argument.

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

9 years agoDaily bump.
GCC Administrator [Sat, 4 Jul 2015 00:16:12 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r225409

9 years agoattribs.c (decl_attributes): Guard inform with the return value of the preceding...
Paolo Carlini [Fri, 3 Jul 2015 18:56:40 +0000 (18:56 +0000)]
attribs.c (decl_attributes): Guard inform with the return value of the 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

9 years agore PR libitm/52482 (libitm INVALID MNEMONIC in .S (powerpc asm))
Carlos Sánchez de La Lama [Fri, 3 Jul 2015 17:28:43 +0000 (17:28 +0000)]
re PR libitm/52482 (libitm INVALID MNEMONIC in .S (powerpc asm))

2015-07-03  Carlos Sánchez de La Lama  <csanchezdll@gmail.com>

PR target/52482
* config/powerpc/sjlj.S: Port to Xcode 2.5.

From-SVN: r225388

9 years ago[Patch docs obvious AArch64] Fix position of -moverride documentation
James Greenhalgh [Fri, 3 Jul 2015 14:49:05 +0000 (14:49 +0000)]
[Patch docs obvious AArch64] Fix position of -moverride documentation

gcc/

* doc/invoke.texi (moverride): Move to correct section.

From-SVN: r225384

9 years agowide-int_plugin.c (test_double_int_round_udiv): Avoid narrowing error.
Jason Merrill [Fri, 3 Jul 2015 14:42:21 +0000 (10:42 -0400)]
wide-int_plugin.c (test_double_int_round_udiv): Avoid narrowing error.

* gcc.dg/plugin/wide-int_plugin.c (test_double_int_round_udiv):
Avoid narrowing error.

From-SVN: r225383

9 years agore PR rtl-optimization/66706 (Redundant bitmask instruction on x >> (n & 32))
Segher Boessenkool [Fri, 3 Jul 2015 14:37:26 +0000 (16:37 +0200)]
re PR rtl-optimization/66706 (Redundant bitmask instruction on x >> (n & 32))

PR rtl-optimization/66706
* gcc.target/powerpc/shift-int.c: New testcase.

From-SVN: r225382

9 years agostatus_cxx2017.xml: Update status table.
Jonathan Wakely [Fri, 3 Jul 2015 14:08:48 +0000 (15:08 +0100)]
status_cxx2017.xml: Update status table.

* doc/xml/manual/status_cxx2017.xml: Update status table.
* doc/html/manual/*: Regenerate.

From-SVN: r225380

9 years agoImplement std::experimental::fundamentals_v2::propagate_const.
Ville Voutilainen [Fri, 3 Jul 2015 14:08:37 +0000 (17:08 +0300)]
Implement std::experimental::fundamentals_v2::propagate_const.

2015-07-03  Ville Voutilainen  <ville.voutilainen@gmail.com>

Implement std::experimental::fundamentals_v2::propagate_const.
* include/Makefile.am: Add propagate_const.
* include/Makefile.in: Regenerate.
* include/experimental/propagate_const: New.
* testsuite/experimental/propagate_const/assignment/copy.cc: Likewise.
* testsuite/experimental/propagate_const/assignment/move.cc: Likewise.
* testsuite/experimental/propagate_const/assignment/move_neg.cc:
Likewise.
* testsuite/experimental/propagate_const/cons/copy.cc: Likewise.
* testsuite/experimental/propagate_const/cons/default.cc: Likewise.
* testsuite/experimental/propagate_const/cons/move.cc: Likewise.
* testsuite/experimental/propagate_const/cons/move_neg.cc: Likewise.
* testsuite/experimental/propagate_const/hash/1.cc: Likewise.
* testsuite/experimental/propagate_const/observers/1.cc: Likewise.
* testsuite/experimental/propagate_const/relops/1.cc: Likewise.
* testsuite/experimental/propagate_const/requirements1.cc: Likewise.
* testsuite/experimental/propagate_const/requirements2.cc: Likewise.
* testsuite/experimental/propagate_const/requirements3.cc: Likewise.
* testsuite/experimental/propagate_const/requirements4.cc: Likewise.
* testsuite/experimental/propagate_const/requirements5.cc: Likewise.
* testsuite/experimental/propagate_const/swap/1.cc: Likewise.
* testsuite/experimental/propagate_const/typedefs.cc: Likewise.

From-SVN: r225379

9 years agogenmatch.c (commutative_tree_code, [...]): Copy from tree.c
Richard Biener [Fri, 3 Jul 2015 13:46:34 +0000 (13:46 +0000)]
genmatch.c (commutative_tree_code, [...]): Copy from tree.c

2015-07-03  Richard Biener  <rguenther@suse.de>

* genmatch.c (commutative_tree_code, commutative_ternary_tree_code):
Copy from tree.c
(dt_operand::gen_gimple_expr): After valueizing operands
re-canonicalize operand order for commutative tree codes.

From-SVN: r225378

9 years agoAdd the missing file
H.J. Lu [Fri, 3 Jul 2015 13:08:35 +0000 (06:08 -0700)]
Add the missing file

From-SVN: r225377

9 years agoAdd IA MCU support to x86intrin.h
H.J. Lu [Fri, 3 Jul 2015 12:25:10 +0000 (12:25 +0000)]
Add IA MCU support to x86intrin.h

x86intrin.h has useful intrinsics for instructions for IA MCU.  This
patch adds __iamcu__ check to x86intrin.h and ia32intrin.h.

gcc/

PR target/66746.
* config/i386/ia32intrin.h (__crc32b): Don't define if __iamcu__
is defined.
(__crc32w): Likewise.
(__crc32d): Likewise.
(__rdpmc): Likewise.
(__rdtscp): Likewise.
(_rdpmc): Likewise.
(_rdtscp): Likewise.
* config/i386/x86intrin.h: Only include ia32intrin.h if __iamcu__
is defined.

gcc/testsuite/

PR target/66746.
* gcc.target/i386/pr66746.c: New file.

From-SVN: r225376

9 years agofold-const.c (fold_mathfn_compare): Remove.
Richard Biener [Fri, 3 Jul 2015 12:02:35 +0000 (12:02 +0000)]
fold-const.c (fold_mathfn_compare): Remove.

2015-07-03  Richard Biener  <rguenther@suse.de>

* fold-const.c (fold_mathfn_compare): Remove.
(fold_inf_compare): Likewise.
(fold_comparison): Move floating point comparison simplifications...
* match.pd: ... to patterns here.  Introduce simple_comparisons
operator list and use it for patterns formerly in fold_comparison.

From-SVN: r225375

9 years agovget_lane.c: New testcase.
Christophe Lyon [Fri, 3 Jul 2015 10:52:03 +0000 (10:52 +0000)]
vget_lane.c: New testcase.

2015-07-03  Christophe Lyon  <christophe.lyon@linaro.org>

* gcc.target/aarch64/advsimd-intrinsics/vget_lane.c: New testcase.

From-SVN: r225374

9 years ago2015-07-03 Paolo Carlini <paolo.carlini@oracle.com>
Paolo Carlini [Fri, 3 Jul 2015 09:42:52 +0000 (09:42 +0000)]
2015-07-03  Paolo Carlini  <paolo.carlini@oracle.com>

* Fix component of my last ChangeLog entries.

From-SVN: r225371

9 years ago[Patch SRA] Fix PR66119 by calling get_move_ratio in SRA
James Greenhalgh [Fri, 3 Jul 2015 09:25:54 +0000 (09:25 +0000)]
[Patch SRA] Fix PR66119 by calling get_move_ratio in SRA

gcc/

PR tree-optimization/66119
* toplev.c (process_options): Don't set up default values for
the sra_max_scalarization_size_{speed,size} parameters.
* tree-sra (analyze_all_variable_accesses): If no values
have been set for the sra_max_scalarization_size_{speed,size}
parameters, call get_move_ratio to get target defaults.

gcc/testsuite/

PR tree-optimization/66119
* g++.dg/opt/pr66119.C: New.

From-SVN: r225369

9 years agofold-const.c (fold_binary_loc): Move (T)ptr & CST folding...
Richard Biener [Fri, 3 Jul 2015 07:55:10 +0000 (07:55 +0000)]
fold-const.c (fold_binary_loc): Move (T)ptr & CST folding...

2015-07-03  Richard Biener  <rguenther@suse.de>

* fold-const.c (fold_binary_loc): Move (T)ptr & CST folding...
* match.pd: ... here.

From-SVN: r225368

9 years agore PR target/37072 (-mfancy-math-387 should be the default in FreeBSD)
Gerald Pfeifer [Fri, 3 Jul 2015 01:35:18 +0000 (01:35 +0000)]
re PR target/37072 (-mfancy-math-387 should be the default in FreeBSD)

PR target/37072
* doc/invoke.texi (i386 and x86-64 Options): -mno-fancy-math-387
is not actually the default on FreeBSD.

From-SVN: r225367

9 years agore PR c++/66743 (ICE: tree check: expected record_type or union_type or qual_union_ty...
Jason Merrill [Fri, 3 Jul 2015 00:45:34 +0000 (20:45 -0400)]
re PR c++/66743 (ICE: tree check: expected record_type or union_type or qual_union_type, have underlying_type in for_each_template_parm_r, at cp/pt.c:8234)

PR c++/66743
* pt.c (for_each_template_parm_r) [UNDERLYING_TYPE]: Use
TYPE_VALUES_RAW rather than TYPE_FIELDS.

From-SVN: r225365

9 years agoDaily bump.
GCC Administrator [Fri, 3 Jul 2015 00:16:13 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r225364

9 years agopt.c (type_dependent_expression_p): Handle expressions that refer to variable templates.
Andrew Sutton [Thu, 2 Jul 2015 23:16:51 +0000 (23:16 +0000)]
pt.c (type_dependent_expression_p): Handle expressions that refer to variable templates.

* pt.c (type_dependent_expression_p): Handle expressions
that refer to variable templates.

From-SVN: r225361

9 years ago* trans-common.c: Include <map> after system.h.
David Edelsohn [Thu, 2 Jul 2015 22:01:36 +0000 (22:01 +0000)]
* trans-common.c: Include <map> after system.h.

From-SVN: r225358

9 years agoacinclude.m4 (GLIBCXX_DEFAULT_ABI): Change valid arguments for --with-default-libstdc...
Jonathan Wakely [Thu, 2 Jul 2015 21:52:38 +0000 (22:52 +0100)]
acinclude.m4 (GLIBCXX_DEFAULT_ABI): Change valid arguments for --with-default-libstdcxx-abi

* acinclude.m4 (GLIBCXX_DEFAULT_ABI): Change valid arguments for
--with-default-libstdcxx-abi
* configure: Regenerate.
* doc/xml/manual/configure.xml: Document valid arguments.

From-SVN: r225356

9 years agore PR fortran/52846 ([F2008] Support submodules)
Paul Thomas [Thu, 2 Jul 2015 20:39:56 +0000 (20:39 +0000)]
re PR fortran/52846 ([F2008] Support submodules)

2015-07-02  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/52846
* decl.c (get_proc_name): Make a partially populated interface
symbol to carry the characteristics of a module procedure and
its result.
(variable_decl): Declarations of dummies or results in the
abreviated form of module procedure is an error.
(gfc_match_import): IMPORT is not permitted in the interface
declaration of module procedures.
(match_attr_spec): Submodule variables have implicit save
attribute for F2008 onwards.
(gfc_match_prefix): Add 'module' as the a prefix and set the
module_procedure attribute.
(gfc_match_formal_arglist): For a module procedure keep the
interface formal_arglist from the interface, match new the
formal arguments and then compare the number and names of each.
(gfc_match_procedure): Add case COMP_SUBMODULE.
(gfc_match_function_decl, gfc_match_subroutine_decl): Set the
module_procedure attribute.
(gfc_match_entry, gfc_match_end):  Add case COMP_SUBMODULE. If
attr abr_modproc_decl is set, switch the message accordingly
for subroutines and functions.
(gfc_match_submod_proc): New function to match the abbreviated
style of submodule declaration.
* gfortran.h : Add ST_SUBMODULE and ST_END_SUBMODULE. Add the
attribute bits 'used_in_submodule' and 'module_procedure'. Add
the bit field 'abr_modproc_decl' to gfc_symbol. Add prototypes
for 'gfc_copy_dummy_sym', 'gfc_check_dummy_characteristics' and
'gfc_check_result_characteristics'.
* interface.c : Add the prefix 'gfc_' to the names of functions
'check_dummy(result)_characteristics' and all their references.
* match.h : Add prototype for 'gfc_match_submod_proc' and
'gfc_match_submodule'.
(check_sym_interfaces): A module procedure is not an error in
a module procedure statment in a generic interface.
* module.c (gfc_match_submodule): New function. Add handling
for the 'module_procedure' attribute bit.
(gfc_use_module): Make sure that a submodule cannot use itself.
* parse.c (decode_statement): Set attr has_'import_set' for
the interface declaration of module procedures. Handle a match
occurring in 'gfc_match_submod_proc' and a match for
'submodule'.
(gfc_enclosing_unit): Include the state COMP_SUBMODULE.
(gfc_ascii_statement): Add END SUBMODULE.
(accept_statement): Add ST_SUBMODULE.
(parse_spec): Disallow statement functions in a submodule
specification part.
(parse_contained): Add ST_END_SUBMODULE and COMP_SUBMODULE
twice each.
(get_modproc_result): Copy the result symbol of the interface.
(parse_progunit): Call it.
(set_syms_host_assoc): Make symbols from the ancestor module
and submodules use associated, as required by the standard and
set all private components public. Module procedures 'external'
attribute bit is reset and the 'used_in_submodule' bit is set.
(parse_module): If this is a submodule, use the ancestor module
and submodules. Traverse the namespace, calling
'set_syms_host_assoc'. Add ST_END_SUBMODULE and COMP_SUBMODULE.
* parse.h : Add COMP_SUBMODULE.
* primary.c (match_variable): Add COMP_SUBMODULE.
* resolve.c (compare_fsyms): New function to compare the dummy
characteristics of a module procedure with its interface.
(resolve_fl_procedure): Compare the procedure, result and dummy
characteristics of a module_procedure with its interface, using
'compare_fsyms' for the dummy arguments.
* symbol.c (gfc_add_procedure): Suppress the check for existing
procedures in the case of a module procedure.
(gfc_add_explicit_interface): Skip checks that must fail for
module procedures.
(gfc_add_type): Allow a new type to be added to module
procedures, their results or their dummy arguments.
(gfc_copy_dummy_sym): New function to generate new dummy args
and copy the characteristics from the interface.
* trans-decl.c (gfc_sym_mangled_function_id): Module procedures
must always have their names mangled as if they are symbols
coming from a declaration in a module.
(gfc_get_symbol_decl): Add 'used_in_submodule' to the assert.
(gfc_finish_var_decl): Symbols with the 'used_in_submodule' bit
set are set DECL_EXTERNAL as if they were use associated.

2015-07-02  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/52846
* gfortran.dg/submodule_1.f90: New test
* gfortran.dg/submodule_2.f90: New test
* gfortran.dg/submodule_3.f90: New test
* gfortran.dg/submodule_4.f90: New test
* gfortran.dg/submodule_5.f90: New test
* gfortran.dg/submodule_6.f90: New test
* gfortran.dg/submodule_7.f90: New test

From-SVN: r225354

9 years agore PR preprocessor/53690 ([C++11] \u0000 and \U00000000 are wrongly encoded as U...
Paolo Carlini [Thu, 2 Jul 2015 18:54:41 +0000 (18:54 +0000)]
re PR preprocessor/53690 ([C++11] \u0000 and \U00000000 are wrongly encoded as U+0001.)

/libcpp
2015-07-02  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/53690
* charset.c (_cpp_valid_ucn): Add cppchar_t * parameter and change
return type to bool.  Fix encoding of \u0000 and \U00000000 in C++.
(convert_ucn): Adjust call.
* lex.c (forms_identifier_p): Likewise.
* internal.h (_cpp_valid_ucn): Adjust declaration.

/gcc/testsuite
2015-07-02  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/53690
* g++.dg/cpp/pr53690.C: New.

From-SVN: r225353

9 years agors6000-builtin.def (CMPGE_16QI): New built-in definition.
Bill Schmidt [Thu, 2 Jul 2015 18:30:35 +0000 (18:30 +0000)]
rs6000-builtin.def (CMPGE_16QI): New built-in definition.

[gcc]

2015-07-02  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

* config/rs6000/rs6000-builtin.def (CMPGE_16QI): New built-in
definition.
(CMPGE_8HI): Likewise.
(CMPGE_4SI): Likewise.
(CMPGE_2DI): Likewise.
(CMPGE_U16QI): Likewise.
(CMPGE_U8HI): Likewise.
(CMPGE_U4SI): Likewise.
(CMPGE_U2DI): Likewise.
(CMPLE_16QI): Likewise.
(CMPLE_8HI): Likewise.
(CMPLE_4SI): Likewise.
(CMPLE_2DI): Likewise.
(CMPLE_U16QI): Likewise.
(CMPLE_U8HI): Likewise.
(CMPLE_U4SI): Likewise.
(CMPLE_U2DI): Likewise.
* config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add
overloads for ALTIVEC_BUILTIN_VEC_CMPGE and
ALTIVEC_BUILTIN_VEC_CMPLE.
* config/rs6000/vector.md (vector_ge<mode>): Restrict to
floating-point vector modes.
(vector_nlt<mode>): New define_expand.
(vector_nltu<mode>): Likewise.
(vector_ngt<mode>): Likewise.
(vector_ngtu<mode>): Likewise.

[gcc/testsuite]

2015-07-02  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

* gcc.target/powerpc/vec-cmp.c: New test.

From-SVN: r225351

9 years agore PR fortran/56520 (Syntax error causes misleading message: "Invalid character in...
Steven G. Kargl [Thu, 2 Jul 2015 17:29:04 +0000 (17:29 +0000)]
re PR fortran/56520 (Syntax error causes misleading message: "Invalid character in name")

2015-07-02  Steven G. Kargl  <kargl@gcc.gnu.org>

PR fortran/56520
* match.c (gfc_match_name): Special case unary minus and plus.

2015-07-02  Steven G. Kargl  <kargl@gcc.gnu.org>

PR fortran/56520
* gfortran.dg/pr56520.f90: New test.

From-SVN: r225349

9 years agore PR fortran/66545 (ICE on using undefined parameter/variable values)
Steven G. Kargl [Thu, 2 Jul 2015 17:02:10 +0000 (17:02 +0000)]
re PR fortran/66545 (ICE on using undefined parameter/variable values)

2015-07-02  Steven G. Kargl   <kargl@gcc.gnu.org>

PR fortran/66545
* primary.c (match_sym_complex_part): Do not dereference NULL pointer.

2015-07-02  Steven G. Kargl   <kargl@gcc.gnu.org>

PR fortran/66545
* gfortran.dg/pr66545_1.f90: New test.
* gfortran.dg/pr66545_2.f90: New test.

From-SVN: r225348

9 years agore PR rtl-optimization/66706 (Redundant bitmask instruction on x >> (n & 32))
Segher Boessenkool [Thu, 2 Jul 2015 16:27:11 +0000 (18:27 +0200)]
re PR rtl-optimization/66706 (Redundant bitmask instruction on x >> (n & 32))

PR rtl-optimization/66706
* combine.c (make_compound_operation): If an AND of SUBREG of
LSHIFTRT does not simplify, see if just the AND of SUBREG does.

From-SVN: r225344

9 years agoRegenerate .pot files.
Joseph Myers [Thu, 2 Jul 2015 12:04:27 +0000 (13:04 +0100)]
Regenerate .pot files.

gcc/po:
* gcc.pot: Regenerate.

libcpp/po:
* cpplib.pot: Regenerate.

From-SVN: r225313

9 years agotree-pass.h (make_pass_ch_vect): New.
Alan Lawrence [Thu, 2 Jul 2015 11:47:31 +0000 (11:47 +0000)]
tree-pass.h (make_pass_ch_vect): New.

gcc/:

* tree-pass.h (make_pass_ch_vect): New.
* passes.def: Add pass_ch_vect just before pass_if_conversion.

* tree-ssa-loop-ch.c (ch_base, pass_ch_vect, pass_data_ch_vect,
pass_ch::process_loop_p, pass_ch_vect::process_loop_p,
make_pass_ch_vect): New.
(pass_ch): Extend ch_base.

(pass_ch::execute): Move all but loop_optimizer_init/finalize to...
(ch_base::copy_headers): ...here.

gcc/testsuite/:

* gcc.dg/vect/vect-strided-a-u16-i4.c (main1): Narrow scope of x,y,z,w.
* gcc.dg/vect/vect-ifcvt-11.c: New testcase.

From-SVN: r225311