1. 20 Nov, 2012 14 commits
    • i386.c (ix86_expand_call): Emit CLOBBERs in VOIDmode. · aef5ffaa
      	* config/i386/i386.c (ix86_expand_call): Emit CLOBBERs in VOIDmode.
      
      From-SVN: r193660
      Uros Bizjak committed
    • rx.c (rx_function_arg_boundary): When using the RX ABI align stack arguments to… · 47c9ac72
      rx.c (rx_function_arg_boundary): When using the RX ABI align stack arguments to their natural alignment.
      
      	* config/rx/rx.c (rx_function_arg_boundary): When using the RX ABI
      	align stack arguments to their natural alignment.
      	(rx_narrow_volatile_bitfield): New function.  Allows narrow
      	volatile bitfields.
      	(rx_ok_to_inline): New function.  Do not inline functions with
      	local variables into a naked caller.
      	(TARGET_NARROW_VOLATILE_BITFIELD): Define.
      	(TARGET_CAN_INLINE_P): Define.
      	* config/rx/rx.c (TARGET_CPU_CPP_BUILTINS): Define __RX_ABI__ or
      	__RX_GC_ABI__.
      	(ASM_SPEC): Pass -mgcc-abi on to the assembler.
      	(STRICT_ALIGNMENT): Set to false.
      	(CTORS_SECTION_ASM_OP): Add executable attribute.
      	(DTORS_SECTION_ASM_OP): Add executable attribute.
      	(INIT_ARRAY_SECTION_ASM_OP): Add executable attribute.
      	(FINI_ARRAY_SECTION_ASM_OP): Add executable attribute.
      	* config/rx/rx.md (subdi3): Don't allow MEMs as the third operand,
      	as it causes too much reload pressure.
      	* config/rx/rx.opt (mgcc-abi): New option.
      	(mrx-abi): New option.
      	* config/rx/t-rx (MULTILIB_OPTIONS): Show how to add an ABI
      	multilib.
      	(MULTILIB_DIRNAMES): Likewise.
      
      From-SVN: r193659
      Nick Clifton committed
    • gcc/ · 342be7f7
      	* config/aarch64/aarch64-builtins.c
      	(aarch64_simd_builtin_type_bits): Rename to...
      	(aarch64_simd_builtin_type_mode): ...this, make sequential.
      	(aarch64_simd_builtin_datum): Refactor members.
      	(VAR1, VAR2, ..., VAR12): Update accordingly.
      	(aarch64_simd_builtin_data): Include from aarch64-simd-builtins.def.
      	(aarch64_builtins): Update accordingly.
      	(init_aarch64_simd_builtins): Refactor, rename to...
      	(aarch64_init_simd_builtins): ...this.
      	(aarch64_simd_builtin_compare): Remove.
      	(locate_simd_builtin_icode): Likewise.
      	* config/aarch64/aarch64-protos.h (aarch64_init_builtins): New.
      	(aarch64_expand_builtin): New.
      	* config/aarch64/aarch64-simd-builtins.def: New file.
      	* config/aarch64/aarch64.c (aarch64_init_builtins):
      	Move to aarch64-builtins.c.
      	(aarch64_expand_builtin): Likewise.
      	* config/aarch64/aarch64.h
      	(aarch64_builtins): Move to aarch64-builtins.c.
      
      
      Co-Authored-By: Tejas Belagod <tejas.belagod@arm.com>
      
      From-SVN: r193658
      James Greenhalgh committed
    • re PR tree-optimization/55260 (ICE: in ipa_get_parm_lattices, at ipa-cp.c:263… · dffdd6e5
      re PR tree-optimization/55260 (ICE: in ipa_get_parm_lattices, at ipa-cp.c:263 with -O2 -fno-inline -fipa-cp-clone)
      
      2012-11-20  Martin Jambor  <mjambor@suse.cz>
      
      	PR tree-optimization/55260
      	* ipa-cp.c (find_aggregate_values_for_callers_subset): Rename info to
      	dest_info, use caller_info instead of info when determining whether
      	callee is a clone.
      
      	* testsuite/g++.dg/torture/pr55260-1.C: New test.
      
      From-SVN: r193657
      Martin Jambor committed
    • sse.md (*<ssse3_avx2>_pmulhrsw<mode>3): Merge *avx2_pmulhrswv16hi3 and... · e7d8fc6c
              * config/i386/sse.md (*<ssse3_avx2>_pmulhrsw<mode>3): Merge                                                 
              *avx2_pmulhrswv16hi3 and *ssse3_pmulhrswv8hi3 into one pattern.
      
      From-SVN: r193656
      Andrey Turetskiy committed
    • Fix to commit 193651. · c5c18dd1
      gcc/testsuite/
      	* gcc.target/aarch64/atomic-comp-swap-release-acquire.c:
      	Actually add this file.
      	* gcc.target/aarch64/atomic-op-acq_rel.c: Likewise.
      	* gcc.target/aarch64/atomic-op-acquire.c: Likewise.
      	* gcc.target/aarch64/atomic-op-char.c: Likewise.
      	* gcc.target/aarch64/atomic-op-consume.c: Likewise.
      	* gcc.target/aarch64/atomic-op-imm.c: Likewise.
      	* gcc.target/aarch64/atomic-op-int.c: Likewise.
      	* gcc.target/aarch64/atomic-op-long.c: Likewise.
      	* gcc.target/aarch64/atomic-op-relaxed.c: Likewise.
      	* gcc.target/aarch64/atomic-op-release.c: Likewise.
      	* gcc.target/aarch64/atomic-op-seq_cst.c: Likewise.
      	* gcc.target/aarch64/atomic-op-short.c: Likewise.
      
      From-SVN: r193654
      James Greenhalgh committed
    • Fix revision 193651. · 86c818c2
      gcc/
      	* config/aarch64/atomics.md: Actually add this file.
      
      From-SVN: r193653
      James Greenhalgh committed
    • aarch64.md (define_attr "sync_*"): Remove. · 0462169c
      gcc/
      	* config/aarch64/aarch64.md
      	(define_attr "sync_*"): Remove.
      	(define_attr "length"): Update.
      	Include atomics.md.
      	* config/aarch64/aarch64-protos.h
      	(aarch64_expand_compare_and_swap): Add function prototype.
      	(aarch64_split_compare_and_swap): Likewise.
      	(aarch64_split_atomic_op): Likewise.
      	(aarch64_expand_sync): Remove function prototype.
      	(aarch64_output_sync_insn): Likewise.
      	(aarch64_output_sync_lock_release): Likewise.
      	(aarch64_sync_loop_insns): Likewise.
      	(struct aarch64_sync_generator): Remove.
      	(enum aarch64_sync_generator_tag): Likewise.
      	* config/aarch64/aarch64.c
      	(aarch64_legitimize_sync_memory): Remove function.
      	(aarch64_emit): Likewise.
      	(aarch64_insn_count): Likewise.
      	(aarch64_output_asm_insn): Likewise.
      	(aarch64_load_store_suffix): Likewise.
      	(aarch64_output_sync_load): Likewise.
      	(aarch64_output_sync_store): Likewise.
      	(aarch64_output_op2): Likewise.
      	(aarch64_output_op3): Likewise.
      	(aarch64_output_sync_loop): Likewise.
      	(aarch64_get_sync_operand): Likewise.
      	(aarch64_process_output_sync_insn): Likewise.
      	(aarch64_output_sync_insn): Likewise.
      	(aarch64_output_sync_lock_release): Likewise.
      	(aarch64_sync_loop_insns): Likewise.
      	(aarch64_call_generator): Likewise.
      	(aarch64_expand_sync): Likewise.
      	(* emit_f): Remove variable.
      	(aarch64_insn_count): Likewise.
      	(FETCH_SYNC_OPERAND): Likewise.
      	(aarch64_emit_load_exclusive): New function.
      	(aarch64_emit_store_exclusive): Likewise.
      	(aarch64_emit_unlikely_jump): Likewise.
      	(aarch64_expand_compare_and_swap): Likewise.
      	(aarch64_split_compare_and_swap): Likewise.
      	(aarch64_split_atomic_op): Likewise.
      	* config/aarch64/iterators.md
      	(atomic_sfx): New mode attribute.
      	(atomic_optab): New code attribute.
      	(atomic_op_operand): Likewise.
      	(atomic_op_str): Likewise.
      	(syncop): Rename to atomic_op.
      	* config/aarch64/sync.md: Delete.
      	* config/aarch64/atomics.md: New file.
      
      gcc/testsuite
      	* gcc.target/aarch64/atomic-comp-swap-release-acquire.c: New testcase.
      	* gcc.target/aarch64/atomic-op-acq_rel.c: Likewise.
      	* gcc.target/aarch64/atomic-op-acquire.c: Likewise.
      	* gcc.target/aarch64/atomic-op-char.c: Likewise.
      	* gcc.target/aarch64/atomic-op-consume.c: Likewise.
      	* gcc.target/aarch64/atomic-op-imm.c: Likewise.
      	* gcc.target/aarch64/atomic-op-int.c: Likewise.
      	* gcc.target/aarch64/atomic-op-long.c: Likewise.
      	* gcc.target/aarch64/atomic-op-relaxed.c: Likewise.
      	* gcc.target/aarch64/atomic-op-release.c: Likewise.
      	* gcc.target/aarch64/atomic-op-seq_cst.c: Likewise.
      	* gcc.target/aarch64/atomic-op-short.c: Likewise.
      
      From-SVN: r193651
      Sofiane Naci committed
    • re PR debug/55094 (ICE in maybe_record_trace_start, at dwarf2cfi.c:2224) · 206604dc
      	PR middle-end/55094
      	* builtins.c (expand_builtin_trap): Add REG_ARGS_SIZE note
      	on the trap insn for !ACCUMULATE_OUTGOING_ARGS.
      	* cfgcleanup.c (outgoing_edges_match): Don't look at debug insns
      	on the first old_insns_match_p call.  For !ACCUMULATE_OUTGOING_ARGS
      	fail if the last real insn doesn't have REG_ARGS_SIZE note.
      
      	* gcc.dg/pr55094.c: New test.
      
      From-SVN: r193649
      Jakub Jelinek committed
    • re PR bootstrap/55370 (Bad libgcc.map) · 1b845c6e
      	PR bootstrap/55370
      	* libgcc-std.ver.in: Add GCC_4.8.0 and %inherit for it.
      
      From-SVN: r193648
      Jakub Jelinek committed
    • re PR middle-end/54921 (wrong code with -Os -fno-omit-frame-pointer… · 40155239
      re PR middle-end/54921 (wrong code with -Os -fno-omit-frame-pointer -fsched2-use-superblocks -fstack-protector -ftree-slp-vectorize)
      
      	PR rtl-optimization/54921
      	* cselib.h (fp_setter_insn): New prototype.
      	* cselib.c (fp_setter_insn): New function.
      	(cselib_process_insn): If frame_pointer_needed,
      	call cselib_invalidate_rtx (stack_pointer_rtx) after
      	processing a frame pointer setter.
      	* var-tracking.c (fp_setter): Removed.
      	(vt_initialize): Use fp_setter_insn instead of fp_setter.
      
      	* gcc.dg/pr54921.c: New test.
      
      From-SVN: r193647
      Jakub Jelinek committed
    • rs6000.md (movdf_hardfloat32): Reorder move constraints so that the traditional… · 4ced1d6d
      rs6000.md (movdf_hardfloat32): Reorder move constraints so that the traditional floating point loads...
      
      2012-11-19  Michael Meissner  <meissner@linux.vnet.ibm.com>
      
      	* config/rs6000/rs6000.md (movdf_hardfloat32): Reorder move
      	constraints so that the traditional floating point loads, stores,
      	and moves are done first, then the VSX loads, stores, and moves,
      	and finally the GPR loads, stores, and moves so that reload
      	chooses FPRs over GPRs, and uses the traditional load/store
      	instructions which provide an offset.
      	(movdf_hardfloat64): Likewise.
      
      From-SVN: r193645
      Michael Meissner committed
    • array_allocator.h: Replace uses of __GXX_EXPERIMENTAL_CXX0X__ with __cplusplus. · 6b1328eb
      	* include/ext/array_allocator.h: Replace uses of
      	__GXX_EXPERIMENTAL_CXX0X__ with __cplusplus.
      
      From-SVN: r193644
      Jonathan Wakely committed
    • Daily bump. · b51eb4ff
      From-SVN: r193643
      GCC Administrator committed
  2. 19 Nov, 2012 26 commits