The inline asm! feature is great! One missing feature relative to GCC's inline assembly is supporting flags (condition codes) as output operands. This can often be useful when the inline asm does a test or cmp instruction and wants the surrounding Rust code to jump based on that. As to backends, it seems like both LLVM and GCC support this.
Looking through the pre-RFC thread I see discussion of asm goto (which mostly subsumes this feature, but is much more complex and didn't get shipped in Rust), but not of condition code outputs.
What would it take to get condition code output operands in inline asm?
That doesn't preclude having direct output of condition codes, though. Presumably, this would look like a bool output operand with a special register name, and then optimized compiles could hopefully turn a subsequent branch on that bool into a conditional jump; less optimized compiles or code patterns would end up with something like x86's setcc or similar to materialize that bool.
Generally we try not to have issues for potential future extensions, since it's an infinite set, and there's no feasible way to close them (since they are possible future extensions).
Discussions will be threads here on IRLO, or on Zulip.
I see, got it. I guess I'm looking for a place to say "+1, this is a feature that would be helpful to me". Normally I'd file a feature request on GitHub, but the Rust GitHub template for feature requests forwarded me here.
Maybe this thread is that already? Trying to figure out the protocol...