我怎么告诉gcc我的内联汇编是否是堆栈的一部分?

考虑这样的内联汇编:

uint64_t flags; asm ("pushf\n\tpop %0" : "=rm"(flags) : : /* ??? */); 

尽管可能存在某种内在函数来获取RFLAGS的内容,但我如何向编译器指出我的内联汇编在堆栈顶部破坏了一个四字内存?

就我而言,这目前是不可能的。