Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(21)

Unified Diff: src/IceRegistersX8632.h

Issue 634333002: emitIAS for fld and fstp (Closed) Base URL: https://chromium.googlesource.com/native_client/pnacl-subzero.git@master
Patch Set: handle st(0) Created 6 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « src/IceInstX8632.def ('k') | src/assembler_ia32.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: src/IceRegistersX8632.h
diff --git a/src/IceRegistersX8632.h b/src/IceRegistersX8632.h
index 851908c3af7525b13764bcbdc845436cd761d4b7..86ace82533abdd46c013f7c8c214f584862084b5 100644
--- a/src/IceRegistersX8632.h
+++ b/src/IceRegistersX8632.h
@@ -36,7 +36,7 @@ enum AllRegisters {
#undef X
};
-// An enum of GPR Registers. The enum value does match encoding used
+// An enum of GPR Registers. The enum value does match the encoding used
// to binary encode register operands in instructions.
enum GPRRegister {
#define X(val, encode, name, name16, name8, scratch, preserved, stackptr, \
@@ -47,7 +47,7 @@ enum GPRRegister {
Encoded_Not_GPR = -1
};
-// An enum of XMM Registers. The enum value does match encoding used
+// An enum of XMM Registers. The enum value does match the encoding used
// to binary encode register operands in instructions.
enum XmmRegister {
#define X(val, encode, name, name16, name8, scratch, preserved, stackptr, \
@@ -58,7 +58,7 @@ enum XmmRegister {
Encoded_Not_Xmm = -1
};
-// An enum of Byte Registers. The enum value does match encoding used
+// An enum of Byte Registers. The enum value does match the encoding used
// to binary encode register operands in instructions.
enum ByteRegister {
#define X(val, encode) Encoded_##val encode,
@@ -67,6 +67,15 @@ enum ByteRegister {
Encoded_Not_ByteReg = -1
};
+// An enum of X87 Stack Registers. The enum value does match the encoding used
+// to binary encode register operands in instructions.
+enum X87STRegister {
+#define X(val, encode, name) Encoded_##val encode,
+ X87ST_REGX8632_TABLE
+#undef X
+ Encoded_Not_X87STReg = -1
+};
+
static inline GPRRegister getEncodedGPR(int32_t RegNum) {
assert(Reg_GPR_First <= RegNum && RegNum <= Reg_GPR_Last);
return GPRRegister(RegNum - Reg_GPR_First);
@@ -91,6 +100,11 @@ static inline GPRRegister getEncodedByteRegOrGPR(Type Ty, int32_t RegNum) {
return getEncodedGPR(RegNum);
}
+static inline X87STRegister getEncodedSTReg(int32_t RegNum) {
+ assert(Encoded_X87ST_First <= RegNum && RegNum <= Encoded_X87ST_Last);
+ return X87STRegister(RegNum);
+}
+
} // end of namespace RegX8632
} // end of namespace Ice
« no previous file with comments | « src/IceInstX8632.def ('k') | src/assembler_ia32.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698