1. 20 Nov, 2012 2 commits
  2. 19 Nov, 2012 27 commits
  3. 18 Nov, 2012 11 commits
    • gcc/ · d2eeb2d1
      	* doc/md.texi (extv@var{m}, extvmisalign@var{m}, extzv@var{m})
      	(extzvmisalign@var{m}, insv@var{m}, insvmisalign@var{m}): Document.
      	(insv, extv, extzv): Deprecate.
      	* optabs.def (insv_optab, extv_optab, extzv_optab)
      	(insvmisalign_optab, extvmisalign_optab, extzvmisalign_optab):
      	New optabs.
      	* optabs.c (get_optab_extraction_insn): New function.
      	(get_extraction_insn): Use it.
      	* config/mips/mips.md (extv): Split into...
      	(extvmisalign<mode>, extv<mode>): ...these new patterns.  Rename
      	existing extv<mode> pattern to...
      	(*extv<mode>): ...this.
      	(extzv): Split into...
      	(extzvmisalign<mode>, extzv<mode>): ...these new patterns.  Rename
      	existing extzv<mode> pattern to...
      	(*extzv<mode>): ...this.
      	(insv): Split into...
      	(insvmisalign<mode>, insv<mode>): ...these new patterns.  Rename
      	existing insv<mode> pattern to...
      	(*insv<mode>): ...this.  Use const_int_operand rather than
      	immediate_operand.
      	* config/mips/mips.c (mips_block_move_straight): Use set_mem_size
      	to set the size of BLKmode accesses.
      	(mips_get_unaligned_mem): Require OP0 to be a BLKmode memory,
      	turning it from an "rtx *" to an rtx.
      	(mips_expand_ext_as_unaligned_load): Simplify for new optab
      	interface.  Update call to mips_get_unaligned_mem.
      	(mips_expand_ins_as_unaligned_store): Update call to
      	mips_get_unaligned_mem.
      
      From-SVN: r193606
      Richard Sandiford committed
    • Makefile.in (recog.o): Add insn-codes.h. · fcdd52b7
      gcc/
      	* Makefile.in (recog.o): Add insn-codes.h.
      	* expr.h (extraction_pattern): Move to optabs.h.
      	(mode_for_extraction): Delete.
      	* optabs.h (extraction_insn): New structure.
      	(extraction_pattern): Moved from expr.h.
      	(get_best_reg_extraction_insn, get_best_mem_extraction_insn): Declare.
      	* optabs.c (HAVE_insv, CODE_FOR_insv, HAVE_extv, CODE_FOR_extv)
      	(HAVE_extzv, CODE_FOR_extzv): Provide defaults.
      	(extraction_type): New enum.
      	(get_traditional_extraction_insn, get_extraction_insn)
      	(get_best_reg_extraction_insn, get_best_mem_extraction_insn):
      	New functions.
      	* combine.c (make_extraction): Use get_best_reg_extraction_insn
      	instead of mode_for_extraction.
      	* expmed.c (HAVE_insv, CODE_FOR_insv, gen_insv, HAVE_extv)
      	(CODE_FOR_extv, gen_extv, HAVE_extzv, CODE_FOR_extzv, gen_extzv):
      	Remove fallback definitions.
      	(mode_for_extraction): Delete.
      	(adjust_bit_field_mem_for_reg): New function.
      	(store_bit_field_using_insv): Replace OP_MODE parameter with
      	an extraction_insn.  Pass struct_mode to narrow_bit_field_mem.
      	(extract_bit_field_using_extv): Likewise EXT_MODE.
      	(store_bit_field_1): Use get_best_reg_extraction_insn and
      	get_best_mem_extraction_insn instead of mode_for_extraction.
      	Use adjust_bit_field_mem_for_reg when forcing memory to a
      	register and doing a register insertion.  Update calls to
      	store_bit_field_using_insv.
      	(extract_bit_field_1): Likewise extractions and calls to
      	extract_bit_field_using_extv.
      	(store_Bit_field): When narrowing to a bitregion, don't use the
      	insv mode as a limit.
      	* recog.c: (HAVE_extv, CODE_FOR_extv, HAVE_extzv, CODE_FOR_extzv):
      	Provide defaults.
      	(simplify_while_replacing): Use insn_data instead of
      	mode_for_extraction.
      
      From-SVN: r193605
      Richard Sandiford committed
    • stor-layout.c (bit_field_mode_iterator::bit_field_mode_iterator): Set up a… · 8b7d5dab
      stor-layout.c (bit_field_mode_iterator::bit_field_mode_iterator): Set up a default value of bitregion_end_.
      
      gcc/
      	* stor-layout.c (bit_field_mode_iterator::bit_field_mode_iterator):
      	Set up a default value of bitregion_end_.
      	(bit_field_mode_iterator::next_mode): Always apply bitregion_end_
      	check.  Include SLOW_UNALIGNED_ACCESS in the alignment check.
      	(get_best_mode): Ignore modes that are wider than the alignment.
      
      From-SVN: r193604
      Richard Sandiford committed
    • machmode.h (bit_field_mode_iterator): New class. · 073a544d
      gcc/
      	* machmode.h (bit_field_mode_iterator): New class.
      	(get_best_mode): Change final parameter to bool.
      	* stor-layout.c (bit_field_mode_iterator::bit_field_mode_iterator)
      	(bit_field_mode_iterator::next_mode): New functions, split out from...
      	(get_best_mode): ...here.  Change final parameter to bool.
      	Use bit_field_mode_iterator.
      
      From-SVN: r193603
      Richard Sandiford committed
    • expmed.c (narrow_bit_field_mem): New function. · 26f8b976
      gcc/
      	* expmed.c (narrow_bit_field_mem): New function.
      	(store_bit_field_using_insv, store_bit_field_1, store_fixed_bit_field)
      	(extract_bit_field_1): Use it.
      
      From-SVN: r193602
      Richard Sandiford committed
    • expr.h (adjust_address_1): Add a size parameter. · 5f2cbd0d
      gcc/
      	* expr.h (adjust_address_1): Add a size parameter.
      	(adjust_address, adjust_address_nv, adjust_bitfield_address)
      	(adjust_bitfield_address_nv): Adjust accordingly.
      	(adjust_bitfield_address_size): Define.
      	* emit-rtl.c (adjust_address_1): Add a size parameter.
      	Use it to set the size if MODE has no size.  Check whether
      	the size matches before returning the original memref.
      	Require the size to be known for adjust_object.
      	(adjust_automodify_address_1, widen_memory_access): Update calls
      	to adjust_address_1.
      
      From-SVN: r193601
      Richard Sandiford committed
    • combine.c (make_extraction): Handle TRUNCATEd INNERs. · 6cf99649
      gcc/
      	* combine.c (make_extraction): Handle TRUNCATEd INNERs.
      
      From-SVN: r193600
      Richard Sandiford committed
    • expr.c (expand_assignment): Don't set MEM_KEEP_ALIAS_SET_P here. · a787ccc3
      gcc/
      	* expr.c (expand_assignment): Don't set MEM_KEEP_ALIAS_SET_P here.
      	* emit-rtl.c (set_mem_attributes_minus_bitpos): Handle DECL_BIT_FIELDs,
      	using their size instead of the COMPONENT_REF's.
      
      From-SVN: r193599
      Richard Sandiford committed
    • t-linux64: Add multiarch names in MULTILIB_OSDIRNAMES. · 3808f68e
      2012-11-17  Matthias Klose  <doko@ubuntu.com>
      
              * config/mips/t-linux64: Add multiarch names in MULTILIB_OSDIRNAMES.
      
      From-SVN: r193598
      Matthias Klose committed
    • decl.c: Remove trailing spaces. · b16b6cc9
      	* gcc-interface/decl.c: Remove trailing spaces.
      	* gcc-interface/trans.c: Remove trailing spaces.
      
      From-SVN: r193597
      Eric Botcazou committed
    • compiler: Adjust for vec changes. · 4efdbe5a
      From-SVN: r193596
      Ian Lance Taylor committed