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.