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

Unified Diff: src/ia32/assembler-ia32.cc

Issue 2847683002: [ia32] Add cmpps/vcmpps for eq/lt/le/neq (Closed)
Patch Set: Created 3 years, 8 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
« no previous file with comments | « src/ia32/assembler-ia32.h ('k') | src/ia32/disasm-ia32.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: src/ia32/assembler-ia32.cc
diff --git a/src/ia32/assembler-ia32.cc b/src/ia32/assembler-ia32.cc
index 11750a395d388cff7a954704c025a1607a1f5df9..686127460a664d7a8acefe81ecfd4cb8101be920 100644
--- a/src/ia32/assembler-ia32.cc
+++ b/src/ia32/assembler-ia32.cc
@@ -2277,6 +2277,14 @@ void Assembler::maxps(XMMRegister dst, const Operand& src) {
emit_sse_operand(dst, src);
}
+void Assembler::cmpps(XMMRegister dst, const Operand& src, int8_t cmp) {
+ EnsureSpace ensure_space(this);
+ EMIT(0x0F);
+ EMIT(0xC2);
+ emit_sse_operand(dst, src);
+ EMIT(cmp);
+}
+
void Assembler::sqrtsd(XMMRegister dst, const Operand& src) {
EnsureSpace ensure_space(this);
EMIT(0xF2);
@@ -2795,6 +2803,12 @@ void Assembler::vpd(byte op, XMMRegister dst, XMMRegister src1,
vinstr(op, dst, src1, src2, k66, k0F, kWIG);
}
+void Assembler::vcmpps(XMMRegister dst, XMMRegister src1, const Operand& src2,
+ int8_t cmp) {
+ vps(0xC2, dst, src1, src2);
+ EMIT(cmp);
+}
+
void Assembler::vpsllw(XMMRegister dst, XMMRegister src, int8_t imm8) {
XMMRegister iop = {6};
vinstr(0x71, iop, dst, Operand(src), k66, k0F, kWIG);
« no previous file with comments | « src/ia32/assembler-ia32.h ('k') | src/ia32/disasm-ia32.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698