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

Unified Diff: src/arm/assembler-arm.h

Issue 6311010: ARM: Port new version of ParallelMove's GapResolver to ARM. Add MemOperand s... (Closed) Base URL: http://v8.googlecode.com/svn/branches/bleeding_edge/
Patch Set: '' Created 9 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
Index: src/arm/assembler-arm.h
===================================================================
--- src/arm/assembler-arm.h (revision 6436)
+++ src/arm/assembler-arm.h (working copy)
@@ -593,7 +593,7 @@
offset_ = offset;
}
- uint32_t offset() {
+ uint32_t offset() const {
ASSERT(rm_.is(no_reg));
return offset_;
}
@@ -601,6 +601,14 @@
Register rn() const { return rn_; }
Register rm() const { return rm_; }
+ bool OffsetIsEncodable() const {
+ return offset_ >= 0 ? is_uint12(offset_) : is_uint12(-offset_);
+ }
+
+ bool OffsetIsVFPEncodable() const {
+ return offset_ % 4 == 0 && offset_ < 1024 && offset_ > -1024;
Søren Thygesen Gjesse 2011/01/25 08:33:20 is_unit8(offset_ >= 0 ? offset_ >> 2 : (-offset_)
+ }
+
private:
Register rn_; // base
Register rm_; // register offset
@@ -1065,21 +1073,33 @@
const Register base,
int offset, // Offset must be a multiple of 4.
const Condition cond = al);
+ void vldr(const DwVfpRegister dst,
+ const MemOperand& src, // Source cannot be a FieldOperand.
Søren Thygesen Gjesse 2011/01/25 08:33:20 I think the comments "Offset must be a multiple of
William Hesse 2011/01/25 17:25:13 Comments are removed. These functions now work wi
+ const Condition cond = al);
void vldr(const SwVfpRegister dst,
const Register base,
int offset, // Offset must be a multiple of 4.
const Condition cond = al);
+ void vldr(const SwVfpRegister dst,
+ const MemOperand& src, // Source cannot be a FieldOperand.
+ const Condition cond = al);
void vstr(const DwVfpRegister src,
const Register base,
int offset, // Offset must be a multiple of 4.
const Condition cond = al);
+ void vstr(const DwVfpRegister src,
+ const MemOperand& dst, // Destination cannot be a FieldOperand.
+ const Condition cond = al);
void vstr(const SwVfpRegister src,
const Register base,
int offset, // Offset must be a multiple of 4.
const Condition cond = al);
+ void vstr(const SwVfpRegister src,
+ const MemOperand& dst, // Destination cannot be a FieldOperand.
+ const Condition cond = al);
void vmov(const DwVfpRegister dst,
double imm,
« no previous file with comments | « src/SConscript ('k') | src/arm/assembler-arm.cc » ('j') | src/arm/assembler-arm.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698