Proceedings of ISP RAS

Support for Conditional Execution in Selective Scheduling.

Dmitry Melnik, Alexandr Monakov, Arutyun Avetisyan.


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.


instruction scheduling, conditional execution, predication, GCC


Proceedings of the Institute for System Programming, vol. 21, 2011, pp. 103-118.

ISSN 2220-6426 (Online), ISSN 2079-8156 (Print).

DOI: 10.15514/ISPRAS-2012-22-27

Full text of the paper in pdf (in Russian) Back to the contents of the volume