Purpose of embedded computing is to transform input data to output format. Functionality required to achieve this goal is therefore combination of operation execution on computing units and data transfers between those units. To avoid memory bottlenecks, processors use register files to store data during computation.
While contributing to increase of the speed of the computation, this approach however introduce restrictions to exploitable parallelism in application due to data anti dependencies and requires substantial amount of energy to move data between register files and computing units.
In this paper we analyze effect of compiler optimization technique, software bypassing, to reduce amount of energy required by processor by utilizing direct data transfers between computing units, avoiding substantial amount of register file traffic. Our results show that application of this compiler optimization technique can reduce overall energy consumption of processor by up to 38%.