< prev index next >
src/cpu/x86/vm/assembler_x86.cpp
Print this page
*** 1537,1547 ****
void Assembler::cmpl(Register dst, Register src) {
(void) prefix_and_encode(dst->encoding(), src->encoding());
emit_arith(0x3B, 0xC0, dst, src);
}
-
void Assembler::cmpl(Register dst, Address src) {
InstructionMark im(this);
prefix(src, dst);
emit_int8((unsigned char)0x3B);
emit_operand(dst, src);
--- 1537,1546 ----
*** 2123,2132 ****
--- 2122,2141 ----
prefix(src, dst, true);
emit_int8((unsigned char)0x8A);
emit_operand(dst, src);
}
+ void Assembler::movddup(XMMRegister dst, XMMRegister src) {
+ _instruction_uses_vl = true;
+ NOT_LP64(assert(VM_Version::supports_sse3(), ""));
+ int encode = simd_prefix_and_encode(dst, xnoreg, src, VEX_SIMD_F2, /* no_mask_reg */ false, VEX_OPCODE_0F,
+ /* rex_w */ VM_Version::supports_evex(), AVX_128bit, /* legacy_mode */ false);
+ emit_int8(0x12);
+ emit_int8(0xC0 | encode);
+
+ }
+
void Assembler::kmovql(KRegister dst, KRegister src) {
NOT_LP64(assert(VM_Version::supports_evex(), ""));
int encode = kreg_prefix_and_encode(dst, knoreg, src, VEX_SIMD_NONE,
/* no_mask_reg */ true, VEX_OPCODE_0F, /* rex_w */ true);
emit_int8((unsigned char)0x90);
*** 3401,3410 ****
--- 3410,3433 ----
emit_int8((unsigned char)0xD0 | encode);
emit_int8(imm8);
}
}
+ void Assembler::rcpps(XMMRegister dst, XMMRegister src) {
+ NOT_LP64(assert(VM_Version::supports_sse(), ""));
+ int encode = simd_prefix_and_encode(dst, xnoreg, src, VEX_SIMD_NONE, /* no_mask_reg */ false, VEX_OPCODE_0F, /* rex_w */ false, AVX_128bit, /* legacy_mode */ true);
+ emit_int8(0x53);
+ emit_int8(0xC0 | encode);
+ }
+
+ void Assembler::rcpss(XMMRegister dst, XMMRegister src) {
+ NOT_LP64(assert(VM_Version::supports_sse(), ""));
+ int encode = simd_prefix_and_encode(dst, dst, src, VEX_SIMD_F3, /* no_mask_reg */ false, VEX_OPCODE_0F, /* rex_w */ false, AVX_128bit, /* legacy_mode */ true);
+ emit_int8(0x53);
+ emit_int8(0xC0 | encode);
+ }
+
void Assembler::rdtsc() {
emit_int8((unsigned char)0x0F);
emit_int8((unsigned char)0x31);
}
< prev index next >