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

Unified Diff: src/IceRegistersARM32.h

Issue 1535233002: Refactor PUSH/POP in ARM assemblers. (Closed) Base URL: https://chromium.googlesource.com/native_client/pnacl-subzero.git@master
Patch Set: Fix remaining issues. Created 4 years, 11 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/IceInstARM32.cpp ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: src/IceRegistersARM32.h
diff --git a/src/IceRegistersARM32.h b/src/IceRegistersARM32.h
index 29e291b834efdb5b2b1cda42442ac00a9353e60f..31323c250b9d725410133ec4e9094ba2d8512233 100644
--- a/src/IceRegistersARM32.h
+++ b/src/IceRegistersARM32.h
@@ -157,7 +157,7 @@ public:
return Table[RegNum].IsGPR;
}
- static constexpr inline SizeT getNumGPRegs() {
+ static constexpr SizeT getNumGPRegs() {
return 0
#define X(val, encode, name, cc_arg, scratch, preserved, stackptr, frameptr, \
isGPR, isInt, isI64Pair, isFP32, isFP64, isVec128, alias_init) \
@@ -167,11 +167,31 @@ public:
;
}
- static inline GPRRegister getEncodedGPReg(int32_t RegNum) {
+ static inline GPRRegister getEncodedGPR(int32_t RegNum) {
assert(isGPRegister(RegNum));
return GPRRegister(Table[RegNum].Encoding);
}
+ static constexpr SizeT getNumGPRs() {
+ return 0
+#define X(val, encode, name, cc_arg, scratch, preserved, stackptr, frameptr, \
+ isGPR, isInt, isI64Pair, isFP32, isFP64, isVec128, alias_init) \
+ +(isGPR)
+ REGARM32_TABLE
+#undef X
+ ;
+ }
+
+ static inline bool isGPR(SizeT RegNum) {
+ assertRegisterDefined(RegNum);
+ return Table[RegNum].IsGPR;
+ }
+
+ static inline IceString getGPRName(SizeT RegNum) {
+ assert(isGPR(RegNum));
+ return Table[RegNum].Name;
+ }
+
static inline GPRRegister getI64PairFirstGPRNum(int32_t RegNum) {
assert(isI64RegisterPair(RegNum));
return GPRRegister(Table[RegNum].Encoding);
@@ -192,7 +212,7 @@ public:
return Table[RegNum].IsFP32;
}
- static constexpr inline SizeT getNumSRegs() {
+ static constexpr SizeT getNumSRegs() {
return 0
#define X(val, encode, name, cc_arg, scratch, preserved, stackptr, frameptr, \
isGPR, isInt, isI64Pair, isFP32, isFP64, isVec128, alias_init) \
@@ -202,6 +222,11 @@ public:
;
}
+ static inline IceString getSRegName(SizeT RegNum) {
+ assert(isEncodedSReg(RegNum));
+ return Table[RegNum].Name;
+ }
+
static inline SRegister getEncodedSReg(int32_t RegNum) {
assert(isEncodedSReg(RegNum));
return SRegister(Table[RegNum].Encoding);
« no previous file with comments | « src/IceInstARM32.cpp ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698