This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH, i386] Delay DI mode xor split when expanding comparison
- From: Uros Bizjak <ubizjak at gmail dot com>
- To: "gcc-patches at gcc dot gnu dot org" <gcc-patches at gcc dot gnu dot org>
- Cc: ÐÐÑÑ ÐÐÐÐÐÐÑ <enkovich dot gnu at gmail dot com>
- Date: Fri, 15 Jan 2016 11:56:27 +0100
- Subject: Re: [PATCH, i386] Delay DI mode xor split when expanding comparison
- Authentication-results: sourceware.org; auth=none
Hello!
> When scalar-to-vector pass was introduced in i386 target, DI mode
> instructions split was delayed to split2 pass (was performed
> on expand before). It appears this causes ~5% degradation on
> libquantum benchmark. This happens because in original code we
> have AND and XOR combined into ANDN. Now it doesn't happen because
> AND is not split on expand but XOR is split. This patch delays
> split of XOR generated for DI mode comparison. This resolves regression
> on libquantum. Unfortunately we still don't generate SSE version
> of ANDN, I'll look into this later.
>
> Botostrapped and tested on x86_64-unknown-linux-gnu. OK for trunk?
>
> gcc/
>
> 2016-01-14 Ilya Enkovich <enkovich.gnu@gmail.com>
>
> * config/i386/i386.c (ix86_expand_branch): Don't split
> DI mode xor instruction to SI mode.
>
> gcc/testsuite/
>
> 2016-01-14 Ilya Enkovich <enkovich.gnu@gmail.com>
>
> * gcc.target/i386/pr65105-5.c: New test.
OK.
Thanks,
Uros.