https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102264
Bug ID: 102264
Summary: Macro Intrinsics fail to use all the registers on the
machine
Product: gcc
Version: 9.1.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: inline-asm
Assignee: unassigned at gcc dot gnu.org
Reporter: ntukanov at cmu dot edu
Target Milestone: ---
I am trying to use custom intrinsics in order to have more control over the
assembly that the compiler is generating. The concept of these custom
intrinsics comes from http://users.ece.cmu.edu/~franzf/papers/wpmvp16.pdf.
For performance reasons, my code requires me to use all the available SIMD
registers on the machine, but when I use my custom intrinsics, I am only
getting half of the SIMD registers which leads to register spilling.
This is the code and generated assembly in question:
https://godbolt.org/z/fqn53G9qT
Any help would be greatly appericated.