On 25/04/13 11:36, James Greenhalgh wrote:

Hi,

The aarch64_simd_bsl<mode> pattern performs an operation which can
be described in C as:

(a & b) | (~a & c)

Rewriting this in RTL rather than using an UNSPEC allows for
better constant folding.

Regression tested for aarch64-none-elf with no regressions.

OK?

Thanks,
James

---
gcc/

2013-04-25  James Greenhalgh  <james.greenha...@arm.com>

        * config/aarch64/aarch64-simd.md
        (aarch64_simd_bsl<mode>_internal): Rewrite RTL to not use UNSPEC_BSL.
        (aarch64_simd_bsl<mode>): Likewise.
        * config/aarch64/iterators.md (unspec): Remove UNSPEC_BSL.


Looks OK to me.
/Marcus

Reply via email to