[PowerPC] Optimize compares fed by ANDISo
[llvm-core.git] / tools / llvm-exegesis / lib / RegisterValue.h
blob8b83ce3d33a65601236d3230bd0917ab7fd4b632
1 //===-- RegisterValue.h -----------------------------------------*- C++ -*-===//
2 //
3 // The LLVM Compiler Infrastructure
4 //
5 // This file is distributed under the University of Illinois Open Source
6 // License. See LICENSE.TXT for details.
7 //
8 //===----------------------------------------------------------------------===//
9 ///
10 /// \file
11 ///
12 /// Defines a Target independent value for a Register. This is useful to explore
13 /// the influence of the instruction input values on its execution time.
14 ///
15 //===----------------------------------------------------------------------===//
17 #include <llvm/ADT/APFloat.h>
19 namespace exegesis {
21 enum class PredefinedValues {
22 POS_ZERO, // Positive zero
23 NEG_ZERO, // Negative zero
24 ONE, // 1.0
25 TWO, // 2.0
26 INF, // Infinity
27 QNAN, // Quiet NaN
28 ULP, // One Unit in the last place
29 SMALLEST = ULP, // The minimum subnormal number
30 SMALLEST_NORM, // The minimum normal number
31 LARGEST, // The maximum normal number
32 ONE_PLUS_ULP, // The value just after 1.0
35 llvm::APInt bitcastFloatValue(const llvm::fltSemantics &FltSemantics,
36 PredefinedValues Value);
38 } // namespace exegesis