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

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

Issue 1044793002: [turbofan] Add backend support for float32 operations. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Add MachineOperator unit tests. Created 5 years, 9 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/x64/assembler-x64.h
diff --git a/src/x64/assembler-x64.h b/src/x64/assembler-x64.h
index cfb89c8cc9fa344d0d17f7ac5cc7ab0ea7e5cd00..141c24d480f1bdbb849381dc691991cae59556c0 100644
--- a/src/x64/assembler-x64.h
+++ b/src/x64/assembler-x64.h
@@ -1046,6 +1046,14 @@ class Assembler : public AssemblerBase {
void divss(XMMRegister dst, XMMRegister src);
void divss(XMMRegister dst, const Operand& src);
+ void maxss(XMMRegister dst, XMMRegister src);
+ void maxss(XMMRegister dst, const Operand& src);
+ void minss(XMMRegister dst, XMMRegister src);
+ void minss(XMMRegister dst, const Operand& src);
+
+ void sqrtss(XMMRegister dst, XMMRegister src);
+ void sqrtss(XMMRegister dst, const Operand& src);
+
void ucomiss(XMMRegister dst, XMMRegister src);
void ucomiss(XMMRegister dst, const Operand& src);
void movaps(XMMRegister dst, XMMRegister src);
@@ -1133,6 +1141,11 @@ class Assembler : public AssemblerBase {
void divsd(XMMRegister dst, XMMRegister src);
void divsd(XMMRegister dst, const Operand& src);
+ void maxsd(XMMRegister dst, XMMRegister src);
+ void maxsd(XMMRegister dst, const Operand& src);
+ void minsd(XMMRegister dst, XMMRegister src);
+ void minsd(XMMRegister dst, const Operand& src);
+
void andpd(XMMRegister dst, XMMRegister src);
void orpd(XMMRegister dst, XMMRegister src);
void xorpd(XMMRegister dst, XMMRegister src);
@@ -1149,11 +1162,6 @@ class Assembler : public AssemblerBase {
void punpckldq(XMMRegister dst, XMMRegister src);
void punpckhdq(XMMRegister dst, XMMRegister src);
- void maxsd(XMMRegister dst, XMMRegister src);
- void maxsd(XMMRegister dst, const Operand& src);
- void minsd(XMMRegister dst, XMMRegister src);
- void minsd(XMMRegister dst, const Operand& src);
-
// SSE 4.1 instruction
void extractps(Register dst, XMMRegister src, byte imm8);
@@ -1351,9 +1359,52 @@ class Assembler : public AssemblerBase {
void vminsd(XMMRegister dst, XMMRegister src1, const Operand& src2) {
vsd(0x5d, dst, src1, src2);
}
+ void vucomisd(XMMRegister dst, XMMRegister src);
+ void vucomisd(XMMRegister dst, const Operand& src);
void vsd(byte op, XMMRegister dst, XMMRegister src1, XMMRegister src2);
void vsd(byte op, XMMRegister dst, XMMRegister src1, const Operand& src2);
+ void vaddss(XMMRegister dst, XMMRegister src1, XMMRegister src2) {
+ vss(0x58, dst, src1, src2);
+ }
+ void vaddss(XMMRegister dst, XMMRegister src1, const Operand& src2) {
+ vss(0x58, dst, src1, src2);
+ }
+ void vsubss(XMMRegister dst, XMMRegister src1, XMMRegister src2) {
+ vss(0x5c, dst, src1, src2);
+ }
+ void vsubss(XMMRegister dst, XMMRegister src1, const Operand& src2) {
+ vss(0x5c, dst, src1, src2);
+ }
+ void vmulss(XMMRegister dst, XMMRegister src1, XMMRegister src2) {
+ vss(0x59, dst, src1, src2);
+ }
+ void vmulss(XMMRegister dst, XMMRegister src1, const Operand& src2) {
+ vss(0x59, dst, src1, src2);
+ }
+ void vdivss(XMMRegister dst, XMMRegister src1, XMMRegister src2) {
+ vss(0x5e, dst, src1, src2);
+ }
+ void vdivss(XMMRegister dst, XMMRegister src1, const Operand& src2) {
+ vss(0x5e, dst, src1, src2);
+ }
+ void vmaxss(XMMRegister dst, XMMRegister src1, XMMRegister src2) {
+ vss(0x5f, dst, src1, src2);
+ }
+ void vmaxss(XMMRegister dst, XMMRegister src1, const Operand& src2) {
+ vss(0x5f, dst, src1, src2);
+ }
+ void vminss(XMMRegister dst, XMMRegister src1, XMMRegister src2) {
+ vss(0x5d, dst, src1, src2);
+ }
+ void vminss(XMMRegister dst, XMMRegister src1, const Operand& src2) {
+ vss(0x5d, dst, src1, src2);
+ }
+ void vucomiss(XMMRegister dst, XMMRegister src);
+ void vucomiss(XMMRegister dst, const Operand& src);
+ void vss(byte op, XMMRegister dst, XMMRegister src1, XMMRegister src2);
+ void vss(byte op, XMMRegister dst, XMMRegister src1, const Operand& src2);
+
// Debugging
void Print();

Powered by Google App Engine
This is Rietveld 408576698