Age | Commit message (Collapse) | Author | Files | Lines |
|
(taken from [AArch64] Add support for float14x{4,8}_t vectors/builtins)
* gcc.target/aarch64/vld1_lane.c (main): Remove unused test data.
(CHECK): Pass address of scalar, rather than array.
From-SVN: r226353
|
|
(taken from [AArch64] Add support for float14x{4,8}_t vectors/builtins)
* gcc.target/aarch64/vld1-vst1_1.c: Add missing float32x4_t case.
From-SVN: r226352
|
|
* gcc.target/aarch64/fp16/fp16.exp: New.
* gcc.target/aarch64/fp16/f16_convs_1.c: New.
* gcc.target/aarch64/fp16/f16_convs_2.c: New.
From-SVN: r226350
|
|
gcc/:
* config/aarch64/aarch64-builtins.c (aarch64_fp16_type_node): New.
(aarch64_init_builtins): Make aarch64_fp16_type_node, use for __fp16.
* config/aarch64/aarch64-modes.def: Add HFmode.
* config/aarch64/aarch64.h (TARGET_CPU_CPP_BUILTINS): Define
__ARM_FP16_FORMAT_IEEE and __ARM_FP16_ARGS. Set bit 1 of __ARM_FP.
* config/aarch64/aarch64.c (aarch64_init_libfuncs,
aarch64_promoted_type): New.
(aarch64_float_const_representable_p): Disable HFmode.
(aarch64_mangle_type): Mangle half-precision floats to "Dh".
(TARGET_PROMOTED_TYPE): Define to aarch64_promoted_type.
(TARGET_INIT_LIBFUNCS): Define to aarch64_init_libfuncs.
* config/aarch64/aarch64.md (mov<mode>): Include HFmode using GPF_F16.
(movhf_aarch64, extendhfsf2, extendhfdf2, truncsfhf2, truncdfhf2): New.
* config/aarch64/iterators.md (GPF_F16): New.
gcc/testsuite/:
* gcc.target/aarch64/f16_movs_1.c: New test.
From-SVN: r226346
|
|
2015-07-28 Tom de Vries <tom@codesourcery.com>
* tree-parloops.c (reduc_stmt_res): New function.
(initialize_reductions, add_field_for_reduction)
(create_phi_for_local_result, create_loads_for_reductions)
(create_stores_for_reduction, build_new_reduction): Handle case that
reduc_stmt is a phi.
(gather_scalar_reductions): Allow double_reduc reductions.
* gcc.dg/autopar/uns-outer-4.c: Remove xfail on scan for parallelizing
outer loop.
* testsuite/libgomp.c/uns-outer-4.c: New test.
From-SVN: r226300
|
|
gcc/c/ChangeLog
2015-07-28 Luis Felipe Strano Moraes <luis.strano@gmail.com>
Manuel López-Ibáñez <manu@gcc.gnu.org>
* c-decl.c (get_parm_info): Remove static var. Update warning
message.
gcc/testsuite/ChangeLog
2015-07-28 Luis Felipe Strano Moraes <luis.strano@gmail.com>
Manuel López-Ibáñez <manu@gcc.gnu.org>
* gcc.dg/parm-incomplete-1.c: Update.
* gcc.dg/pr18809-1.c: Update.
* gcc.dg/pr27953.c: Update.
* gcc.dg/vla-11.c: Update.
Co-Authored-By: Manuel López-Ibáñez <manu@gcc.gnu.org>
From-SVN: r226274
|
|
From-SVN: r226271
|
|
2015-07-27 Tom de Vries <tom@codesourcery.com>
* gcc.dg/autopar/outer-4.c (parloop): Remove superfluous noinline
attribute. Update comment.
(main): Remove.
Add scan for not parallelizing inner loop.
* gcc.dg/autopar/uns-outer-4.c (parloop): Remove superfluous noinline
attribute.
(main): Remove.
From-SVN: r226269
|
|
[-Werror=tautological-compare])
PR bootstrap/67030
* c-common.c (warn_tautological_cmp): Don't warn for macro expansion.
* c-c++-common/Wtautological-compare-2.c: New test.
From-SVN: r226264
|
|
PR target/66232
* gcc.target/i386/pr66232-6.c: New tests.
* gcc.target/i386/pr66232-7.c: Likewise.
* gcc.target/i386/pr66232-8.c: Likewise.
* gcc.target/i386/pr66232-9.c: Likewise.
From-SVN: r226254
|
|
PR c++/66555
PR c/54979
* c-common.c (find_array_ref_with_const_idx_r): New function.
(warn_tautological_cmp): New function.
* c-common.h (warn_tautological_cmp): Declare.
* c.opt (Wtautological-compare): New option.
* c-typeck.c (parser_build_binary_op): Call warn_tautological_cmp.
* call.c (build_new_op_1): Call warn_tautological_cmp.
* pt.c (tsubst_copy_and_build): Use sentinel to suppress tautological
compare warnings.
* doc/invoke.texi: Document -Wtautological-compare.
* c-c++-common/Wtautological-compare-1.c: New test.
From-SVN: r226242
|
|
gcc/cp/ChangeLog:
PR c++/18969
* typeck.c (check_return_expr): Also do the basic return-value
validity checking if processing_template_decl and yet types are
not dependent. Remove obsolete code.
gcc/testsuite/ChangeLog:
PR c++/18969
* g++.dg/template/pr18969.C: New test.
* g++.dg/template/pr18969-2.C: New test.
* g++.old-deja/g++.jason/overload.C: Remove return value in
template function returning void.
From-SVN: r226236
|
|
shift-overflow warnings.
* gcc.target/alpha/pr66140.c (lpfc_bg_setup_bpl): Use unsigned
immediates to avoid shift-overflow warnings.
From-SVN: r226233
|
|
Fix PR c++/66857
gcc/cp/ChangeLog:
PR c++/66857
* cvt.c (ocp_convert): Don't call scalar_constant_value when
converting to a class type.
gcc/testsuite/ChangeLog:
PR c++/66857
* g++.dg/init/pr66857.C: New test.
From-SVN: r226228
|
|
* ChangeLog: Fix whitespace.
* testsuite/ChangeLog: Ditto.
From-SVN: r226217
|
|
at -O2)
PR target/66648
* config/i386/i386.c (ix86_expand_set_or_movmem): Emit main loop
execution guard when min_size is less than size_needed.
testsuite/ChangeLog:
PR target/66648
* gcc.target/i386/pr66648.c: New test.
From-SVN: r226212
|
|
2015-07-25 Tom de Vries <tom@codesourcery.com>
* gcc.dg/graphite/graphite.exp: Include uns-*.c files in
interchange_files and block_files variables.
* gcc.dg/graphite/uns-block-1.c (main): Change signed into unsigned
arithmetic.
* gcc.dg/graphite/uns-interchange-12.c: Same.
* gcc.dg/graphite/uns-interchange-14.c: Same.
* gcc.dg/graphite/uns-interchange-15.c: Same.
* gcc.dg/graphite/uns-interchange-9.c (foo): Same.
* gcc.dg/graphite/uns-interchange-mvt.c: Same.
From-SVN: r226209
|
|
PR c++/64989
* pt.c (splice_late_return_type): Correct deduced return type for
abbreviated function template.
From-SVN: r226207
|
|
is ~20% lower than with CLANG)
Revert:
PR lto/66752
* tree-ssa-threadedge.c (simplify_conrol_stmt_condition): If we are
unable to find X NE 0 in the tables, return X as the simplified
condition.
(fsm_find_control_statement_thread_paths): If nodes in NEXT_PATH are
in VISISTED_BBS, then return failure. Else add nodes from NEXT_PATH
to VISISTED_BBS. */
* tree-ssa-threadupdate.c (duplicate_thread_path): Fix up edge flags
after removing the control flow statement and unnecessary edges.
testsuite/
PR lto/66752
* gcc.dg/tree-ssa/pr66752-2.c: New test.
* gcc.dg/torture/pr66752-1.c: New test
* g++.dg/torture/pr66752-2.C: New test.
From-SVN: r226206
|
|
2015-07-23 Alexandre Oliva <aoliva@redhat.com>
From-SVN: r226202
|
|
2015-07-24 Tom de Vries <tom@codesourcery.com>
* graphite-sese-to-poly.c (is_reduction_operation_p): Limit
flag_associative_math to FLOAT_TYPE_P. Honour
TYPE_OVERFLOW_WRAPS for INTEGRAL_TYPE_P. Don't allow any other types.
* gcc.dg/graphite/block-1.c: Xfail scan.
* gcc.dg/graphite/interchange-12.c: Same.
* gcc.dg/graphite/interchange-14.c: Same.
* gcc.dg/graphite/interchange-15.c: Same.
* gcc.dg/graphite/interchange-9.c: Same.
* gcc.dg/graphite/interchange-mvt.c: Same.
* gcc.dg/graphite/uns-block-1.c: New test.
* gcc.dg/graphite/uns-interchange-12.c: New test.
* gcc.dg/graphite/uns-interchange-14.c: New test.
* gcc.dg/graphite/uns-interchange-15.c: New test.
* gcc.dg/graphite/uns-interchange-9.c: New test.
* gcc.dg/graphite/uns-interchange-mvt.c: New test.
From-SVN: r226193
|
|
2015-07-24 Manuel López-Ibáñez <manu@gcc.gnu.org>
PR c++/64079
* toplev.c (check_global_declaration): Use DECL_SOURCE_LOCATION
and "%qD" in warning_at instead of "%q+D" in warning.
/testsuite
2015-07-24 Manuel López-Ibáñez <manu@gcc.gnu.org>
PR c++/64079
* c-c++-common/Wunused-function-1.c: New.
From-SVN: r226191
|
|
2015-07-24 Tom de Vries <tom@codesourcery.com>
* tree-parloops.c (gen_parallel_loop): Add debug print for alternative
exit-first loop transform.
* gcc.dg/parloops-exit-first-loop-alt-2.c: Use debug print for
alternative exit-first loop transform.
* gcc.dg/parloops-exit-first-loop-alt-3.c: Same.
* gcc.dg/parloops-exit-first-loop-alt-4.c: Same.
* gcc.dg/parloops-exit-first-loop-alt-5.c: Same.
* gcc.dg/parloops-exit-first-loop-alt-6.c: Same.
* gcc.dg/parloops-exit-first-loop-alt-7.c: Same.
* gcc.dg/parloops-exit-first-loop-alt-pr66652.c: Same.
* gcc.dg/parloops-exit-first-loop-alt.c: Same.
* gfortran.dg/parloops-exit-first-loop-alt-2.f95: Same.
* gfortran.dg/parloops-exit-first-loop-alt.f95: Same.
From-SVN: r226164
|
|
operator[], at vec.h:714)
gcc/
PR ipa/66566
* ipa-inline-analysis.c (estimate_calls_size_and_time): Check
edge summary is available.
gcc/testsuite/
PR ipa/66566
* gcc.target/i386/mpx/pr66566.c: New test.
From-SVN: r226155
|
|
PR bootstrap/66978
* gcc.target/i386/pr66978.c: New test.
From-SVN: r226150
|
|
gcc/ChangeLog:
2015-07-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
* config/s390/s390.c (s390_save_gprs_to_fprs): Add CFA_REGISTER
reg note to the GPR -> FPR save instructions.
gcc/testsuite/ChangeLog:
2015-07-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
* gcc.target/s390/gpr2fprsavecfi.c: New test.
From-SVN: r226149
|
|
gcc/ChangeLog:
2015-07-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
* config/s390/s390.c (s390_rtx_costs): Make risbg patterns
cheaper.
(s390_expand_insv): Don't generate risbg pattern for constant zero
sources.
* config/s390/s390.md ("*insv<mode>_zEC12_appendbitsleft")
("*insv<mode>_z10_appendbitsleft"): New pattern definitions. New
splitters.
gcc/testsuite/ChangeLog:
2015-07-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
* gcc.target/s390/insv-1.c: New test.
* gcc.target/s390/insv-2.c: New test.
* gcc.target/s390/insv-3.c: New test.
From-SVN: r226148
|
|
2015-07-24 Tom de Vries <tom@codesourcery.com>
* gcc.dg/autopar/uns-outer-4.c: Remove loopfn xfail.
From-SVN: r226142
|
|
PR middle-end/25530
2015-07-24 Naveen H.S <Naveen.Hurugalawadi@caviumnetworks.com>
gcc/testsuite/ChangeLog:
* gcc.dg/pr25530.c: New test.
gcc/ChangeLog:
* match.pd (mult (trunc_div @0 integer_pow2p@1) @1) : New simplifier.
From-SVN: r226137
|
|
&0x7FFFFFFF)
PR middle-end/25529
2015-07-24 Naveen H.S <Naveen.Hurugalawadi@caviumnetworks.com>
gcc/testsuite/ChangeLog:
* gcc.dg/pr25529.c: New test.
gcc/ChangeLog:
* match.pd (trunc_div (mult @0 integer_pow2p@1) @1) : New simplifier.
From-SVN: r226136
|
|
gcc/testsuite/ChangeLog:
2015-07-23 Kugan Vivekanandarajah <kuganv@linaro.org>
* gcc.target/arm/reg_equal_test.c: New test.
gcc/ChangeLog:
2015-07-23 Kugan Vivekanandarajah <kuganv@linaro.org>
* config/arm/arm.c (arm_emit_movpair): Add REG_EQUAL notes to
instruction.
From-SVN: r226135
|
|
lower than with CLANG)
PR lto/66752
* tree-ssa-threadedge.c (simplify_conrol_stmt_condition): If we are
unable to find X NE 0 in the tables, return X as the simplified
condition.
(fsm_find_control_statement_thread_paths): If nodes in NEXT_PATH are
in VISISTED_BBS, then return failure. Else add nodes from NEXT_PATH
to VISISTED_BBS. */
* tree-ssa-threadupdate.c (duplicate_thread_path): Fix up edge flags
after removing the control flow statement and unnecessary edges.
testsuite/
PR lto/66752
* gcc.dg/tree-ssa/pr66752-2.c: New test.
* gcc.dg/torture/pr66752-1.c: New test
* g++.dg/torture/pr66752-2.C: New test.
From-SVN: r226125
|
|
instantiations)
PR c++/66572
* pt.c (tsubst_copy_and_build): Add warn_logical_op sentinel.
* g++.dg/warn/Wlogical-op-2.C: New test.
From-SVN: r226120
|
|
for gcc/ChangeLog
PR rtl-optimization/64164
* Makefile.in (OBJS): Drop tree-ssa-copyrename.o.
* tree-ssa-copyrename.c: Removed.
* opts.c (default_options_table): Drop -ftree-copyrename. Add
-ftree-coalesce-vars.
* passes.def: Drop all occurrences of pass_rename_ssa_copies.
* common.opt (ftree-copyrename): Ignore.
(ftree-coalesce-inlined-vars): Likewise.
* doc/invoke.texi: Remove the ignored options above.
* gimple-expr.h (gimple_can_coalesce_p): Move declaration
* tree-ssa-coalesce.h: ... here.
* tree-ssa-uncprop.c: Include tree-ssa-coalesce.h and other
headers required by it.
* gimple-expr.c (gimple_can_coalesce_p): Allow coalescing
across variables when flag_tree_coalesce_vars. Check register
use and promoted modes to allow coalescing. Moved to
tree-ssa-coalesce.c.
* tree-ssa-live.c (struct tree_int_map_hasher): Move along
with its member functions to tree-ssa-coalesce.c.
(var_map_base_init): Likewise. Renamed to
compute_samebase_partition_bases.
(partition_view_normal): Drop want_bases parameter.
(partition_view_bitmap): Likewise.
* tree-ssa-live.h: Adjust declarations.
* tree-ssa-coalesce.c: Include explow.h.
(build_ssa_conflict_graph): Process PARM_ and RESULT_DECLs's
default defs at the entry point.
(dump_part_var_map): New.
(compute_optimized_partition_bases): New, called by...
(coalesce_ssa_name): ... when flag_tree_coalesce_vars, instead
of compute_samebase_partition_bases. Adjust.
* alias.c (nonoverlapping_memrefs_p): Disregard gimple-regs.
* cfgexpand.c (leader_merge): New.
(get_rtl_for_parm_ssa_default_def): New.
(set_rtl): Merge exprs and attrs, even for MEMs and non-SSA
vars. Update DECL_RTL for PARM_DECLs and RESULT_DECLs too.
(expand_one_stack_var_at): Handle anonymous SSA_NAMEs. Drop
redundant MEM attr setting.
(expand_one_stack_var_1): Handle anonymous SSA_NAMEs. Renamed
from...
(expand_one_stack_var): ... this. New wrapper to check and
skip already expanded SSA partitions.
(record_alignment_for_reg_var): New, factored out of...
(expand_one_var): ... this.
(expand_one_ssa_partition): New.
(adjust_one_expanded_partition_var): New.
(expand_one_register_var): Check and skip already expanded SSA
partitions.
(expand_used_vars): Don't create DECLs for anonymous SSA
names. Expand all SSA partitions, then adjust all SSA names.
(pass::execute): Replace the loops that set
SA.partition_to_pseudo from partition leaders and cleared
DECL_RTL for multi-location variables, and that which used to
rename vars and set attrs, with one that clears DECL_RTL and
checks that PARMs and RESULTs default_defs match DECL_RTL.
* cfgexpand.h (get_rtl_for_parm_ssa_default_def): Declare.
* emit-rtl.c (set_reg_attrs_for_parm): Handle NULL decl.
* explow.c (promote_ssa_mode): New.
* explow.h (promote_ssa_mode): Declare.
* expr.c (expand_expr_real_1): Handle anonymous SSA_NAMEs.
* function.c: Include cfgexpand.h.
(use_register_for_decl): Handle SSA_NAMEs, anonymous or not.
(use_register_for_parm_decl): Wrapper for the above to
special-case the result_ptr.
(rtl_for_parm): Ditto for get_rtl_for_parm_ssa_default_def.
(split_complex_args): Take assign_parm_data_all argument.
Pass it to rtl_for_parm. Set up rtl and context for split
args.
(assign_parms_augmented_arg_list): Adjust.
(maybe_reset_rtl_for_parm): Reset DECL_RTL of parms with
multiple locations. Recognize split complex args.
(assign_parm_adjust_stack_rtl): Add all and parm arguments,
for rtl_for_parm. For SSA-assigned parms, zero stack_parm.
(assign_parm_setup_block): Prefer SSA-assigned location.
(assign_parm_setup_reg): Likewise. Use entry_parm for equiv
if stack_parm is NULL.
(assign_parm_setup_stack): Prefer SSA-assigned location.
(assign_parms): Maybe reset DECL_RTL of params. Adjust stack
rtl before testing for pointer bounds. Special-case result_ptr.
(expand_function_start): Maybe reset DECL_RTL of result.
Prefer SSA-assigned location for result and static chain.
Factor out DECL_RESULT and SET_DECL_RTL.
* tree-outof-ssa.c (insert_value_copy_on_edge): Handle
anonymous SSA names. Use promote_ssa_mode.
(get_temp_reg): Likewise.
(remove_ssa_form): Adjust.
* stor-layout.c (layout_decl): Don't set mem attributes of
non-MEMs.
* var-tracking.c (dataflow_set_clear_at_call): Take call_insn
and get its reg_usage for reg invalidation.
(compute_bb_dataflow): Pass it insn.
(emit_notes_in_bb): Likewise.
for gcc/testsuite/ChangeLog
* gcc.dg/guality/pr54200.c: Add -fno-tree-coalesce-vars.
* gcc.dg/ssp-1.c: Make counter a register.
* gcc.dg/ssp-2.c: Likewise.
* gcc.dg/torture/parm-coalesce.c: New.
From-SVN: r226113
|
|
PR sanitizer/66908
* c-ubsan.c: Include gimplify.h.
(ubsan_instrument_division): Unshare OP0 and OP1.
(ubsan_instrument_shift): Likewise.
* c-c++-common/ubsan/pr66908.c: New test.
From-SVN: r226110
|
|
2015-07-23 Tom de Vries <tom@codesourcery.com>
* tree-parloops.c (gather_scalar_reductions): Add arg to call to
vect_force_simple_reduction.
* tree-vect-loop.c (vect_analyze_scalar_cycles_1): Same.
(vect_is_simple_reduction_1): Add and handle
need_wrapping_integral_overflow parameter.
(vect_is_simple_reduction, vect_force_simple_reduction): Add and pass
need_wrapping_integral_overflow parameter.
(vectorizable_reduction): Add arg to call to vect_is_simple_reduction.
* tree-vectorizer.h (vect_force_simple_reduction): Add parameter to decl.
* gcc.dg/autopar/outer-4.c: Add xfail.
* gcc.dg/autopar/outer-5.c: Same.
* gcc.dg/autopar/outer-6.c: Same.
* gcc.dg/autopar/reduc-2.c: Same.
* gcc.dg/autopar/reduc-2char.c: Same.
* gcc.dg/autopar/reduc-2short.c: Same.
* gcc.dg/autopar/reduc-8.c: Same.
* gcc.dg/autopar/uns-outer-4.c: New test.
* gcc.dg/autopar/uns-outer-5.c: New test.
* gcc.dg/autopar/uns-outer-6.c: New test.
From-SVN: r226107
|
|
2015-07-23 Richard Biener <rguenther@suse.de>
PR tree-optimization/66952
* gcc.dg/torture/pr66952.c: Use signed char.
From-SVN: r226104
|
|
gcc/
PR tree-optimization/66926,66951
* tree-vect-loop-manip.c (slpeel_tree_peel_loop_to_edge): Delete
INNER_LOOP and fix up condition for renaming virtual operands.
gcc/testsuite/
PR tree-optimization/66926,66951
* gcc.dg/vect/pr66951.c: New test.
From-SVN: r226103
|
|
/cp
2015-07-23 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/52987
* parser.c (cp_parser_simple_declaration): Robustify check avoiding
redundant error messages.
/testsuite
2015-07-23 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/52987
* g++.dg/parse/error57.C: New.
* g++.dg/expr/string-2.C: Update.
From-SVN: r226097
|
|
2015-07-23 Richard Biener <rguenther@suse.de>
PR tree-optimization/66945
* tree-ssa-propagate.c (substitute_and_fold_dom_walker
::before_dom_children): Force the propagators idea of
non-executable edges to materialize, not what the folder
chooses.
* gcc.dg/torture/pr66945.c: New testcase.
From-SVN: r226088
|
|
libgcc/ChangeLog:
PR target/66954
* config/i386/cpuinfo.c (enum processor_features): Add FEATURE_AES.
(get_available_features): Handle FEATURE_AES.
gcc/ChangeLog:
PR target/66954
* config/i386/i386.c (get_builtin_code_for_version): Add P_AES
to enum feature_priority and feature_list.
(fold_builtin_cpu): Add F_AES to enum processor_features
and isa_names_table.
gcc/testsuite/ChangeLog:
PR target/66954
* g++.dg/ext/mv24.C: New test.
From-SVN: r226081
|
|
* gcc.dg/vmx/unpack.c: Use dg-additional-options rather than
dg-options.
From-SVN: r226078
|
|
PR fortran/61831
PR fortran/66929
gcc/fortran/
* trans-array.c (gfc_get_proc_ifc_for_expr): Use esym as procedure
symbol if available.
gcc/testsuite/
* gfortran.dg/generic_30.f90: New.
From-SVN: r226074
|
|
2015-07-22 Richard Biener <rguenther@suse.de>
PR tree-optimization/66952
* tree-ssa-ifcombine.c (pass_tree_ifcombine::execute): For
blocks we end up executing unconditionally reset all SSA
info such as range and alignment.
* tree-ssanames.h (reset_flow_sensitive_info): Declare.
* tree-ssanames.c (reset_flow_sensitive_info): New function.
* gcc.dg/torture/pr66952.c: New testcase.
From-SVN: r226062
|
|
reported incorrectly)
gcc/ChangeLog:
2015-07-22 Charles Baylis <charles.baylis@linaro.org>
PR target/63870
* config/aarch64/aarch64-builtins.c (enum aarch64_type_qualifiers):
Add qualifier_struct_load_store_lane_index.
(aarch64_types_loadstruct_lane_qualifiers): Use
qualifier_struct_load_store_lane_index for lane index argument for
last argument.
(aarch64_types_storestruct_lane_qualifiers): Ditto.
(builtin_simd_arg): Add SIMD_ARG_STRUCT_LOAD_STORE_LANE_INDEX.
(aarch64_simd_expand_args): Add new argument describing mode of
builtin. Check lane bounds for arguments with
SIMD_ARG_STRUCT_LOAD_STORE_LANE_INDEX.
(aarch64_simd_expand_builtin): Emit error for incorrect lane indices
if marked with SIMD_ARG_STRUCT_LOAD_STORE_LANE_INDEX.
(aarch64_simd_expand_builtin): Handle arguments with
qualifier_struct_load_store_lane_index. Pass machine mode of builtin to
aarch64_simd_expand_args.
* config/aarch64/aarch64-simd-builtins.def: Declare ld[234]_lane and
vst[234]_lane with BUILTIN_VALLDIF.
* config/aarch64/aarch64-simd.md:
(aarch64_vec_load_lanesoi_lane<mode>): Use VALLDIF iterator. Perform
endianness reversal on lane index.
(aarch64_vec_load_lanesci_lane<mode>): Ditto.
(aarch64_vec_load_lanesxi_lane<mode>): Ditto.
(vec_store_lanesoi_lane<mode>): Use VALLDIF iterator.
(vec_store_lanesci_lane<mode>): Ditto.
(vec_store_lanesxi_lane<mode>): Ditto.
(aarch64_ld2_lane<mode>): Use VALLDIF iterator. Remove endianness
reversal of lane index.
(aarch64_ld3_lane<mode>): Ditto.
(aarch64_ld4_lane<mode>): Ditto.
(aarch64_st2_lane<mode>): Ditto.
(aarch64_st3_lane<mode>): Ditto.
(aarch64_st4_lane<mode>): Ditto.
* config/aarch64/arm_neon.h (__LD2_LANE_FUNC): Rename mode parameter
to qmode. Add new mode parameter. Update uses.
(__LD3_LANE_FUNC): Ditto.
(__LD4_LANE_FUNC): Ditto.
(__ST2_LANE_FUNC): Ditto.
(__ST3_LANE_FUNC): Ditto.
(__ST4_LANE_FUNC): Ditto.
gcc/testsuite/ChangeLog:
2015-07-22 Charles Baylis <charles.baylis@linaro.org>
* gcc.target/aarch64/advsimd-intrinsics/vld2_lane_f32_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vld2_lane_f64_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vld2_lane_p8_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vld2_lane_s16_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vld2_lane_s32_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vld2_lane_s64_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vld2_lane_s8_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vld2_lane_u16_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vld2_lane_u32_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vld2_lane_u64_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vld2_lane_u8_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vld2q_lane_f32_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vld2q_lane_f64_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vld2q_lane_p8_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vld2q_lane_s16_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vld2q_lane_s32_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vld2q_lane_s64_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vld2q_lane_s8_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vld2q_lane_u16_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vld2q_lane_u32_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vld2q_lane_u64_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vld2q_lane_u8_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vld3_lane_f32_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vld3_lane_f64_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vld3_lane_p8_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vld3_lane_s16_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vld3_lane_s32_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vld3_lane_s64_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vld3_lane_s8_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vld3_lane_u16_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vld3_lane_u32_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vld3_lane_u64_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vld3_lane_u8_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vld3q_lane_f32_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vld3q_lane_f64_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vld3q_lane_p8_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vld3q_lane_s16_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vld3q_lane_s32_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vld3q_lane_s64_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vld3q_lane_s8_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vld3q_lane_u16_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vld3q_lane_u32_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vld3q_lane_u64_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vld3q_lane_u8_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vld4_lane_f32_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vld4_lane_f64_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vld4_lane_p8_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vld4_lane_s16_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vld4_lane_s32_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vld4_lane_s64_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vld4_lane_s8_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vld4_lane_u16_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vld4_lane_u32_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vld4_lane_u64_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vld4_lane_u8_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vld4q_lane_f32_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vld4q_lane_f64_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vld4q_lane_p8_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vld4q_lane_s16_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vld4q_lane_s32_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vld4q_lane_s64_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vld4q_lane_s8_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vld4q_lane_u16_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vld4q_lane_u32_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vld4q_lane_u64_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vld4q_lane_u8_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vst2_lane_f32_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vst2_lane_f64_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vst2_lane_p8_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vst2_lane_s16_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vst2_lane_s32_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vst2_lane_s64_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vst2_lane_s8_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vst2_lane_u16_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vst2_lane_u32_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vst2_lane_u64_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vst2_lane_u8_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vst2q_lane_f32_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vst2q_lane_f64_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vst2q_lane_p8_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vst2q_lane_s16_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vst2q_lane_s32_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vst2q_lane_s64_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vst2q_lane_s8_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vst2q_lane_u16_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vst2q_lane_u32_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vst2q_lane_u64_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vst2q_lane_u8_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vst3_lane_f32_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vst3_lane_f64_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vst3_lane_p8_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vst3_lane_s16_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vst3_lane_s32_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vst3_lane_s64_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vst3_lane_s8_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vst3_lane_u16_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vst3_lane_u32_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vst3_lane_u64_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vst3_lane_u8_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vst3q_lane_f32_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vst3q_lane_f64_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vst3q_lane_p8_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vst3q_lane_s16_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vst3q_lane_s32_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vst3q_lane_s64_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vst3q_lane_s8_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vst3q_lane_u16_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vst3q_lane_u32_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vst3q_lane_u64_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vst3q_lane_u8_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vst4_lane_f32_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vst4_lane_f64_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vst4_lane_p8_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vst4_lane_s16_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vst4_lane_s32_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vst4_lane_s64_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vst4_lane_s8_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vst4_lane_u16_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vst4_lane_u32_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vst4_lane_u64_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vst4_lane_u8_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vst4q_lane_f32_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vst4q_lane_f64_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vst4q_lane_p8_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vst4q_lane_s16_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vst4q_lane_s32_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vst4q_lane_s64_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vst4q_lane_s8_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vst4q_lane_u16_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vst4q_lane_u32_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vst4q_lane_u64_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vst4q_lane_u8_indices_1.c: New
test.
From-SVN: r226059
|
|
error_mark_node as type.
/cp
2015-07-21 Paolo Carlini <paolo.carlini@oracle.com>
* decl.c (grokdeclarator): For an erroneous template parameter
propagate error_mark_node as type.
/testsuite
2015-07-21 Paolo Carlini <paolo.carlini@oracle.com>
* g++.dg/template/crash81.C: Update.
From-SVN: r226054
|
|
2015-07-21 Vladimir Makarov <vmakarov@redhat.com>
PR ipa/66424.
* lra-remat.c (operand_to_remat): Prevent using insns with input
subregs processed separately by IRA.
2015-07-21 Vladimir Makarov <vmakarov@redhat.com>
PR ipa/66424.
* gcc.target/i386/pr66424.c: New.
From-SVN: r226053
|
|
2015-07-21 Alex Velenko <Alex.Velenko@arm.com>
* gcc.target/arm/thumb-bitfld1.c (foo): Add explicit return type.
From-SVN: r226043
|
|
gcc/testsuite/
PR fortran/61831
* gfortran.dg/derived_constructor_comps_6.f90: Fix dg directive.
Drop address sanitization.
From-SVN: r226038
|
|
2015-07-21 Alex Velenko <Alex.Velenko@arm.com>
gcc/testsuite/
* gcc.target/arm/split-live-ranges-for-shrink-wrap.c (dg-skip-if):
Skip -march=armv4t.
(dg-additional-options): Set armv5t flag.
From-SVN: r226036
|