3 ms·
> For GCC inline assembly means "take your grubby hands off". For clang it's essentially an invitation to do whatever. That's not true at all. Clang respects t
by kllrnohj 9y ago
> For GCC inline assembly means "take your grubby hands off". For clang it's essentially an invitation to do whatever.
That's not true at all. Clang respects the clobbers entry on inline assembly and does not do whatever it wants. See GCC's documentation on it: https://gcc.gnu.org/onlinedocs/gcc/Extended-Asm.html#Clobbers-and-Scratch-Registers https://gcc.gnu.org/onlinedocs/gcc/Extended-Asm.html#Clobber...
Based off of your description you probably just needed to add the "memory" clobber to tell the compiler that any registers it might have kept are no longer valid.