This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH, i386] Delay DI mode xor split when expanding comparison


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.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]