Force compiler to execute instructions sequentially?
You can use the optimize function attribute to change the compiler optimization level for an individual function. That's the closest you'll get.


  optimize
  
  The optimize attribute is used to specify that a function is to be compiled with different optimization options than specified on the command line. Arguments can either be numbers or strings. Numbers are assumed to be an optimization level. Strings that begin with O are assumed to be an optimization option, while other options are assumed to be used with a -f prefix. You can also use the #pragma GCC optimize pragma to set the optimization options that affect more than one function. See Function Specific Option Pragmas, for details about the #pragma GCC optimize pragma.
  
  This attribute should be used for debugging purposes only. It is not suitable in production code.


E.g.,:

void __attribute__((optimize("O0"))) myFunction() {
    // ...
}