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