[PATCH rs6000] reorganize p8 swap optimization code into a separate file.

Aaron Sawdey acsawdey@linux.vnet.ibm.com
Thu Jul 6 20:24:00 GMT 2017


This patch is simple after the toc_relative_expr_p patch I put in last
week removed the need to access the tocrel_base/tocrel_offset static
variables. Basically it moves all the machinery used to optimize p8
little endian vector code by removing unneeded byte swaps to a new file
rs6000-p8swap.c. This code is only needed for p8 so separating it keeps
it out of the way in the future.

Bootstrap/regtest passed, patch pre-approved by segher and committed as
250040.

2017-07-06  Aaron Sawdey  <acsawdey@linux.vnet.ibm.com>

	* config/rs6000/rs6000.c (union_defs, union_uses, insn_is_load_p,
	insn_is_store_p, insn_is_swap_p, const_load_sequence_p, v2df_reduction_p,
	rtx_is_swappable_p, insn_is_swappable_p, chain_contains_only_swaps,
	mark_swaps_for_removal, swap_const_vector_halves, adjust_subreg_index,
	permute_load, permute_store, adjust_extract, adjust_splat, 
	adjust_xxpermdi, adjust_concat, adjust_vperm, handle_special_swappables,
	replace_swap_with_copy, dump_swap_insn_table, 
	alignment_with_canonical_addr, alignment_mask, find_alignment_op,
	recombine_lvx_pattern, recombine_stvx_pattern, 
	recombine_lvx_stvx_patterns, rs6000_analyze_swaps, 
	make_pass_analyze_swaps): Move all code related to p8 swap optimizations
	to file rs6000-p8swap.c.
	* config/rs6000/rs6000-p8swap.c: New file.
	* config/rs6000/t-rs6000: Add rule to build rs6000-p8swap.o.
	* config.gcc: Add rs6000-p8swap.o to extra_objs for powerpc*-*-*
	and rs6000*-*-* targets.


-- 
Aaron Sawdey, Ph.D.  acsawdey@linux.vnet.ibm.com
050-2/C113  (507) 253-7520 home: 507/263-0782
IBM Linux Technology Center - PPC Toolchain
-------------- next part --------------
A non-text attachment was scrubbed...
Name: p8swap.patch
Type: text/x-patch
Size: 123531 bytes
Desc: not available
URL: <http://gcc.gnu.org/pipermail/gcc-patches/attachments/20170706/aacf5518/attachment.bin>


More information about the Gcc-patches mailing list