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

Unified Diff: runtime/vm/assembler_x64.h

Issue 11573044: Inline Doubles truncate and round. (Closed) Base URL: http://dart.googlecode.com/svn/branches/bleeding_edge/dart/
Patch Set: Created 7 years, 12 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 16607)
+++ runtime/vm/assembler_x64.h (working copy)
@@ -374,6 +374,16 @@
void cvtss2sd(XmmRegister dst, XmmRegister src);
void cvtsd2ss(XmmRegister dst, XmmRegister src);
+ void pxor(XmmRegister dst, XmmRegister src);
+
+ enum RoundingMode {
+ kRoundToNearest = 0x0,
+ kRoundDown = 0x1,
+ kRoundUp = 0x2,
+ kRoundToZero = 0x3
+ };
+ void roundsd(XmmRegister dst, XmmRegister src, RoundingMode mode);
+
void xchgl(Register dst, Register src);
void xchgq(Register dst, Register src);
@@ -482,6 +492,8 @@
void xorpd(XmmRegister dst, const Address& src);
void xorpd(XmmRegister dst, XmmRegister src);
+ void andpd(XmmRegister dst, const Address& src);
+
void fldl(const Address& src);
void fstpl(const Address& dst);
@@ -576,6 +588,7 @@
void FloatNegate(XmmRegister f);
void DoubleAbs(XmmRegister reg);
+ void DoubleRound(XmmRegister dst, XmmRegister src, XmmRegister tmp);
void LockCmpxchgl(const Address& address, Register reg) {
lock();

Powered by Google App Engine
This is Rietveld 408576698