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

Unified Diff: test/cctest/test-disasm-ia32.cc

Issue 90643003: Experimental implementation: Exposing SIMD instructions into JavaScript Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Created 7 years, 1 month 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/x64/stub-cache-x64.cc ('k') | test/mjsunit/simd/argument_object.js » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: test/cctest/test-disasm-ia32.cc
diff --git a/test/cctest/test-disasm-ia32.cc b/test/cctest/test-disasm-ia32.cc
index 2b4c82f2b12953df87b28e5235bebe2639965353..4d771d2ffbd2dce4041295e8e63ebc7be0e8a5b6 100644
--- a/test/cctest/test-disasm-ia32.cc
+++ b/test/cctest/test-disasm-ia32.cc
@@ -403,6 +403,58 @@ TEST(DisasmIa320) {
__ psrlq(xmm0, 17);
__ psrlq(xmm0, xmm1);
__ por(xmm0, xmm1);
+
+ // new instruction introduced by SIMD
+ __ cvtdq2ps(xmm1, Operand(ebx, ecx, times_4, 10000));
+ __ cvtdq2ps(xmm1, xmm0);
+ __ cvtps2dq(xmm1, Operand(ebx, ecx, times_4, 10000));
+ __ cvtps2dq(xmm1, xmm0);
+ __ paddd(xmm1, Operand(ebx, ecx, times_4, 10000));
+ __ paddd(xmm1, xmm0);
+ __ psubd(xmm1, Operand(ebx, ecx, times_4, 10000));
+ __ psubd(xmm1, xmm0);
+ __ pmuludq(xmm1, Operand(ebx, ecx, times_4, 10000));
+ __ pmuludq(xmm1, xmm0);
+ __ punpackldq(xmm1, Operand(ebx, ecx, times_4, 10000));
+ __ punpackldq(xmm1, xmm0);
+ {
+ __ shufps(xmm1, xmm1, 0x0);
+ __ movups(xmm1, Operand(ebx, ecx, times_4, 10000));
+ __ movups(Operand(ebx, ecx, times_4, 10000), xmm1);
+
+ __ andps(xmm1, Operand(ebx, ecx, times_4, 10000));
+ __ andps(xmm1, xmm0);
+ __ xorps(xmm1, Operand(ebx, ecx, times_4, 10000));
+ __ xorps(xmm1, xmm0);
+ __ orps(xmm1, Operand(ebx, ecx, times_4, 10000));
+ __ orps(xmm1, xmm0);
+
+ __ addps(xmm1, Operand(ebx, ecx, times_4, 10000));
+ __ addps(xmm1, xmm0);
+ __ subps(xmm1, Operand(ebx, ecx, times_4, 10000));
+ __ subps(xmm1, xmm0);
+ __ mulps(xmm1, Operand(ebx, ecx, times_4, 10000));
+ __ mulps(xmm1, xmm0);
+ __ divps(xmm1, Operand(ebx, ecx, times_4, 10000));
+ __ divps(xmm1, xmm0);
+ __ minps(xmm1, Operand(ebx, ecx, times_4, 10000));
+ __ minps(xmm1, xmm0);
+ __ maxps(xmm1, Operand(ebx, ecx, times_4, 10000));
+ __ maxps(xmm1, xmm0);
+ __ rcpps(xmm1, Operand(ebx, ecx, times_4, 10000));
+ __ rcpps(xmm1, xmm0);
+ __ rsqrtps(xmm1, Operand(ebx, ecx, times_4, 10000));
+ __ rsqrtps(xmm1, xmm0);
+ __ sqrtps(xmm1, Operand(ebx, ecx, times_4, 10000));
+ __ sqrtps(xmm1, xmm0);
+
+ __ cmpeqps(xmm1, xmm0);
+ __ cmpltps(xmm1, xmm0);
+ __ cmpleps(xmm1, xmm0);
+ __ cmpneqps(xmm1, xmm0);
+ __ cmpnltps(xmm1, xmm0);
+ __ cmpnleps(xmm1, xmm0);
+ }
}
}
@@ -436,6 +488,9 @@ TEST(DisasmIa320) {
__ pextrd(eax, xmm0, 1);
__ pinsrd(xmm1, eax, 0);
__ extractps(eax, xmm1, 0);
+ __ insertps(xmm1, xmm0, 0);
+ __ pmulld(xmm1, Operand(ebx, ecx, times_4, 10000));
+ __ pmulld(xmm1, xmm0);
}
}
« no previous file with comments | « src/x64/stub-cache-x64.cc ('k') | test/mjsunit/simd/argument_object.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698