Most crypto wants constant-time execution, optimizing compilers are not designed with that in mind. They have optimization passes that will happily turn your carefully crafted constant-time code back into branches when their heuristics deem that profitable.
Currently the most reliable way to get exactly the assembly you want is to write the assembly you want.
Comments
Most crypto wants constant-time execution, optimizing compilers are not designed with that in mind. They have optimization passes that will happily turn your carefully crafted constant-time code back into branches when their heuristics deem that profitable.
Currently the most reliable way to get exactly the assembly you want is to write the assembly you want.