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....@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....@gmail.com> > > * gcc.target/i386/pr65105-5.c: New test.
OK. Thanks, Uros.