Add support for swap instructions and reorder option

swapb and swaph instructions are introduced in microblaze cpu (mcpu) v8.30a,
but have an undocumented dependence on -mxl-pattern-compare being set.

The conditions for their use are;

mcpu < 8.30a; no swap insns, use of -mxl-reorder produces warning
and ignored

mcpu == 8.30a and -mxl-pattern-compare specified;
and if -mno-xl-reorder not specified, then swap insns allowed

mcpu > 8.30a;
if -mno-xl-reorder not specified, then swap insns allowed

Changelog

2013-02-11  David Holsgrove <david.holsgr...@xilinx.com>

  * config/microblaze/microblaze.c: microblaze_has_swap = 0
     Add version check for v8.30.a to enable microblaze_has_swap
  * config/microblaze/microblaze.h: Add TARGET_HAS_SWAP
  * config/microblaze/microblaze.md: New bswapsi2 and bswaphi2
     instructions
  * config/microblaze/microblaze.opt: New options -mxl-reorder
     and -mno-xl-reorder

Attachment: 0007-Gcc-Added-swapb-and-swaph-instructions-and-mxl-reord.patch
Description: 0007-Gcc-Added-swapb-and-swaph-instructions-and-mxl-reord.patch

Reply via email to