diff options
author | Kyrylo Tkachov <kyrylo.tkachov@arm.com> | 2014-04-23 15:30:53 +0000 |
---|---|---|
committer | Kyrylo Tkachov <ktkachov@gcc.gnu.org> | 2014-04-23 15:30:53 +0000 |
commit | 18b42b2a9c7b632653801344329076b934861930 (patch) | |
tree | 256099ed6ac5a6955aed6518a80ba1e475e38ba2 /gcc | |
parent | ea1e916837085fa51565e55a57c8c2f9dfaab9ce (diff) | |
download | gcc-18b42b2a9c7b632653801344329076b934861930.zip gcc-18b42b2a9c7b632653801344329076b934861930.tar.gz gcc-18b42b2a9c7b632653801344329076b934861930.tar.bz2 |
[AArch64] Add handling of bswap operations in rtx costs
* config/aarch64/aarch64.c (aarch64_rtx_costs): Handle BSWAP.
From-SVN: r209706
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/config/aarch64/aarch64.c | 8 |
2 files changed, 12 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index e499b25..99f4b0d 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,9 @@ 2014-04-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com> + * config/aarch64/aarch64.c (aarch64_rtx_costs): Handle BSWAP. + +2014-04-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com> + * config/arm/arm.md (arm_rev16si2): New pattern. (arm_rev16si2_alt): Likewise. * config/arm/arm.c (arm_new_rtx_costs): Handle rev16 case. diff --git a/gcc/config/aarch64/aarch64.c b/gcc/config/aarch64/aarch64.c index 68c29aa..277c087 100644 --- a/gcc/config/aarch64/aarch64.c +++ b/gcc/config/aarch64/aarch64.c @@ -4694,6 +4694,14 @@ aarch64_rtx_costs (rtx x, int code, int outer ATTRIBUTE_UNUSED, return false; + case BSWAP: + *cost = COSTS_N_INSNS (1); + + if (speed) + *cost += extra_cost->alu.rev; + + return false; + case IOR: if (aarch_rev16_p (x)) { |