[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