grahams [Mon, 6 May 2013 22:08:56 +0000 (22:08 +0000)]
013-05-06 Graham Stott <grahams@btinternet.com>
* gensupport.c (add_predicate_code): Also exclude SCRATCH from rtx
codes which allow non-lvalues.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198653
138bc75d-0d04-0410-961f-
82ee72b054a4
glisse [Mon, 6 May 2013 21:14:59 +0000 (21:14 +0000)]
2013-05-06 Marc Glisse <marc.glisse@inria.fr>
* tree.c (integer_all_onesp) <COMPLEX_CST>: Test that both
components are all 1s.
(integer_minus_onep): New function.
* tree.h (integer_minus_onep): Declare it.
* fold-const.c (fold_binary_loc) <MULT_EXPR>: Test
integer_minus_onep instead of integer_all_onesp.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198649
138bc75d-0d04-0410-961f-
82ee72b054a4
glisse [Mon, 6 May 2013 21:11:24 +0000 (21:11 +0000)]
2013-05-06 Marc Glisse <marc.glisse@inria.fr>
gcc/cp/
* typeck.c (cp_build_binary_op): Call save_expr before
build_vector_from_val.
gcc/testsuite/
* c-c++-common/vector-scalar-2.c: New testcase.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198648
138bc75d-0d04-0410-961f-
82ee72b054a4
olegendo [Mon, 6 May 2013 19:59:26 +0000 (19:59 +0000)]
PR target/52933
* config/sh/sh.md (*cmp_div0s_0, *cmp_div0s_1, *movsicc_div0s): Add
variations of these patterns.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198646
138bc75d-0d04-0410-961f-
82ee72b054a4
uros [Mon, 6 May 2013 19:53:43 +0000 (19:53 +0000)]
* config/i386/i386.md (isa): Add x64_sse4 member.
(enabled): Handle x64_sse4.
(*movdi_internal): Add *x->?r alternative to emit pextrq $0,%xmm,%reg
instruction for 64bit SSE4_1 targets. Update insn attributes.
(*movsi_internal): Add *x->?r alternative to emit pextrd $0,%xmm,%reg
instruction for SSE4_1 targets. Update insn attributes.
* config/i386/sse.md (*vec_extract<ssevecmodelower>_0): Merge
with *sse4_1_pextrd and *sse4_1_pextrq having const_0 selector.
(*vec_extractv2di_1): Merge with *sse4_1_pextrq having
const_1 selector.
(*vec_extractv4si): Rename from *sse4_1_pextrd.
(*vec_extractv4si_zext): Rename from *sse4_1_pextrd_zext.
(*vec_extract<ssevecmodelower>_0 splitters): Merge splitters together.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198643
138bc75d-0d04-0410-961f-
82ee72b054a4
olegendo [Mon, 6 May 2013 19:49:57 +0000 (19:49 +0000)]
PR target/57108
* config/sh/sh.md (tstsi_t_zero_extract_eq): Use QIHISIDI mode iterator.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198642
138bc75d-0d04-0410-961f-
82ee72b054a4
hjl [Mon, 6 May 2013 19:35:44 +0000 (19:35 +0000)]
Support {, } and | in assembly output
gcc/
2013-05-06 Maxim Kuznetsov <maks.kuznetsov@gmail.com>
* final.c (do_assembler_dialects): Don't handle curly braces and
vertical bar escaped by % as dialect delimiters.
(output_asm_insn): Print curly braces and vertical bar if escaped
by % and ASSEMBLER_DIALECT defined.
* doc/tm.texi.in (ASSEMBLER_DIALECT): Document new standard escapes.
* doc/tm.texi: Regenerated.
gcc/testsuite/
2013-05-06 Maxim Kuznetsov <maks.kuznetsov@gmail.com>
* gcc.target/i386/asm-dialect-2.c: New testcase.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198641
138bc75d-0d04-0410-961f-
82ee72b054a4
steven [Mon, 6 May 2013 19:02:12 +0000 (19:02 +0000)]
* config/mips/mips.c: Include tree-pass.h.
(mips_reorg): Split in pre- and post-dbr_schedule parts.
(mips_machine_reorg2): Move mips_reorg post-dbr_schedule parts here.
(pass_mips_machine_reorg2): New machine specific pass.
(insert_pass_mips_machine_reorg2): New pass plugin definition.
(mips_option_override): Register the new pass.
* rtl.h (cleanup_barriers): Remove prototype.
(dbr_schedule): Likewise.
* jump.c (cleanup_barriers): Make static.
* reorg.c (dbr_schedule): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198640
138bc75d-0d04-0410-961f-
82ee72b054a4
paolo [Mon, 6 May 2013 16:40:24 +0000 (16:40 +0000)]
/cp
2013-05-06 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/57183
* decl.c (cp_finish_decl): After do_auto_deduction copy the
qualifers with cp_apply_type_quals_to_decl.
/testsuite
2013-05-06 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/57183
* g++.dg/cpp0x/auto38.C: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198636
138bc75d-0d04-0410-961f-
82ee72b054a4
uros [Mon, 6 May 2013 16:22:21 +0000 (16:22 +0000)]
* ChangeLog: Add my last entry.
* testsuite/ChangLog: Ditto.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198634
138bc75d-0d04-0410-961f-
82ee72b054a4
dje [Mon, 6 May 2013 15:40:54 +0000 (15:40 +0000)]
2013-05-06 David Edelsohn <dje.gcc@gmail.com>
Peter Bergner <bergner@vnet.ibm.com>
Segher Boessenkool <segher@kernel.crashing.org>
Jakub Jelinek <jakub@redhat.com>
* hashtab.c (hash_pointer): Remove conditional and avoid
unexecuted shift equal to wordsize.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198633
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Mon, 6 May 2013 15:09:41 +0000 (15:09 +0000)]
PR libgcj/57074
* class.c (emit_symbol_table): Use array type of the
right size for the_syms_decl and its DECL_INITIAL, instead
of symbols_array_type. Set TREE_TYPE (the_syms_decl) to it.
(emit_assertion_table): Use array type of the right size
for table_decl and its DECL_INITIAL.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198631
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Mon, 6 May 2013 15:06:41 +0000 (15:06 +0000)]
2013-05-06 Richard Biener <rguenther@suse.de>
PR tree-optimization/57185
* tree-parloops.c (add_field_for_reduction): Handle anonymous
SSA names properly.
* gcc.dg/autopar/pr57185.c: New testcase.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198630
138bc75d-0d04-0410-961f-
82ee72b054a4
uros [Mon, 6 May 2013 14:53:03 +0000 (14:53 +0000)]
PR target/57106
* config/i386/i386.c (add_parameter_dependencies): Add dependence
between "first_arg" and "insn", not "last" and "insn".
testsuite/ChangeLog:
PR target/57106
* gcc.target/i386/pr57106.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198629
138bc75d-0d04-0410-961f-
82ee72b054a4
wschmidt [Mon, 6 May 2013 13:31:39 +0000 (13:31 +0000)]
gcc:
2013-05-06 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
* gimple-ssa-strength-reduction.c (slsr_process_phi): Re-enable.
(find_candidates_in_block): Re-enable slsr_process_phi.
(create_phi_basis): Fix double counting of candidate adjustment.
gcc/testsuite:
2013-05-06 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
* gcc.dg/tree-ssa/slsr-32.c: Re-enable.
* gcc.dg/tree-ssa/slsr-33.c: Likewise.
* gcc.dg/tree-ssa/slsr-34.c: Likewise.
* gcc.dg/tree-ssa/slsr-35.c: Likewise.
* gcc.dg/tree-ssa/slsr-36.c: Likewise.
* gcc.dg/tree-ssa/slsr-37.c: Likewise.
* gcc.dg/tree-ssa/slsr-38.c: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198627
138bc75d-0d04-0410-961f-
82ee72b054a4
tejohnson [Mon, 6 May 2013 12:46:53 +0000 (12:46 +0000)]
2013-05-03 Teresa Johnson <tejohnson@google.com>
PR bootstrap/57154
* gcc.dg/pr57154.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198626
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Mon, 6 May 2013 11:27:29 +0000 (11:27 +0000)]
2013-05-06 Richard Biener <rguenther@suse.de>
PR middle-end/57147
* tree-cfg.c (gimple_purge_dead_abnormal_call_edges): If
the edge is also fallthru, preserve it and just clear the
abnormal flag.
* tree-cfgcleanup.c (remove_fallthru_edge): If the edge is
also complex, preserve that and just clear the fallthru flag.
* tree-inline.c (update_ssa_across_abnormal_edges): Also
update virtual operands.
* gcc.dg/torture/pr57147-1.c: New testcase.
* gcc.dg/torture/pr57147-2.c: Likewise.
* gcc.dg/torture/pr57147-3.c: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198625
138bc75d-0d04-0410-961f-
82ee72b054a4
tschwinge [Mon, 6 May 2013 08:23:02 +0000 (08:23 +0000)]
libgcc/
* fp-bit.c (unpack_d, pack_d): Properly preserve and restore a
NaN's payload.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198622
138bc75d-0d04-0410-961f-
82ee72b054a4
tschwinge [Mon, 6 May 2013 08:22:48 +0000 (08:22 +0000)]
libgcc/
* fp-bit.h [FLOAT] (QUIET_NAN): Correct value.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198621
138bc75d-0d04-0410-961f-
82ee72b054a4
amodra [Mon, 6 May 2013 02:57:43 +0000 (02:57 +0000)]
* config/rs6000/linux.h (DEFAULT_ASM_ENDIAN): Define.
(LINK_OS_LINUX_EMUL): Use ENDIAN_SELECT.
* config/rs6000/linux64.h (DEFAULT_ASM_ENDIAN): Define.
* config/rs6000/sysv4le.h (DEFAULT_ASM_ENDIAN): Define.
(LINK_TARGET_SPEC): Use ENDIAN_SELECT.
* config/rs6000/sysv4.h (DEFAULT_ASM_ENDIAN): Define as -mbig.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198620
138bc75d-0d04-0410-961f-
82ee72b054a4
amodra [Mon, 6 May 2013 00:20:29 +0000 (00:20 +0000)]
* config/rs6000/sysv4.h (ENDIAN_SELECT): Define, extracted from
(ASM_SPEC): ..here. Emit DEFAULT_ASM_ENDIAN too.
(DEFAULT_ASM_ENDIAN): Define.
(CC1_SPEC, LINK_TARGET_SPEC): Use ENDIAN_SELECT.
* config/rs6000/linux64.h (ASM_SPEC32): Remove endian options.
Update -K PIC clause from sysv4.h.
(ASM_SPEC_COMMON): Use ENDIAN_SELECT.
(LINK_OS_LINUX_EMUL32, LINK_OS_LINUX_EMUL64): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198619
138bc75d-0d04-0410-961f-
82ee72b054a4
amodra [Mon, 6 May 2013 00:19:07 +0000 (00:19 +0000)]
* config/rs6000/rs6000.md (bswapdi 2nd splitter): Don't swap words
twice for little-endian.
(ashrdi3_no_power, ashrdi3): Support little-endian.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198618
138bc75d-0d04-0410-961f-
82ee72b054a4
olegendo [Mon, 6 May 2013 00:16:55 +0000 (00:16 +0000)]
PR target/55303
* config/sh/sh.c (sh_rtx_costs): Handle SMIN and SMAX cases.
* config/sh/sh.md (*clips, uminsi3, *clipu, clipu_one): New insns and
related expanders.
* config/sh/iterators.md (SMIN_SMAX): New code iterator.
* config/sh/predicates.md (arith_reg_or_0_or_1_operand,
clips_min_const_int, clips_max_const_int, clipu_max_const_int):
New predicates.
PR target/55303
* gcc.target/sh/pr55303-1.c: New.
* gcc.target/sh/pr55303-2.c: New.
* gcc.target/sh/pr55303-3.c: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198617
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Mon, 6 May 2013 00:16:24 +0000 (00:16 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198616
138bc75d-0d04-0410-961f-
82ee72b054a4
dje [Sun, 5 May 2013 23:47:22 +0000 (23:47 +0000)]
* caf/libcaf.h (_gfortran_caf_critical): Add a prototype.
(_gfortran_caf_end_critical): Same.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198613
138bc75d-0d04-0410-961f-
82ee72b054a4
danglin [Sun, 5 May 2013 20:47:24 +0000 (20:47 +0000)]
* config.gcc (hppa*-*-*): Remove MASK_BIG_SWITCH from CPU default.
* config/pa/pa.opt: Make mbig-switch a no-op.
* config/pa/pa.h (TARGET_DEFAULT): Remove MASK_BIG_SWITCH.
(CASE_VECTOR_MODE): Always return SImode.
(ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT): Remove code
for the !TARGET_BIG_SWITCH case.
* config/pa/pa-linux.h: Likewise.
* config/pa/pa-openbsd.h: Likewise.
* config/pa/pa-hpux.h: Define TARGET_DEFAULT to 0.
* config/pa/pa.md (short_jump): Remove define_insn.
(casesi): Remove code for the !TARGET_BIG_SWITCH case.
(casesi0): Remove define_insn.
(type): Remove btable_branch.
(pa_combine_type): Likewise.
(in_nullified_branch_delay): Likewise.
(in_call_delay): Likewise.
(define_delay): Likewise.
(define_insn_reservation "Z3"): Likewise.
(define_insn_reservation "Z4"): Likewise.
* config/pa/pa.c (pa_reorg): Remove code for !TARGET_BIG_SWITCH.
(pa_adjust_insn_length): Remove adjustment for btable branches.
* doc/invoke.texi (HPPA Options): Delete documentation for mbig-switch
and mno-big-switch
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198612
138bc75d-0d04-0410-961f-
82ee72b054a4
uros [Sun, 5 May 2013 17:25:50 +0000 (17:25 +0000)]
* config/i386/sse.md (*vec_extract<ssevecmodelower>_0): Merge
from sse2_stored and *sse2_storeq_rex64 using SWI48 mode iterator.
Add m->r,x alternatives.
(*vec_extract<ssevecmodelower>_0 splitters): Merge V2DI and V4SI
splitters using SWI48x mode iterator.
(*vec_extract_v2di_0_sse): Rename from *sse2_storeq. Disable for
TARGET_64BIT. Add m->x alternative.
(*vec_extractv4si_mem): Rename from *vec_ext_v4si_mem.
Add o->x alternative. Enable for TARGET_SSE.
(sse_storeq): Remove expander.
(*vec_extractv2di_1): Enable for TARGET_SSE. Split alternatives
with memory input operand.
(*vec_extractv2di_1 splitter): New.
(*vec_extractv4sf_mem): Rename from *vec_extract_v4sf_mem.
* config/i386/i386.md (ssevecmodelower): New mode attribute.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198611
138bc75d-0d04-0410-961f-
82ee72b054a4
burnus [Sun, 5 May 2013 14:04:07 +0000 (14:04 +0000)]
2013-05-05 Tobias Burnus <burnus@net-b.de>
* resolve.c (conformable_arrays): Avoid segfault
when ar.start[i] == NULL.
2013-05-05 Tobias Burnus <burnus@net-b.de>
* gfortran.dg/allocate_with_source_3.f90: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198610
138bc75d-0d04-0410-961f-
82ee72b054a4
burnus [Sun, 5 May 2013 14:01:38 +0000 (14:01 +0000)]
2013-05-05 Tobias Burnus <burnus@net-b.de>
PR fortran/57141
* decl.c (gfc_match_null): Permit use-associated
NULL intrinsic.
2013-05-05 Tobias Burnus <burnus@net-b.de>
PR fortran/57141
* gfortran.dg/null_8.f90: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198609
138bc75d-0d04-0410-961f-
82ee72b054a4
paolo [Sun, 5 May 2013 11:36:27 +0000 (11:36 +0000)]
2013-05-05 Paolo Carlini <paolo.carlini@oracle.com>
* pt.c (convert_nontype_argument): Add missing whitespace in
error message.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198608
138bc75d-0d04-0410-961f-
82ee72b054a4
paolo [Sun, 5 May 2013 00:27:46 +0000 (00:27 +0000)]
/cp
2013-05-04 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/53745
* decl.c (build_enumerator): Improve error message.
/testsuite
2013-05-04 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/53745
* g++.dg/cpp0x/enum27.C: New.
* g++.dg/cpp0x/enum_base.C: Adjust.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198607
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Sun, 5 May 2013 00:16:24 +0000 (00:16 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198606
138bc75d-0d04-0410-961f-
82ee72b054a4
dje [Sat, 4 May 2013 21:23:11 +0000 (21:23 +0000)]
* runtime/environ.c: Include unistd.h.
* runtime/pause.c: Test HAVE_UNISTD_H.
* runtime/stop.c: Same.
* io/open.c: Same.
* io/unix.c: Same.
* io/read.c (si_max): Protect declaration of value.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198603
138bc75d-0d04-0410-961f-
82ee72b054a4
segher [Sat, 4 May 2013 21:22:09 +0000 (21:22 +0000)]
* config/rs6000/rs6000.c (INT_P): Reformat. Delete obsolete comment.
(INT_LOWPART): Delete.
(extract_MB): Adjust.
(extract_ME): Adjust.
(print_operand): Adjust.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198602
138bc75d-0d04-0410-961f-
82ee72b054a4
segher [Sat, 4 May 2013 21:19:08 +0000 (21:19 +0000)]
* config/rs6000/predicates.md (reg_or_add_cint_operand,
reg_or_sub_cint_operand): Delete "HOST_BITS_PER_WIDE_INT == 32" case.
(reg_or_logical_cint_operand, easy_fp_constant,
logical_const_operand): Delete "CONST_DOUBLE" case.
* config/rs6000/rs6000.c (num_insns_constant_wide): Delete
"HOST_BITS_PER_WIDE_INT == 64" test.
(num_insns_constant): Ditto. Delete CONST_DOUBLE DImode/VOIDmode
case.
(build_mask64_2_operands): Delete "HOST_BITS_PER_WIDE_INT >= 64" test.
(rs6000_emit_set_const): Delete CONST_DOUBLE case.
(rs6000_emit_set_long_const): Delete "HOST_BITS_PER_WIDE_INT >= 64"
test.
(includes_rldic_lshift_p, includes_rldicr_lshift_p): Delete
CONST_DOUBLE DImode/VOIDmode case.
(INT_P, INT_LOWPART): Delete CONST_DOUBLE case.
(print_operand): Delete "HOST_BITS_PER_WIDE_INT == 32" case. Delete
CONST_DOUBLE VOIDmode case.
(output_toc): Delete "HOST_BITS_PER_WIDE_INT == 32" case.
(rs6000_rtx_costs): Delete CONST_DOUBLE DImode/VOIDmode case.
* config/rs6000/rs6000.md (iordi3, xordi3, splitter for these):
Delete CONST_DOUBLE case.
(splitters for mov FMOVE64 const_double): Delete
"HOST_BITS_PER_WIDE_INT == 32" case. Delete
"HOST_BITS_PER_WIDE_INT >= 64" test.
(splitter for mov DI const_int): Delete "HOST_BITS_PER_WIDE_INT == 32"
case.
(mov DI const_double): Delete.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198601
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Sat, 4 May 2013 18:23:46 +0000 (18:23 +0000)]
PR tree-optimization/56205
* gcc.dg/tree-ssa/stdarg-6.c: Add cleanup-tree-dump "stdarg".
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198599
138bc75d-0d04-0410-961f-
82ee72b054a4
burnus [Sat, 4 May 2013 17:49:31 +0000 (17:49 +0000)]
2013-05-04 Tobias Burnus <burnus@net-b.de>
* decl.c (gfc_verify_c_interop_param): Permit allocatable
and pointer with -std=f2008ts.
2013-05-04 Tobias Burnus <burnus@net-b.de>
* gfortran.dg/bind_c_array_params.f03: Update dg-error.
* gfortran.dg/bind_c_usage_27.f90: New.
* gfortran.dg/bind_c_usage_28.f90: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198597
138bc75d-0d04-0410-961f-
82ee72b054a4
dje [Sat, 4 May 2013 14:49:59 +0000 (14:49 +0000)]
* inclhack.def (aix_null): New.
(void_null): Update replacement definition of NULL.
* fixincl.x: Regenerate.
* tests/base/curses.h: Update for new fix.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198596
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Sat, 4 May 2013 12:41:52 +0000 (12:41 +0000)]
* combine.c (combine_simplify_rtx) <case SUBREG>: If nonzero_bits
on op shows all bits zero in mode of a lowpart subreg, return zero.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198595
138bc75d-0d04-0410-961f-
82ee72b054a4
paolo [Sat, 4 May 2013 12:32:05 +0000 (12:32 +0000)]
2013-05-04 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/51927
* g++.dg/cpp0x/lambda/lambda-nsdmi4.C: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198594
138bc75d-0d04-0410-961f-
82ee72b054a4
meissner [Sat, 4 May 2013 05:38:47 +0000 (05:38 +0000)]
[gcc]
2013-05-03 Michael Meissner <meissner@linux.vnet.ibm.com>
PR target/57150
* config/rs6000/rs6000.h (HARD_REGNO_CALLER_SAVE_MODE): Use DFmode
to save TFmode registers and DImode to save TImode registers for
caller save operations.
(HARD_REGNO_CALL_PART_CLOBBERED): TFmode and TDmode do not need to
mark being partially clobbered since they only use the first
double word.
* config/rs6000/rs6000.c (rs6000_init_hard_regno_mode_ok): TFmode
and TDmode only use the upper 64-bits of each VSX register.
[gcc/testsuite]
2013-05-03 Michael Meissner <meissner@linux.vnet.ibm.com>
PR target/57150
* gcc.target/powerpc/pr57150.c: New file.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198593
138bc75d-0d04-0410-961f-
82ee72b054a4
wschmidt [Sat, 4 May 2013 04:57:32 +0000 (04:57 +0000)]
gcc:
2013-05-03 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
* gimple-ssa-strength-reduction.c (slsr_process_phi): Disable.
(find_candidates_in_block): Disable slsr_process_phi.
gcc/testsuite:
2013-05-03 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
* gcc.dg/tree-ssa/slsr-32.c: Skip test for now.
* gcc.dg/tree-ssa/slsr-33.c: Likewise.
* gcc.dg/tree-ssa/slsr-34.c: Likewise.
* gcc.dg/tree-ssa/slsr-35.c: Likewise.
* gcc.dg/tree-ssa/slsr-36.c: Likewise.
* gcc.dg/tree-ssa/slsr-37.c: Likewise.
* gcc.dg/tree-ssa/slsr-38.c: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198592
138bc75d-0d04-0410-961f-
82ee72b054a4
carrot [Sat, 4 May 2013 01:26:52 +0000 (01:26 +0000)]
* coverage.c (coverage_obj_init): Move the construction of gcov
constructor to
(build_init_ctor): here.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198591
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Sat, 4 May 2013 00:16:17 +0000 (00:16 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198590
138bc75d-0d04-0410-961f-
82ee72b054a4
hjl [Fri, 3 May 2013 20:08:19 +0000 (20:08 +0000)]
Remove "\\" from scan-assembler-times
2013-05-03 Dominique d'Humieres <dominiq@lps.ens.fr>
p
* gcc.target/i386/sse2-init-v2di-2.c: Remove "\\" from
scan-assembler-times.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198587
138bc75d-0d04-0410-961f-
82ee72b054a4
wschmidt [Fri, 3 May 2013 18:56:39 +0000 (18:56 +0000)]
gcc:
2013-05-03 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
* gimple-ssa-strength-reduction.c (cand_kind): Add CAND_PHI.
(slsr_cand_d): Redefine def_phi.
(stride_status, phi_adjust_status, count_phis_status): New enums.
(find_phi_def): New.
(find_basis_for_base_expr): New.
(find_basis_for_candidate): Handle hidden bases.
(alloc_cand_and_find_basis): Handle phi candidates.
(slsr_process_phi): New.
(create_mul_ssa_cand): Exclude phi base candidates; use integer_onep.
(create_mul_imm_cand): Likewise.
(create_add_ssa_cand): Exclude phi base candidates.
(create_add_imm_cand): Likewise.
(slsr_process_cast): Likewise.
(slsr_process_copy): Likewise.
(find_candidates_in_block): Handle phi candidates.
(dump_candidate): Likewise.
(unconditional_cands): Delete.
(unconditional_cands_with_known_stride_p): Delete.
(phi_dependent_cand_p): New.
(cand_increment): Handle phi-dependent candidates.
(replace_dependent): Delete.
(replace_mult_candidate): New.
(replace_unconditional_candidate): New.
(incr_vec_index): Move to avoid forward reference.
(create_add_on_incoming_edge): New.
(create_phi_basis): New.
(replace_dependents): Delete.
(replace_conditional_candidate): New.
(phi_add_costs): New.
(replace_uncond_cands_and_profitable_phis): New.
(record_increment): Handle phi adjustments.
(record_phi_increments): New.
(record_increments): Handle phi adjustments.
(phi_incr_cost): New.
(lowest_cost_path): Handle phis.
(total_savings): Likewise.
(analyze_increments): Likewise.
(ncd_with_phi): New.
(ncd_of_cand_and_phis): New.
(nearest_common_dominator_for_cands): Handle phi increments.
(all_phi_incrs_profitable): New.
(replace_profitable_candidates): Handle phi-dependent candidates.
(analyze_candidates_and_replace): Likewise.
gcc/testsuite:
2013-05-03 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
* gcc.dg/tree-ssa/slsr-32.c: New.
* gcc.dg/tree-ssa/slsr-33.c: New.
* gcc.dg/tree-ssa/slsr-34.c: New.
* gcc.dg/tree-ssa/slsr-35.c: New.
* gcc.dg/tree-ssa/slsr-36.c: New.
* gcc.dg/tree-ssa/slsr-37.c: New.
* gcc.dg/tree-ssa/slsr-38.c: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198586
138bc75d-0d04-0410-961f-
82ee72b054a4
ibolton [Fri, 3 May 2013 18:30:00 +0000 (18:30 +0000)]
AArch64 test cases for TST instruction
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198585
138bc75d-0d04-0410-961f-
82ee72b054a4
tejohnson [Fri, 3 May 2013 16:48:24 +0000 (16:48 +0000)]
2013-05-03 Teresa Johnson <tejohnson@google.com>
PR bootstrap/57154
* sched-rgn.c (compute_dom_prob_ps): Ensure accumulated probabilities
do not exceed REG_BR_PROB_BASE.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198584
138bc75d-0d04-0410-961f-
82ee72b054a4
law [Fri, 3 May 2013 16:47:21 +0000 (16:47 +0000)]
Fix typos in ChangeLog entries
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198583
138bc75d-0d04-0410-961f-
82ee72b054a4
law [Fri, 3 May 2013 16:35:04 +0000 (16:35 +0000)]
PR tree-optimization/57411
* tree-vrp.c (simplify_cond_using_ranges): Verify the constant
operand of the condition will bit into the new type when eliminating
a cast feeding a condition.
PR tree-optimization/57411
* gcc.c-torture/execute/pr57144.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198582
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Fri, 3 May 2013 12:56:12 +0000 (12:56 +0000)]
PR rtl-optimization/57130
* combine.c (make_compound_operation) <case SUBREG>: Pass
SET instead of COMPARE as in_code to the recursive call
if needed.
* gcc.c-torture/execute/pr57130.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198579
138bc75d-0d04-0410-961f-
82ee72b054a4
uros [Fri, 3 May 2013 12:03:29 +0000 (12:03 +0000)]
* config/i386/i386.md (isa): Add x64_sse4_noavx and x64_avx members.
(enabled): Handle new members.
* config/i386/sse.md (*vec_concatv2si): Merge from
*vec_concatv2si_sse2 and vec_concatv2si_sse.
(vec_concatv2di): Merge with *vec_concatv2di_rex64.
testsuite/ChangeLog:
* gcc.target/i386/sse2-init-v2di-2.c: Update scan assembler string.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198578
138bc75d-0d04-0410-961f-
82ee72b054a4
amylaar [Fri, 3 May 2013 11:18:37 +0000 (11:18 +0000)]
2013-05-03 Joern Rennecke <joern.rennecke@embecosm.com>
PR tree-optimization/57027
* tree-ssa-math-opts.c (convert_mult_to_fma): When checking for
fnms opportunity, check we got the prerequisite kind of tree / gimple
before using accessor functions.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198577
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Fri, 3 May 2013 11:09:59 +0000 (11:09 +0000)]
2013-05-03 Richard Biener <rguenther@suse.de>
* double-int.h (lshift): New overload without precision
and arith argument.
(operator *=, operator +=, operator -=): Move ...
* double-int.c (operator *=, operator +=, operator -=): ... here
and implement more efficiently.
(mul_double_with_sign): Remove.
(lshift_double): Adjust to take unsinged shift argument, push
dispatching code to callers.
(mul_double_wide_with_sign): Add early out for callers that
are not interested in high parts or overflow.
(lshift): New function.
(lshift, rshift, alshift, arshift, llshift, lrshift): Add
dispatch code here.
(lrotate, rrotate): Use logical shifts.
* expr.c (get_inner_reference): Use lshift.
* fixed-value.c (do_fixed_divide): Likewise.
* tree-dfa.c (get_ref_base_and_extent): Likewise.
* tree-ssa-alias.c (indirect_ref_may_alias_decl_p): Likewise.
(indirect_refs_may_alias_p): Likewise.
(stmt_kills_ref_p_1): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198576
138bc75d-0d04-0410-961f-
82ee72b054a4
mshawcroft [Fri, 3 May 2013 10:21:16 +0000 (10:21 +0000)]
[AArch64] Correct simd_fabd comment text.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198575
138bc75d-0d04-0410-961f-
82ee72b054a4
mshawcroft [Fri, 3 May 2013 10:17:57 +0000 (10:17 +0000)]
[AArch64] Support scalar FABD
gcc/ChangeLog
2013-05-02 Vidya Praveen <vidyapraveen@arm.com>
* config/aarch64/aarch64-simd.md (*fabd_scalar<mode>3): Support
scalar form of FABD instruction.
gcc/testsuite/ChangeLog
2013-05-02 Vidya Praveen <vidyapraveen@arm.com>
* gcc.target/aarch64/fabd.c: New file.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198574
138bc75d-0d04-0410-961f-
82ee72b054a4
paolo [Fri, 3 May 2013 09:35:42 +0000 (09:35 +0000)]
2013-05-03 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/54318
* g++.dg/cpp0x/pr54318.C: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198573
138bc75d-0d04-0410-961f-
82ee72b054a4
paolo [Fri, 3 May 2013 09:02:15 +0000 (09:02 +0000)]
/cp
2013-05-03 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/14283
* parser.c (cp_parser_diagnose_invalid_type_name): Improve error
messages for template types and fix column numbers.
/testsuite
2013-05-03 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/14283
* g++.dg/parse/error51.C: New.
* g++.dg/parse/error15.C: Adjust column numbers.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198572
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Fri, 3 May 2013 00:16:24 +0000 (00:16 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198568
138bc75d-0d04-0410-961f-
82ee72b054a4
clyon [Thu, 2 May 2013 19:48:45 +0000 (19:48 +0000)]
Add ChangeLog entry for r197770 (in boehm-gc).
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198562
138bc75d-0d04-0410-961f-
82ee72b054a4
vmakarov [Thu, 2 May 2013 19:02:19 +0000 (19:02 +0000)]
2013-05-02 Vladimir Makarov <vmakarov@redhat.com>
* lra-constraints.c (process_alt_operands): Add checking alt
number to choose the best alternative.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198558
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Thu, 2 May 2013 17:24:26 +0000 (17:24 +0000)]
* tree-eh.c (cleanup_empty_eh_merge_phis): Remove rename_virts
bitmap and its handling.
(pass_cleanup_eh): Set todo_flags_finish to TODO_verify_ssa.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198552
138bc75d-0d04-0410-961f-
82ee72b054a4
burnus [Thu, 2 May 2013 16:29:14 +0000 (16:29 +0000)]
2013-05-02 Tobias Burnus <burnus@net-b.de>
PR fortran/57142
* simplify.c (gfc_simplify_size): Renamed from
simplify_size; fix kind=8 handling.
(gfc_simplify_size): New function.
(gfc_simplify_shape): Add range check.
* resolve.c (resolve_function): Fix handling
for ISYM_SIZE.
2013-05-02 Tobias Burnus <burnus@net-b.de>
PR fortran/57142
* gfortran.dg/size_kind_2.f90: New.
* gfortran.dg/size_kind_3.f90: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198549
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Thu, 2 May 2013 15:46:12 +0000 (15:46 +0000)]
2013-05-02 Richard Biener <rguenther@suse.de>
PR middle-end/57140
* tree-inline.c (copy_loops): Properly handle removed loops.
(copy_cfg_body): Mark destination loops for fixup if source
loops needed fixup.
* g++.dg/torture/pr57140.C: New testcase.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198548
138bc75d-0d04-0410-961f-
82ee72b054a4
gretay [Thu, 2 May 2013 15:45:10 +0000 (15:45 +0000)]
gcc/ChangeLog
2013-05-02 Greta Yorsh <Greta.Yorsh@arm.com>
PR target/56732
* config/arm/arm.c (arm_expand_epilogue): Check really_return before
generating simple_return for naked functions.
gcc/testsuite/ChangeLog
2013-05-02 Greta Yorsh <Greta.Yorsh@arm.com>
PR target/56732
* gcc.target/arm/pr56732-1.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198547
138bc75d-0d04-0410-961f-
82ee72b054a4
jamborm [Thu, 2 May 2013 14:03:02 +0000 (14:03 +0000)]
2013-05-02 Martin Jambor <mjambor@suse.cz>
PR middle-end/56988
* ipa-prop.h (ipa_agg_replacement_value): New flag by_ref.
* ipa-cp.c (ipa_get_indirect_edge_target_1): Also check that by_ref
flags match.
(find_aggregate_values_for_callers_subset): Fill in the by_ref flag of
ipa_agg_replacement_value structures.
(known_aggs_to_agg_replacement_list): Likewise.
* ipa-prop.c (write_agg_replacement_chain): Stream by_ref flag.
(read_agg_replacement_chain): Likewise.
(ipcp_transform_function): Also check that by_ref flags match.
testsuite/
* gcc.dg/ipa/pr56988.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198540
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Thu, 2 May 2013 13:59:38 +0000 (13:59 +0000)]
2013-05-02 Richard Biener <rguenther@suse.de>
* graphds.h (struct graph): Add obstack member.
* graphds.c (new_graph): Initialize obstack and allocate
vertices from it.
(add_edge): Allocate edge from the obstack.
(free_graph): Free the obstack instead of all edges and
vertices.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198539
138bc75d-0d04-0410-961f-
82ee72b054a4
tejohnson [Thu, 2 May 2013 13:20:47 +0000 (13:20 +0000)]
Follow-on patch to r197595 to complete the replacement of truncating divides
in profile scaling code with rounding divide equivalents using helper routines
in basic-block.h.
In addition to bootstrap and profiledbootstrap builds and tests (with and
without LTO), I built and tested performance of the SPEC cpu2006 benchmarks
with FDO on a Nehalem system. I didn't see any performance changes that
looked significant.
2013-05-02 Teresa Johnson <tejohnson@google.com>
* loop-unswitch.c (unswitch_loop): Use helper routines with rounding
divides.
* cfg.c (update_bb_profile_for_threading): Ditto.
* tree-inline.c (copy_bb): Ditto.
(copy_edges_for_bb): Ditto.
(initialize_cfun): Ditto.
(copy_cfg_body): Ditto.
(expand_call_inline): Ditto.
* ipa-inline-analysis.c (estimate_edge_size_and_time): Ditto.
(estimate_node_size_and_time): Ditto.
(inline_merge_summary): Ditto.
* cgraphclones.c (cgraph_clone_edge): Ditto.
(cgraph_clone_node): Ditto.
* sched-rgn.c (compute_dom_prob_ps): Ditto.
(compute_trg_info): Ditto.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198532
138bc75d-0d04-0410-961f-
82ee72b054a4
ibolton [Thu, 2 May 2013 12:54:16 +0000 (12:54 +0000)]
AArch64 fix for LDR/STR from/to S and D regs
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198527
138bc75d-0d04-0410-961f-
82ee72b054a4
ibolton [Thu, 2 May 2013 12:52:22 +0000 (12:52 +0000)]
AArch64 Support for BICS in the backend
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198526
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Thu, 2 May 2013 12:23:20 +0000 (12:23 +0000)]
2013-05-02 Richard Biener <rguenther@suse.de>
* tree-scalar-evolution.c (scev_info_hasher): Remove.
(struct instantiate_cache_entry): New type.
(struct instantiate_cache_entry_hasher): New hashtable descriptor.
(struct instantiate_cache_type): New type.
(set_instantiated_value, get_instantiated_value): Remove.
(get_instantiated_value_entry): New function.
(instantiate_scev_name): Use the new cache and adjust.
(instantiate_scev_poly): Adjust.
(instantiate_scev_binary): Likewise.
(instantiate_array_ref): Likewise.
(instantiate_scev_convert): Likewise.
(instantiate_scev_not): Likewise.
(instantiate_scev_3): Likewise.
(instantiate_scev_2): Likewise.
(instantiate_scev_r): Likewise.
(instantiate_scev): Likewise.
(resolve_mixers): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198523
138bc75d-0d04-0410-961f-
82ee72b054a4
paolo [Thu, 2 May 2013 12:03:30 +0000 (12:03 +0000)]
2013-05-02 Paolo Carlini <paolo.carlini@oracle.com>
* testsuite/tr1/4_metaprogramming/integral_constant/requirements/
constexpr_data.cc: Move...
* testsuite/20_util/integral_constant/requirements/constexpr_data.cc:
... here.
* testsuite/20_util/integral_constant/requirements/
explicit_instantiation.cc: New.
* testsuite/20_util/integral_constant/requirements/typedefs.cc:
Likewise.
* testsuite/20_util/integral_constant/static_definition.cc: Likewise.
* testsuite/20_util/integral_constant/true_false_type_typedefs.cc:
Likewise.
* testsuite/20_util/integral_constant/true_false_value.cc: Likewise.
* testsuite/20_util/integral_constant/operator_value_type.cc: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198521
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Thu, 2 May 2013 11:32:11 +0000 (11:32 +0000)]
Move libitm ChangeLog entry to the right ChangeLog file.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198519
138bc75d-0d04-0410-961f-
82ee72b054a4
paolo [Thu, 2 May 2013 11:00:26 +0000 (11:00 +0000)]
2013-05-02 Paolo Carlini <paolo.carlini@oracle.com>
* include/std/type_traits (is_null_pointer): Add.
(__is_nullptr_t): Implement in terms of the latter.
(is_fundamental, is_scalar): Adjust.
* testsuite/20_util/is_null_pointer/requirements/
explicit_instantiation.cc: New.
* testsuite/20_util/is_null_pointer/requirements/typedefs.cc:
Likewise.
* testsuite/20_util/is_null_pointer/value.cc: Likewise.
* testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
line number.
* testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
Likewise.
* testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198516
138bc75d-0d04-0410-961f-
82ee72b054a4
paolo [Thu, 2 May 2013 09:48:07 +0000 (09:48 +0000)]
2013-05-02 Paolo Carlini <paolo.carlini@oracle.com>
* include/c_global/cstdio: Add comment about LWG 2249.
* include/c_std/cstdio: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198512
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Thu, 2 May 2013 06:00:46 +0000 (06:00 +0000)]
PR rtl-optimization/57131
* gcc.c-torture/execute/pr57131.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198511
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Thu, 2 May 2013 00:16:22 +0000 (00:16 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198510
138bc75d-0d04-0410-961f-
82ee72b054a4
paolo [Wed, 1 May 2013 19:19:44 +0000 (19:19 +0000)]
/cp
2013-05-01 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/57132
* pt.c (tsubst_copy_and_build, MODOP_EXPR): Increase / decrease
c_inhibit_evaluation_warnings around build_x_modify_expr call.
/testsuite
2013-05-01 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/57132
* g++.dg/warn/Wdiv-by-zero-bogus-2.C: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198504
138bc75d-0d04-0410-961f-
82ee72b054a4
vmakarov [Wed, 1 May 2013 18:54:17 +0000 (18:54 +0000)]
2013-05-01 Vladimir Makarov <vmakarov@redhat.com>
PR target/57091
* lra-constraints.c (best_small_class_operands_num): Remove.
(process_alt_operands): Remove small_class_operands_num. Take
small classes operands into losers and only if the operand is not
matched. Modify debugging output.
(curr_insn_transform): Remove best_small_class_operands_num.
Print insn name.
2013-05-01 Vladimir Makarov <vmakarov@redhat.com>
PR target/57091
* gcc.target/i386/pr57091.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198503
138bc75d-0d04-0410-961f-
82ee72b054a4
jgreenhalgh [Wed, 1 May 2013 15:37:52 +0000 (15:37 +0000)]
[AArch64] Refactor reduc_<su>plus patterns.
gcc/
* config/aarch64/aarch64-builtins.c
(aarch64_gimple_fold_builtin.c): Fold more modes for reduc_splus_.
* config/aarch64/aarch64-simd-builtins.def
(reduc_splus_): Add new modes.
(reduc_uplus_): New.
* config/aarch64/aarch64-simd.md (aarch64_addvv4sf): Remove.
(reduc_uplus_v4sf): Likewise.
(reduc_splus_v4sf): Likewise.
(aarch64_addv<mode>): Likewise.
(reduc_uplus_<mode>): Likewise.
(reduc_splus_<mode>): Likewise.
(aarch64_addvv2di): Likewise.
(reduc_uplus_v2di): Likewise.
(reduc_splus_v2di): Likewise.
(aarch64_addvv2si): Likewise.
(reduc_uplus_v2si): Likewise.
(reduc_splus_v2si): Likewise.
(reduc_<sur>plus_<mode>): New.
(reduc_<sur>plus_v2di): Likewise.
(reduc_<sur>plus_v2si): Likewise.
(reduc_<sur>plus_v4sf): Likewise.
(aarch64_addpv4sf): Likewise.
* config/aarch64/arm_neon.h
(vaddv<q>_<s,u,f><8, 16, 32, 64): Rewrite using builtins.
* config/aarch64/iterators.md (unspec): Remove UNSPEC_ADDV,
add UNSPEC_SADDV, UNSPEC_UADDV.
(SUADDV): New.
(sur): Add UNSPEC_SADDV, UNSPEC_UADDV.
gcc/testsuite/
* gcc.target/aarch64/vect-vaddv.c: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198500
138bc75d-0d04-0410-961f-
82ee72b054a4
jgreenhalgh [Wed, 1 May 2013 15:33:34 +0000 (15:33 +0000)]
[AArch64] Rewrite v<max,min><nm><q><v>_<sfu><8, 16, 32, 64> intrinsics using builtins.
gcc/
* config/aarch64/arm_neon.h
(v<max,min><nm><q><v>_<sfu><8, 16, 32, 64>): Rewrite using builtins.
gcc/testsuite/
* gcc.target/aarch64/vect-vmaxv.c: New.
* gcc.target/aarch64/vect-vfmaxv.c: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198499
138bc75d-0d04-0410-961f-
82ee72b054a4
jgreenhalgh [Wed, 1 May 2013 15:18:18 +0000 (15:18 +0000)]
[AArch64] Fold max and min reduction builtins to tree.
gcc/
* config/aarch64/aarch64-builtins
(aarch64_gimple_fold_builtin): Fold reduc_<su><maxmin>_ builtins.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198498
138bc75d-0d04-0410-961f-
82ee72b054a4
jgreenhalgh [Wed, 1 May 2013 15:16:14 +0000 (15:16 +0000)]
[AArch64] Refactor vector max and min RTL and builtins.
gcc/
* config/aarch64/aarch64-simd-builtins.def
(reduc_smax_): New.
(reduc_smin_): Likewise.
(reduc_umax_): Likewise.
(reduc_umin_): Likewise.
(reduc_smax_nan_): Likewise.
(reduc_smin_nan_): Likewise.
(fmax): Remove.
(fmin): Likewise.
(smax): Update for V2SF, V4SF and V2DF modes.
(smin): Likewise.
(smax_nan): New.
(smin_nan): Likewise.
* config/aarch64/aarch64-simd.md (<maxmin><mode>3): Rename to...
(<su><maxmin><mode>3): ...This, refactor.
(s<maxmin><mode>3): New.
(<maxmin_uns><mode>3): Likewise.
(reduc_<maxmin_uns>_<mode>): Refactor.
(reduc_<maxmin_uns>_v4sf): Likewise.
(reduc_<maxmin_uns>_v2si): Likewise.
(aarch64_<fmaxmin><mode>: Remove.
* config/aarch64/arm_neon.h (vmax<q>_f<32,64>): Rewrite to use
new builtin names.
(vmin<q>_f<32,64>): Likewise.
* config/iterators.md (unspec): Add UNSPEC_FMAXNMV, UNSPEC_FMINNMV.
(FMAXMIN): New.
(su): Add mappings for smax, smin, umax, umin.
(maxmin): New.
(FMAXMINV): Add UNSPEC_FMAXNMV, UNSPEC_FMINNMV.
(FMAXMIN): Rename as...
(FMAXMIN_UNS): ...This.
(maxminv): Remove.
(fmaxminv): Likewise.
(fmaxmin): Likewise.
(maxmin_uns): New.
(maxmin_uns_op): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198497
138bc75d-0d04-0410-961f-
82ee72b054a4
jgreenhalgh [Wed, 1 May 2013 10:52:13 +0000 (10:52 +0000)]
[AArch64] Add testcases for FAC, FCM changes.
gcc/testsuite/
* gcc.target/aarch64/scalar-vca.c: New.
* gcc.target/aarch64/vect-vca.c: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198496
138bc75d-0d04-0410-961f-
82ee72b054a4
jgreenhalgh [Wed, 1 May 2013 10:49:31 +0000 (10:49 +0000)]
[AArch64] Rewrite vca<ge, gt, le, lt> Neon patterns in C.
gcc/
* config/aarch64/arm_neon.h
(vac<ge, gt><sd>_f<32, 64>): Rename to...
(vca<ge, gt><sd>_f<32, 64>): ...this, reimpliment in C.
(vca<ge, gt, lt, le><q>_f<32, 64>): Reimpliment in C.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198495
138bc75d-0d04-0410-961f-
82ee72b054a4
jgreenhalgh [Wed, 1 May 2013 10:46:00 +0000 (10:46 +0000)]
[AArch64] Add combiner patterns for FAC instructions
gcc/
* config/aarch64/aarch64-simd.md (*aarch64_fac<optab><mode>): New.
* config/aarch64/iterators.md (FAC_COMPARISONS): New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198494
138bc75d-0d04-0410-961f-
82ee72b054a4
jgreenhalgh [Wed, 1 May 2013 10:43:02 +0000 (10:43 +0000)]
[AArch64 Testsuite] Fix fallout from FCM changes.
gcc/testsuite/
* gcc.target/aarch64/scalar_intrinsics.c (force_simd): New.
(test_vceqd_s64): Force arguments to SIMD registers.
(test_vceqzd_s64): Likewise.
(test_vcged_s64): Likewise.
(test_vcled_s64): Likewise.
(test_vcgezd_s64): Likewise.
(test_vcged_u64): Likewise.
(test_vcgtd_s64): Likewise.
(test_vcltd_s64): Likewise.
(test_vcgtzd_s64): Likewise.
(test_vcgtd_u64): Likewise.
(test_vclezd_s64): Likewise.
(test_vcltzd_s64): Likewise.
(test_vtst_s64): Likewise.
(test_vtst_u64): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198493
138bc75d-0d04-0410-961f-
82ee72b054a4
jgreenhalgh [Wed, 1 May 2013 10:40:23 +0000 (10:40 +0000)]
[AArch64] Add special case when expanding vcond with arms {-1, -1}, {0, 0}.
gcc/
* config/aarch64/aarch64-simd.md
(vcond<mode>_internal): Handle special cases for constant masks.
(vcond<mode><mode>): Allow nonmemory_operands for outcome vectors.
(vcondu<mode><mode>): Likewise.
(vcond<v_cmp_result><mode>): New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198492
138bc75d-0d04-0410-961f-
82ee72b054a4
jgreenhalgh [Wed, 1 May 2013 10:37:28 +0000 (10:37 +0000)]
[AArch64] Remap neon vcmp functions to C/TREE
gcc/
* config/aarch64/aarch64-builtins.c (BUILTIN_VALLDI): Define.
(aarch64_fold_builtin): Add folding for cm<eq,ge,gt,tst>.
* config/aarch64/aarch64-simd-builtins.def
(cmeq): Update to BUILTIN_VALLDI.
(cmgt): Likewise.
(cmge): Likewise.
(cmle): Likewise.
(cmlt): Likewise.
* config/aarch64/arm_neon.h
(vc<eq, lt, le, gt, ge, tst><z><qsd>_<fpsu><8,16,32,64>): Remap
to builtins or C as appropriate.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198491
138bc75d-0d04-0410-961f-
82ee72b054a4
jgreenhalgh [Wed, 1 May 2013 10:33:57 +0000 (10:33 +0000)]
[AArch64] Improve description of <F>CM instructions in RTL
gcc/
* config/aarch64/aarch64-simd-builtins.def (cmhs): Rename to...
(cmgeu): ...This.
(cmhi): Rename to...
(cmgtu): ...This.
* config/aarch64/aarch64-simd.md
(simd_mode): Add SF.
(aarch64_vcond_internal): Use new names for unsigned comparison insns.
(aarch64_cm<optab><mode>): Rewrite to not use UNSPECs.
* config/aarch64/aarch64.md (*cstore<mode>_neg): Rename to...
(cstore<mode>_neg): ...This.
* config/aarch64/iterators.md
(VALLF): new.
(unspec): Remove UNSPEC_CM<EQ, LE, LT, GE, GT, HS, HI, TST>.
(COMPARISONS): New.
(UCOMPARISONS): Likewise.
(optab): Add missing comparisons.
(n_optab): New.
(cmp_1): Likewise.
(cmp_2): Likewise.
(CMP): Likewise.
(cmp): Remove.
(VCMP_S): Likewise.
(VCMP_U): Likewise.
(V_cmp_result): Add DF, SF modes.
(v_cmp_result): Likewise.
(v): Likewise.
(vmtype): Likewise.
* config/aarch64/predicates.md (aarch64_reg_or_fp_zero): New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198490
138bc75d-0d04-0410-961f-
82ee72b054a4
gretay [Wed, 1 May 2013 10:25:28 +0000 (10:25 +0000)]
2013-05-01 Greta Yorsh <Greta.Yorsh@arm.com>
* config/arm/thumb2.md (thumb2_smaxsi3,thumb2_sminsi3): Convert
define_insn to define_insn_and_split.
(thumb32_umaxsi3,thumb2_uminsi3): Likewise.
(thumb2_negdi2,thumb2_abssi2,thumb2_neg_abssi2): Likewise.
(thumb2_mov_scc,thumb2_mov_negscc,thumb2_mov_notscc): Likewise.
(thumb2_movsicc_insn,thumb2_and_scc,thumb2_ior_scc): Likewise.
(thumb2_negscc): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198489
138bc75d-0d04-0410-961f-
82ee72b054a4
paolo [Wed, 1 May 2013 09:21:30 +0000 (09:21 +0000)]
/cp
2013-05-01 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/57092
* semantics.c (finish_decltype_type): Handle instantiated template
non-type arguments.
/testsuite
2013-05-01 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/57092
* g++.dg/cpp0x/decltype53.C: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198487
138bc75d-0d04-0410-961f-
82ee72b054a4
tkoenig [Wed, 1 May 2013 08:28:57 +0000 (08:28 +0000)]
2013-05-01 Thomas Koenig <tkoenig@gcc.gnu.org>
* frontend-passes.c (optimize_power): Fix typo
in comment.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198486
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Wed, 1 May 2013 00:16:23 +0000 (00:16 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198484
138bc75d-0d04-0410-961f-
82ee72b054a4
tkoenig [Tue, 30 Apr 2013 21:45:13 +0000 (21:45 +0000)]
2013-04-30 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/57071
* frontend-passes.c (optimize_power): Simplify
1**k to 1.
2013-04-30 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/57071
* gfortran.dg/power_5.f90: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198476
138bc75d-0d04-0410-961f-
82ee72b054a4
brooks [Tue, 30 Apr 2013 18:31:46 +0000 (18:31 +0000)]
* MAINTAINERS: Update my email; move myself from Fortran
reviewer to Write After Approval.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198469
138bc75d-0d04-0410-961f-
82ee72b054a4
gretay [Tue, 30 Apr 2013 17:08:25 +0000 (17:08 +0000)]
2013-04-30 Greta Yorsh <Greta.Yorsh@arm.com>
* config/arm/thumb2.md (thumb2_incscc, thumb2_decscc): Delete.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198465
138bc75d-0d04-0410-961f-
82ee72b054a4
gretay [Tue, 30 Apr 2013 16:50:12 +0000 (16:50 +0000)]
Committed as obvious.
2013-04-30 Greta Yorsh <Greta.Yorsh@arm.com>
* config/arm/thumb2.md: Remove trailing whitespaces.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198464
138bc75d-0d04-0410-961f-
82ee72b054a4
rsandifo [Tue, 30 Apr 2013 16:15:55 +0000 (16:15 +0000)]
gcc/
* explow.c (plus_constant): Pass "mode" to immed_double_int_const.
Use gen_int_mode rather than GEN_INT.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198462
138bc75d-0d04-0410-961f-
82ee72b054a4
hjl [Tue, 30 Apr 2013 15:53:58 +0000 (15:53 +0000)]
Fix a typo in ChangeLog
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198458
138bc75d-0d04-0410-961f-
82ee72b054a4