[Bug inline-asm/65436] Max number of extended asm +output operands currently limited to 15
adam at consulting dot net.nz
gcc-bugzilla@gcc.gnu.org
Wed Mar 18 01:21:00 GMT 2015
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65436
--- Comment #6 from Adam Warner <adam at consulting dot net.nz> ---
Sorry, I did not mean to send my previous comment. I updated the title and a
hasty comment I was about to edit got added.
It is unfair to dismiss my enhancement request as invalid. I correctly
explained the current limitation (which happens to match the documentation!),
proposed raising the limit from 30 to 80+ (marked as an enhancement request),
and provided code which tests a limit up to 2x39=78 double-counted operands.
I'm told it is too costly to raise this limit due to the way gcc handles asm
operands internally. I think this is will-not-fix territory due to the current
architecture of gcc. How does clang manage to compile the same code?
I know of no public code where gcc's 15/30 asm operand limit has been a
problem. The limitations I'm hitting in private code are naturally not your
primary, secondary nor even tertiary concern. The limitation will only be
important if the technique is used in a popular project where benchmark
competition across compilers encourages gcc to remove the limitation.
More information about the Gcc-bugs
mailing list