Index: src/assembler_constants_ia32.h |
diff --git a/src/assembler_constants_ia32.h b/src/assembler_constants_ia32.h |
new file mode 100644 |
index 0000000000000000000000000000000000000000..be521c94a1485a3594ab71c7674a01fd094e74ca |
--- /dev/null |
+++ b/src/assembler_constants_ia32.h |
@@ -0,0 +1,105 @@ |
+// Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file |
+// for details. All rights reserved. Use of this source code is governed by a |
+// BSD-style license that can be found in the LICENSE file. |
+// |
+// Modified by the Subzero authors. |
+// |
+//===- subzero/src/assembler_constants_ia32.h - x86-32 consts ---*- C++ -*-===// |
+// |
+// The Subzero Code Generator |
+// |
+// This file is distributed under the University of Illinois Open Source |
+// License. See LICENSE.TXT for details. |
+// |
+//===----------------------------------------------------------------------===// |
+// |
+// This file contains constants related to the assembler encoding |
+// of x86-32 operands. |
+// |
+//===----------------------------------------------------------------------===// |
+ |
+#ifndef SUBZERO_SRC_ASSEMBLER_CONSTANTS_IA32_H_ |
+#define SUBZERO_SRC_ASSEMBLER_CONSTANTS_IA32_H_ |
+ |
+namespace Ice { |
+namespace x86 { |
+ |
+// Unify w/ Ice... |
+enum Register { |
+ kFirstFreeCpuRegister = 0, |
+ EAX = 0, |
+ ECX = 1, |
+ EDX = 2, |
+ EBX = 3, |
+ ESP = 4, |
+ EBP = 5, |
+ ESI = 6, |
+ EDI = 7, |
+ kLastFreeCpuRegister = 7, |
+ kNoRegister = -1 // Signals an illegal register. |
+}; |
+ |
+// Unify w/ Ice... |
+enum ByteRegister { |
+ AL = 0, |
+ CL = 1, |
+ DL = 2, |
+ BL = 3, |
+ AH = 4, |
+ CH = 5, |
+ DH = 6, |
+ BH = 7, |
+ kNoByteRegister = -1 // Signals an illegal register. |
+}; |
+ |
+// Unify w/ Ice... |
+enum XmmRegister { |
+ XMM0 = 0, |
+ XMM1 = 1, |
+ XMM2 = 2, |
+ XMM3 = 3, |
+ XMM4 = 4, |
+ XMM5 = 5, |
+ XMM6 = 6, |
+ XMM7 = 7, |
+ kNoXmmRegister = -1 // Signals an illegal register. |
+}; |
+ |
+// Unify w/ Ice... |
+enum ScaleFactor { TIMES_1 = 0, TIMES_2 = 1, TIMES_4 = 2, TIMES_8 = 3 }; |
+ |
+// Unify w/ Ice... |
+enum Condition { |
+ DID_OVERFLOW = 0, |
+ NO_OVERFLOW = 1, |
+ BELOW = 2, |
+ ABOVE_EQUAL = 3, |
+ EQUAL = 4, |
+ NOT_EQUAL = 5, |
+ BELOW_EQUAL = 6, |
+ ABOVE = 7, |
+ SIGN = 8, |
+ NOT_SIGN = 9, |
+ PARITY_EVEN = 10, |
+ PARITY_ODD = 11, |
+ LESS = 12, |
+ GREATER_EQUAL = 13, |
+ LESS_EQUAL = 14, |
+ GREATER = 15, |
+ |
+ ZERO = EQUAL, |
+ NOT_ZERO = NOT_EQUAL, |
+ NEGATIVE = SIGN, |
+ POSITIVE = NOT_SIGN, |
+ CARRY = BELOW, |
+ NOT_CARRY = ABOVE_EQUAL |
+}; |
+ |
+// The largest multibyte nop we will emit. This could go up to 15 if it |
+// becomes important to us. |
+const int MAX_NOP_SIZE = 8; |
+ |
+} // end of namespace x86 |
+} // end of namespace Ice |
+ |
+#endif // SUBZERO_SRC_ASSEMBLER_CONSTANTS_IA32_H_ |