OLD | NEW |
1 //===- subzero/src/IceConditionCodesX8632.h - Condition Codes ---*- C++ -*-===// | 1 //===- subzero/src/IceConditionCodesX8632.h - Condition Codes ---*- C++ -*-===// |
2 // | 2 // |
3 // The Subzero Code Generator | 3 // The Subzero Code Generator |
4 // | 4 // |
5 // This file is distributed under the University of Illinois Open Source | 5 // This file is distributed under the University of Illinois Open Source |
6 // License. See LICENSE.TXT for details. | 6 // License. See LICENSE.TXT for details. |
7 // | 7 // |
8 //===----------------------------------------------------------------------===// | 8 //===----------------------------------------------------------------------===// |
9 // | 9 // |
10 // This file declares the condition codes for x86-32. | 10 // This file declares the condition codes for x86-32. |
11 // | 11 // |
12 //===----------------------------------------------------------------------===// | 12 //===----------------------------------------------------------------------===// |
13 | 13 |
14 #ifndef SUBZERO_SRC_ICECONDITIONCODESX8632_H | 14 #ifndef SUBZERO_SRC_ICECONDITIONCODESX8632_H |
15 #define SUBZERO_SRC_ICECONDITIONCODESX8632_H | 15 #define SUBZERO_SRC_ICECONDITIONCODESX8632_H |
16 | 16 |
17 #include "IceDefs.h" | 17 #include "IceDefs.h" |
18 #include "IceInstX8632.def" | 18 #include "IceInstX8632.def" |
19 | 19 |
20 namespace Ice { | 20 namespace Ice { |
21 | 21 |
22 class CondX86 { | 22 class CondX86 { |
| 23 CondX86() = delete; |
| 24 CondX86(const CondX86 &) = delete; |
| 25 CondX86 &operator=(const CondX86 &) = delete; |
| 26 |
23 public: | 27 public: |
24 // An enum of condition codes used for branches and cmov. The enum value | 28 // An enum of condition codes used for branches and cmov. The enum value |
25 // should match the value used to encode operands in binary instructions. | 29 // should match the value used to encode operands in binary instructions. |
26 enum BrCond { | 30 enum BrCond { |
27 #define X(tag, encode, opp, dump, emit) tag encode, | 31 #define X(tag, encode, opp, dump, emit) tag encode, |
28 ICEINSTX8632BR_TABLE | 32 ICEINSTX8632BR_TABLE |
29 #undef X | 33 #undef X |
30 Br_None | 34 Br_None |
31 }; | 35 }; |
32 | 36 |
33 // An enum of condition codes relevant to the CMPPS instruction. The enum | 37 // An enum of condition codes relevant to the CMPPS instruction. The enum |
34 // value should match the value used to encode operands in binary | 38 // value should match the value used to encode operands in binary |
35 // instructions. | 39 // instructions. |
36 enum CmppsCond { | 40 enum CmppsCond { |
37 #define X(tag, emit) tag, | 41 #define X(tag, emit) tag, |
38 ICEINSTX8632CMPPS_TABLE | 42 ICEINSTX8632CMPPS_TABLE |
39 #undef X | 43 #undef X |
40 Cmpps_Invalid | 44 Cmpps_Invalid |
41 }; | 45 }; |
42 }; | 46 }; |
43 | 47 |
44 } // end of namespace Ice | 48 } // end of namespace Ice |
45 | 49 |
46 #endif // SUBZERO_SRC_ICECONDITIONCODESX8632_H | 50 #endif // SUBZERO_SRC_ICECONDITIONCODESX8632_H |
OLD | NEW |