Energy-Aware Datapath Optimizations at the Architecture-Compiler Interface by