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

Unified Diff: src/IceAssemblerARM32.h

Issue 1486263002: More coverage of load/stores in ARM integrated assembler. (Closed) Base URL: https://chromium.googlesource.com/native_client/pnacl-subzero.git@master
Patch Set: Fix remaining issue in patch set 2. Created 5 years 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/DartARM32/assembler_arm.cc ('k') | src/IceAssemblerARM32.cpp » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: src/IceAssemblerARM32.h
diff --git a/src/IceAssemblerARM32.h b/src/IceAssemblerARM32.h
index b8cf323a57fe6d70ae0607d1e9c303a109df7efb..3ad38348ee37369c9363447fe95e4222444a37a8 100644
--- a/src/IceAssemblerARM32.h
+++ b/src/IceAssemblerARM32.h
@@ -337,12 +337,20 @@ private:
void emitType05(CondARM32::Cond COnd, int32_t Offset, bool Link);
- // Pattern ccccoooaabalnnnnttttaaaaaaaaaaaa where cccc=Cond, ooo=InstType,
- // l=isLoad, b=isByte, and aaa0a0aaaa0000aaaaaaaaaaaa=Address. Note that
- // Address is assumed to be defined by decodeAddress() in
- // IceAssemblerARM32.cpp.
+ // Emit ccccoooaabalnnnnttttaaaaaaaaaaaa where cccc=Cond,
+ // ooo=InstType, l=isLoad, b=isByte, and
+ // aaa0a0aaaa0000aaaaaaaaaaaa=Address. Note that Address is assumed to be
+ // defined by decodeAddress() in IceAssemblerARM32.cpp.
void emitMemOp(CondARM32::Cond Cond, IValueT InstType, bool IsLoad,
- bool IsByte, uint32_t Rt, uint32_t Address);
+ bool IsByte, IValueT Rt, IValueT Address);
+
+ // Emit ldr/ldrb/str/strb instruction with given address.
+ void emitMemOp(CondARM32::Cond Cond, bool IsLoad, bool IsByte, IValueT Rt,
+ const Operand *OpAddress, const TargetInfo &TInfo);
+
+ // Emit ldrh/ldrd/strh/strd instruction with given address using encoding 3.
+ void emitMemOpEnc3(CondARM32::Cond Cond, IValueT Opcode, IValueT Rt,
+ const Operand *OpAddress, const TargetInfo &TInfo);
// Pattern cccc100aaaalnnnnrrrrrrrrrrrrrrrr where cccc=Cond,
// aaaa<<21=AddressMode, l=IsLoad, nnnn=BaseReg, and
« no previous file with comments | « src/DartARM32/assembler_arm.cc ('k') | src/IceAssemblerARM32.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698