Support for Conditional Execution in Selective Scheduling

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 advanta...

Full description

Bibliographic Details
Main Authors: Dmitry Melnik, Alexandr Monakov
Format: Article
Language:English
Published: Ivannikov Institute for System Programming of the Russian Academy of Sciences 2018-10-01
Series:Труды Института системного программирования РАН
Subjects:
Online Access:https://ispranproceedings.elpub.ru/jour/article/view/1031
_version_ 1818393366923051008
author Dmitry Melnik
Alexandr Monakov
author_facet Dmitry Melnik
Alexandr Monakov
author_sort Dmitry Melnik
collection DOAJ
description 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.
first_indexed 2024-12-14T05:44:11Z
format Article
id doaj.art-68afa5d2c9bc4b9fbd6fd6a0bd3e4883
institution Directory Open Access Journal
issn 2079-8156
2220-6426
language English
last_indexed 2024-12-14T05:44:11Z
publishDate 2018-10-01
publisher Ivannikov Institute for System Programming of the Russian Academy of Sciences
record_format Article
series Труды Института системного программирования РАН
spelling doaj.art-68afa5d2c9bc4b9fbd6fd6a0bd3e48832022-12-21T23:14:56ZengIvannikov Institute for System Programming of the Russian Academy of SciencesТруды Института системного программирования РАН2079-81562220-64262018-10-012101031Support for Conditional Execution in Selective SchedulingDmitry Melnik0Alexandr Monakov1ИСП РАНИСП РАН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.https://ispranproceedings.elpub.ru/jour/article/view/1031планирование командусловное выполнениеgcc
spellingShingle Dmitry Melnik
Alexandr Monakov
Support for Conditional Execution in Selective Scheduling
Труды Института системного программирования РАН
планирование команд
условное выполнение
gcc
title Support for Conditional Execution in Selective Scheduling
title_full Support for Conditional Execution in Selective Scheduling
title_fullStr Support for Conditional Execution in Selective Scheduling
title_full_unstemmed Support for Conditional Execution in Selective Scheduling
title_short Support for Conditional Execution in Selective Scheduling
title_sort support for conditional execution in selective scheduling
topic планирование команд
условное выполнение
gcc
url https://ispranproceedings.elpub.ru/jour/article/view/1031
work_keys_str_mv AT dmitrymelnik supportforconditionalexecutioninselectivescheduling
AT alexandrmonakov supportforconditionalexecutioninselectivescheduling