[llvm-bugs] [Bug 52255] New: vector x lane version of mlal not generating if shuffle is not in the same basic block as mull + add
llvm-bugs at lists.llvm.org
Thu Oct 21 10:11:10 PDT 2021
Bug ID: 52255
Summary: vector x lane version of mlal not generating if
shuffle is not in the same basic block as mull + add
Component: Backend: AArch64
Assignee: unassignedbugs at nondot.org
Reporter: dsharlet at google.com
CC: arnaud.degrandmaison at arm.com,
llvm-bugs at lists.llvm.org, smithp352 at googlemail.com,
Ties.Stuij at arm.com
Created attachment 25381
mlal lane not generating
This compiler explorer link shows the issue: https://godbolt.org/z/Ye9KfofbT
First test is copied from the LLVM tests, which works.
The second test just adds a branch between the shuffle and the mull. -O0 is
necessary to avoid the branch getting optimized away.
In practice, this is almost impossible to avoid in some cases because the
shuffles get lifted out of loops. The ultimate problem this causes is ~4x as
many registers as needed required in an inner loop.
Also attached the ll corresponding to the above link.
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the llvm-bugs