1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
|
// Asm blocks have their own special indentation where lables must remain at indent 0 relative to __asm__ block.
// They few ways of being opened and closed depending on the compiler.
// For now, we can at least detect and ignore the contents, including alignment.
// Workaround: can always fall back on disable/enable_processing_cmt.
void foo()
{
int head, bar;
__asm__ __volatile__
(
"movq %0,%%xmm0\n\t" /* asm template */
"0:\n\t"
"bar %0, [%4]\n\t" // in template
"1:\n\t"
: "=a", (bar)
: "=&b", (&head), "+m", (bar)
: "cc"
);
}
|