This is preparation for D113707, where I want to make -masm=intel
emit asm inteldialect instructions.
{movq %rbx, %rax|mov rax, rbx} is supposed to evaluate to the bit
between { and | for att and to the bit between | and } for intel.
Since intel will become asm inteldialect, which alls EmitMSInlineAsmStr(),
EmitMSInlineAsmStr() has to support variants as well.
(clang translates {...|...} to $(...$|...$). I'm not sure why
it doesn't just send along only the first ... or the second ...
to LLVM, but given the notes in PR23933 let's not do a big
reorganization in this codepath.)
This makes EmitMSInlineAsmStr() and EmitGCCInlineAsmStr()
even more alike.
clang-format: please reformat the code