Same thing in a different way. Load/store goto is the result of even the slightest optimization. There are times when the added source code abstraction is needed (like in UI frameworks) but with simple 8-16 and most 32 bit controller systems, it's a waste of a programmers resources to add additional abstractions to problems that are very hardware dependant and might need to be ported to several different chip architectures over a project lifetime.The C# compiler doesn't produce CPU specific instructions, it produces IL, abstract instructions that are consumed by the .net runtime which has a JIT code generator for whatever target.
https://en.wikipedia.org/wiki/Common_Intermediate_Language