Commit 9e01dc11 authored by Christoph Mallon's avatar Christoph Mallon

be: Lower Perms using copy instead of swap by default.

For architectures without a swap instruction (all except general purpose register set on amd64 and ia32) this results in shorter code.
In many cases (probably except swapping two registers) it is also better this way on amd64/ia32 due to fewer uops and modern processors eliminating mov during decoding.
parent b823b786
Pipeline #9117 passed with stage
in 21 seconds
......@@ -49,6 +49,7 @@ libFirm 1.22.1 (2016-01-07)
* sparc: More strict checking of modifiers of placeholders in asm templates
* arm: Support inline asm with with constraints `I`, `J`, `K`, `L`, `M`, `Q`, `g`, `i`, `l`, `m`, `n` and `r` as well as modifiers `B`, `C` and `c`
* mips: Add new backend
* be: By default permutation lowering now uses copy instead swap
* Bugfixes
libFirm 1.22.0 (2015-12-31)
......
......@@ -53,8 +53,8 @@
#include <time.h>
static be_ra_chordal_opts_t options = {
BE_CH_DUMP_NONE,
BE_CH_LOWER_PERM_SWAP,
.dump_flags = BE_CH_DUMP_NONE,
.lower_perm_opt = BE_CH_LOWER_PERM_COPY,
};
static const lc_opt_enum_int_items_t lower_perm_items[] = {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment