Hi Dan, (and CC'ing the development group in case folks have any further comments)
As I mentioned we don't support it for MSVC compilers. I realise it's a bit weird, but on non-MSVC we ask the compiler to output asm directly by default, which is why you see the assembly instructions but not the opcodes (because it hasn't been assembled). This gives us the highest fidelity results: assembling and then disassembling loses information, as you can imagine. If you enable "binary mode" then we compile and link the executable, and then disassemble it to get the opcodes (for those platforms where we can generate binaries, and then disassemble them).
> Visual Studio can show these when debugging, for example.
Agreed: visual studio is working on the compiled, linked binary. We don't output this - we show the compiler's textual output (as above). To support this we need to compile to binary and then disassemble.
> I suspect you'd have to implement the lookup yourself?
We have nothing to look up, unfortunately. We don't want to assemble the files ourselves: that's the compiler and toolchain's job :) So, we'll need help from MS to get the compilers in a state where we can generate .obj files (or .exe) and then disassemble them. The bug I linked mentions a /GL option, but I don't know what that is.
I'm really glad you're able to use Compiler Explorer to check stuff out! That's one of its goals :)
For binary size stuff, see the github bug and/or if you have any sway internally, you can speak with Tim Myers who is in charge of MS's side of things for the Windows-based compilers.
Cheers, Matt :)