Support for Conditional Execution in Selective Scheduling - Dmitry Melnik; Alexandr Monakov (Труды Института системного программирования РАН, 2018)
Conditional execution is a hardware feature available in some CPUs that allows assigning instruction a predicate so that instruction will only execute if the predicate is true. In this paper we propose a method for supporting conditional execution in the instruction scheduler and discuss the advantages of this approach compared to a stand-alone optimization pass that precedes the instruction scheduling. We have implemented the proposed optimization in the selective scheduling in GCC compiler. Experimental results show an average improvement of 2% (and up to 16% on selected tests) for SPECFP part of SPEC CPU2000 benchmark.