r266139 - in /trunk/gcc/testsuite: ChangeLog gc...
wilco@gcc.gnu.org
wilco@gcc.gnu.org
Wed Nov 14 12:35:00 GMT 2018
Author: wilco
Date: Wed Nov 14 12:35:36 2018
New Revision: 266139
URL: https://gcc.gnu.org/viewcvs?rev=266139&root=gcc&view=rev
Log:
[AArch64] Fix PR62178 testcase failures
The testcase for PR62178 has been failing for a while due to the pass
conditions being too tight, resulting in failures with -mcmodel=tiny:
ldr q2, [x0], 124
ld1r {v1.4s}, [x1], 4
cmp x0, x2
mla v0.4s, v2.4s, v1.4s
bne .L7
-mcmodel=small generates the slightly different:
ldr q1, [x0], 124
ldr s2, [x1, 4]!
cmp x0, x2
mla v0.4s, v1.4s, v2.s[0]
bne .L7
This is due to Combine merging a DUP instruction with either a load
or MLA - we can't force it to prefer one over the other. However the
generated vector loop is fast either way since it generates MLA and
merges the DUP either with a load or MLA. So relax the conditions
slightly and check we still generate MLA and there is no DUP or FMOV.
The testcase now passes - committed as obvious.
testsuite/
* gcc.target/aarch64/pr62178.c: Relax scan-assembler checks.
Modified:
trunk/gcc/testsuite/ChangeLog
trunk/gcc/testsuite/gcc.target/aarch64/pr62178.c
More information about the Gcc-cvs
mailing list