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

Unified Diff: runtime/vm/assembler_x64.h

Issue 648613006: Implement bigint absAdd, absSub, mulAdd, sqrAdd, estQuotientDigit intrinsics, (Closed) Base URL: http://dart.googlecode.com/svn/branches/bleeding_edge/dart/
Patch Set: 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
Index: runtime/vm/assembler_x64.h
===================================================================
--- runtime/vm/assembler_x64.h (revision 41040)
+++ runtime/vm/assembler_x64.h (working copy)
@@ -546,26 +546,29 @@
void XorImmediate(Register dst, const Immediate& imm, Register pp);
void addl(Register dst, Register src);
- void addl(const Address& address, const Immediate& imm);
+ void addl(Register dst, const Address& address);
zra 2014/10/10 16:23:43 Please add assembler tests for addl, adcl, subl, a
regis 2014/10/10 19:15:47 Done.
+ void addl(const Address& address, Register src);
+ void adcl(Register dst, Register src);
+ void adcl(Register dst, const Immediate& imm);
+ void adcl(Register dst, const Address& address);
void addq(Register dst, Register src);
- void addq(Register reg, const Immediate& imm);
- void addq(Register reg, const Address& address);
+ void addq(Register dst, const Immediate& imm);
+ void addq(Register dst, const Address& address);
void addq(const Address& address, const Immediate& imm);
- void addq(const Address& address, Register reg);
+ void addq(const Address& address, Register src);
- void adcl(Register dst, Register src);
-
- void subl(Register dst, Register src);
-
void cdq();
void cqo();
void idivl(Register reg);
+ void divl(Register reg);
+
void idivq(Register reg);
void imull(Register dst, Register src);
void imull(Register reg, const Immediate& imm);
+ void mull(Register reg);
void imulq(Register dst, Register src);
void imulq(Register dst, const Address& address);
@@ -572,6 +575,10 @@
void imulq(Register dst, const Immediate& imm);
void MulImmediate(Register reg, const Immediate& imm, Register pp);
+ void subl(Register dst, Register src);
+ void sbbl(Register dst, const Immediate& imm);
+ void sbbl(Register dst, const Address& address);
+
void subq(Register dst, Register src);
void subq(Register reg, const Immediate& imm);
void subq(Register reg, const Address& address);
@@ -584,6 +591,7 @@
void shrl(Register operand, Register shifter);
void sarl(Register reg, const Immediate& imm);
void sarl(Register operand, Register shifter);
+ void shldl(Register dst, Register src, const Immediate& imm);
void shlq(Register reg, const Immediate& imm);
void shlq(Register operand, Register shifter);
@@ -1033,7 +1041,6 @@
inline void EmitInt64(int64_t value);
inline void EmitRegisterREX(Register reg, uint8_t rex);
- inline void EmitRegisterOperand(int rm, int reg);
inline void EmitOperandREX(int rm, const Operand& operand, uint8_t rex);
inline void EmitXmmRegisterOperand(int rm, XmmRegister reg);
inline void EmitFixup(AssemblerFixup* fixup);

Powered by Google App Engine
This is Rietveld 408576698