| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
| |
Call constraint_satisfied_p, instead of MEM_P and memory_operand, to
check for valid memory operand.
* ira-costs.c (record_reg_classes): Call constraint_satisfied_p,
instead of MEM_P, to check for valid memory operand.
* recog.c (asm_operand_ok): Call constraint_satisfied_p, instead
of memory_operand, to check for valid memory operand.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Given
(insn 144 143 145 21 (set (reg:V2DF 253 [ vect__24.23 ])
(float_extend:V2DF (vec_select:V2SF (reg:V4SF 254)
(parallel [
(const_int 0 [0])
(const_int 1 [0x1])
])))) x.i:10 2440 {sse2_cvtps2pd}
(nil))
which matches
[(set (match_operand:V2DF 0 "register_operand" "=v")
(float_extend:V2DF
(vec_select:V2SF
(match_operand:V4SF 1 "vector_operand" "vBm")
(parallel [(const_int 0) (const_int 1)]))))]
LRA doesn't consider that the Bm constraint is an alternative match for
(reg:V4SF 254) since it isn't a memory constraint. Change Bm to a
memory constraint fixes this issue.
However documentation says that define_memory_constraint is for MEM
constraints where if they are not satisfied they can be made to satisfy
by forcing the address into a register. But that is not the case here,
if a MEM is misaligned, no equivalent changes to the XEXP (mem, 0) will
make it aligned. This restriction shows up in LRA process_alt_operands.
This patch also changes LRA to skip bad MEM. Although there are no
regressions on x86-64, there could be latent issues.
gcc/
PR target/69299
* lra-constraints.c (process_alt_operands): Skip bad memory
operand.
* config/i386/constraints.md (Bm): Use define_memory_constraint.
gcc/testsuite/
PR target/69299
* gcc.target/i386/pr69299.c: New test.
|
|
|
|
|
|
|
|
|
|
|
| |
* config/i386/i386.c (ix86_expand_vector_set) <case V4SImode>: For
SSE1, copy target into the temporary reg first before recursing
on it.
* gcc.target/i386/pr69551.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@232982 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
| |
* gcc.target/i386/pr66137.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@232981 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2016-01-29 Andrew Bennett <andrew.bennett@imgtec.com>
* gcc.target/mips/p5600-bonding.c (dg-options): Force the test to be
always built for p5600.
* gcc.target/mips/mips.exp (mips-dg-options): Add support for the
isa=p5600 dg-option.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@232980 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
sse2_cvtps2pd<mask_name> has
(define_insn "sse2_cvtps2pd<mask_name>"
[(set (match_operand:V2DF 0 "register_operand" "=v")
(float_extend:V2DF
(vec_select:V2SF
(match_operand:V4SF 1 "vector_operand" "vBm")
(parallel [(const_int 0) (const_int 1)]))))]
The memory operand size is 8 bytes (2 floats). We should use vm instead
of vBm.
* config/i386/sse.md (sse2_cvtps2pd<mask_name>): Replace vBm
with vm.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@232979 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
| |
2016-01-29 Martin Jambor <mjambor@suse.cz>
* MAINTAINERS (hsa maintainers): Add myself.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@232978 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
| |
* ginclude/stdarg.h: Test __cplusplus instead of
__GXX_EXPERIMENTAL_CXX0X__.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@232977 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
| |
PR tree-optimization/69547
* tree-ssa-dce.c (mark_aliased_reaching_defs_necessary_1):
Do not mark clobbers necessary.
(mark_all_reaching_defs_necessary_1): Likewise.
* g++.dg/tree-ssa/pr69547.C: New testcase.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@232976 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
| |
* decl.c (wrapup_globals_for_namespace): Warn about unused static
function declarations.
* g++.dg/warn/Wunused-function2.C: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@232975 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
| |
PR libstdc++/69506
* config/os/newlib/os_defines.h (_GLIBCXX_USE_WEAK_REF): Define.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@232974 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
| |
gcc/ChangeLog
* config/s390/s390-c.c (s390_resolve_overloaded_builtin): Format
declaration name with %qs and print it in both error messages. Also
fix indentation.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@232973 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
| |
gcc/ChangeLog
PR other/69006
* config/s390/s390-c.c (s390_resolve_overloaded_builtin): Remove
trailing blank line from error message.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@232972 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The test case works on S/390 too, but only with -march=z13 or later
(i.e. if Gcc can make use of hardware vector support). Otherwise the
optimization gets too complex. The attached patch forces Gcc to use
-march=z13 instead of xfail'ing the test on S/390.
gcc/testsuite/ChangeLog
* gcc.dg/tree-ssa/ssa-dom-cse-2.c: Require a hardware vector support for
test to succeed.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@232971 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
| |
gcc/ChangeLog
PR c++/69462
* ginclude/float.h: Also provide FLT_EVAL_METHOD and DECIMAL_DIG
for C++-11.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@232970 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
PR c++/69516
* constexpr.c (cxx_eval_array_reference): Give the "array subscript
out of bound" error earlier.
* init.c (build_vec_init): Change NE_EXPR into GT_EXPR. Update the
commentary.
* g++.dg/ext/constexpr-vla2.C: New test.
* g++.dg/ext/constexpr-vla3.C: New test.
* g++.dg/ubsan/vla-1.C: Remove dg-shouldfail.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@232969 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
| |
PR middle-end/69537
* match.pd: Allow all integral types when simplifying a
widening or sign-changing conversion.
* gcc.dg/uninit-21.c: New testcase.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@232968 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
| |
Revert 'assert instead of silently failing code gen' that produces an ICE with isl-0.14.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@232966 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
| |
gcc/cp/ChangeLog:
* name-lookup.c (begin_scope): After reusing a cp_binding_level
structure, update free_binding_level before the structure's
level_chain field gets cleared, not after.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@232965 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
| |
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@232963 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
| |
* files.c (_cpp_find_file): Set file->implicit_preinclude even if
included from file->implicit_preinclude header.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@232956 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* config/i386/constraints.md (C): Only accept constant zero operand.
(BC): New constraint.
* config/i386/sse.md (*mov<mode>_internal): Use BC constraint
instead of C constraint.
* doc/md.texi (Machine Constraints): Update description
of C constraint.
testsuite/ChangeLog:
PR target/69459
* gcc.target/i386/pr69459.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@232955 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
| |
* gcc.target/mips/mips.exp (mips_option_groups): Add stack-protector.
* gcc.target/mips/pr68400.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@232954 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
| |
PR target/68400
* config/mips/mips.c (and_operands_ok): Add MIPS16 check.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@232952 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
| |
2016-01-28 Martin Sebor <msebor@redhat.com>
PR target/17381
* gcc.target/powerpc/pr17381.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@232947 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
| |
* lra-remat.c (calculate_local_reg_remat_bb_data): Only consider
non-debug insns.
* gcc.dg/torture/pr69542.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@232946 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
| |
branches if using guessed profile.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@232945 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
| |
* graphite-optimize-isl.c (optimize_isl): Fix dump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@232939 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* config/aarch64/aarch64-modes.def (CC_Cmode): New
* config/aarch64/aarch64-protos.h: Update.
* config/aarch64/aarch64.c (aarch64_zero_extend_const_eq): New.
(aarch64_select_cc_mode): Add check for use of CC_Cmode.
(aarch64_get_condition_code_1): Handle CC_Cmode.
* config/aarch64/aarch64.md (addti3): Use adddi3_compareC.
(*add<mode>3_compareC_cconly_imm): New.
(*add<mode>3_compareC_cconly): New.
(*add<mode>3_compareC_imm): New.
(add<mode>3_compareC): New.
(add<mode>3_carryin, *addsi3_carryin_uxtw): Sort compare operand
to be first. Use aarch64_carry_operation.
(*add<mode>3_carryin_alt1, *addsi3_carryin_alt1_uxtw): Remove.
(*add<mode>3_carryin_alt2, *addsi3_carryin_alt2_uxtw): Remove.
(*add<mode>3_carryin_alt3, *addsi3_carryin_alt3_uxtw): Remove.
(subti3): Use subdi3_compare1.
(*sub<mode>3_compare0): Rename from sub<mode>3_compare0.
(sub<mode>3_compare1): New.
(*sub<mode>3_carryin0, *subsi3_carryin_uxtw): New.
(*sub<mode>3_carryin): Use aarch64_borrow_operation.
(*subsi3_carryin_uxtw): Likewise.
(*ngc<mode>, *ngcsi_uxtw): Likewise.
(*sub<mode>3_carryin_alt, *subsi3_carryin_alt_uxtw): New.
* config/aarch64/iterators.md (DWI): New.
* config/aarch64/predicates.md (aarch64_carry_operation): New.
(aarch64_borrow_operation): New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@232936 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
| |
2016-01-28 Abderrazek Zaafrani <a.zaafrani@samsung.com>
* graphite-optimize-isl.c (optimize_isl): Print a different debug
message when isl does not return a valid schedule.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@232935 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
| |
* graphite-isl-ast-to-gimple.c (class translate_isl_ast_to_gimple):
Remove comments from class declarations: they are already in the code
close by the defs.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@232934 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* graphite-isl-ast-to-gimple.c (binary_op_to_tree): Call codegen_error_p.
(ternary_op_to_tree): Same.
(unary_op_to_tree): Same.
(nary_op_to_tree): Same.
(gcc_expression_from_isl_expr_op): Same.
(gcc_expression_from_isl_expression): Same.
(graphite_create_new_loop): Same.
(graphite_create_new_loop_guard): Same.
(build_iv_mapping): Same.
(graphite_create_new_guard): Same.
(translate_isl_ast_to_gimple::copy_loop_phi_nodes): Same.
(translate_isl_ast_to_gimple::translate_pending_phi_nodes): Same.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@232933 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
| |
* graphite-isl-ast-to-gimple.c (get_rename_from_scev): Assert instead of
setting codegen_error to fail codegen.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@232932 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
| |
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@232931 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
the immediate in a rare case. This requires a fix to the CCMP cost
calculation as the CCMP instruction with unspec is no longer recognized.
Fix the ccmp_1.c test by adding -ffinite-math-only so FCCMPE is emitted on
relational compares.
2016-01-28 Wilco Dijkstra <wdijkstr@arm.com>
gcc/
* config/aarch64/aarch64.c (aarch64_if_then_else_costs):
Remove CONST_INT_P check in CCMP cost calculation.
gcc/testsuite/
* gcc.target/aarch64/ccmp_1.c: Fix test issue.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@232930 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
| |
* search.c (dfs_walk_once, dfs_walk_once_r)
(dfs_walk_once_accessible_r, dfs_walk_once_accessible): Use
hash_set instead of BINFO_MARKED.
(dfs_unmark_r): Remove.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@232929 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
| |
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@232928 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
| |
* gcc.dg/pr66688.c: Same.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@232927 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
| |
* gcc.dg/tree-ssa/sra-17.c: Adjust regex for more label styles.
* gcc.dg/tree-ssa/sra-18.c: Same.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@232926 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Split check for obsolete
isinf and isnan functions into two independent checks. Check on hpux.
* config.h.in: Regenerate.
* configure: Regenerate.
* include/c_global/cmath (isinf(double), isnan(double)): Use
_GLIBCXX_HAVE_OBSOLETE_ISINF and _GLIBCXX_HAVE_OBSOLETE_ISNAN,
respectively.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@232925 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
| |
(enum attrib_type): ...this.
(struct attrib): Adjust.
* gcc-interface/decl.c (prepend_one_attribute): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@232923 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
into a complex sequence of instructions. This fixes major performance
regressions due to recent changes in SLP vectorizer (which now vectorizes
more aggressively and emits many complex permutes). Set the cost to > 1
for all microarchitectures so that the number of permutes is usually zero
and regressions disappear.
2016-01-28 Wilco Dijkstra <wdijkstr@arm.com>
* config/aarch64/aarch64.c (generic_vector_cost):
Set vec_permute_cost.
(cortexa57_vector_cost): Likewise.
(exynosm1_vector_cost): Likewise.
(xgene1_vector_cost): Likewise.
(aarch64_builtin_vectorization_cost): Use vec_permute_cost.
* config/aarch64/aarch64-protos.h (cpu_vector_cost):
Add vec_permute_cost entry.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@232922 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
using a register operand in the disassembly. Avoid this by removing
the register operand.
2016-01-28 Wilco Dijkstra <wdijkstr@arm.com>
* config/aarch64/aarch64.md (ccmp<mode>): Disassemble
immediate as %1.
(add<mode>3_compare0): Likewise.
(addsi3_compare0_uxtw): Likewise.
(add<mode>3nr_compare0): Likewise.
(compare_neg<mode>): Likewise.
(<optab><mode>3): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@232921 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
| |
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@232920 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2016-01-28 Andre Vehreschild <vehre@gcc.gnu.org>
PR fortran/62536
* decl.c (gfc_match_end): Only unnest and remove BLOCK namespaces
when the END encountered does not match a BLOCK's end.
gcc/testsuite/ChangeLog:
2016-01-28 Andre Vehreschild <vehre@gcc.gnu.org>
PR fortran/62536
* gfortran.dg/block_15.f08: New test.
* gfortran.dg/block_end_error_1.f90: Need to catch additional error
on incorrectly closed BLOCK.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@232919 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
| |
* tree-vect-stmts.c (vectorizable_comparison): Add
NULL check for vectype.
gcc/testsuite/
* gcc.dg/declare-simd.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@232917 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
| |
PR tree-optimization/69466
* tree-vect-loop-manip.c (slpeel_duplicate_current_defs_from_edges):
Account for PHIs we couldn't duplicate.
* gfortran.dg/vect/pr69466.f90: New testcase.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@232916 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
| |
PR pch/68758
* ggc-common.c (gt_pch_save): Use ENABLE_VALGRIND_ANNOTATIONS macro
instead of ENABLE_VALGRIND_CHECKING.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@232915 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
| |
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@232914 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
| |
gcc/testsuite/
* g++.dg/pr67989.C: Remove ARM-specific option.
* gcc.target/arm/pr67989.C: New file.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@232913 138bc75d-0d04-0410-961f-82ee72b054a4
|