Low level conditional move optimization

Antyipin, Artyom and Góbi, Attila and Kozsik, Tamás: Low level conditional move optimization. Acta cybernetica, (21) 1. pp. 5-20. (2013)

[img] Cikk, tanulmány, mű
actacyb_21_1_2013_2.pdf

Download (483kB)

Abstract

The high level optimizations are becoming more and more sophisticated, the importance of low level optimizations should not be underestimated. Due to the changes in the inner architecture of modern processors, some optimization techniques may become more or less effective. Existing techniques need, from time to time, to be reconsidered, and new techniques, targeting these modern architectures, may emerge. Due to the growing instruction pipeline of modern processors, recovering after branch mis-predictions is becoming more expensive, and so avoiding that is becoming more critical. In this paper we introduce a novel approach to branch elimination using conditional move operations, namely the CMOVcc instruction group. The inappropriate use of these instructions may result in sensible performance regression, but in many cases they outperform the sequence of a conditional jump and an unconditional move instruction. Our goal is to analyze the usage of CMOVcc in different contexts on modern processors, and based on these results, propose a technique to automatically decide whether the conditional move or the sequence of a conditional jump and an unconditional move should be performed in a given situation.

Item Type: Article
Journal or Publication Title: Acta cybernetica
Date: 2013
Volume: 21
Number: 1
Page Range: pp. 5-20
ISSN: 0324-721X
Language: angol
DOI: https://doi.org/10.14232/actacyb.21.1.2013.2
Uncontrolled Keywords: Természettudomány, Informatika
Additional Information: Bibliogr.: p. 18-20.; Abstract
Date Deposited: 2016. Oct. 17. 10:38
Last Modified: 2018. Jun. 05. 14:54
URI: http://acta.bibl.u-szeged.hu/id/eprint/30846

Actions (login required)

View Item View Item