comparison src/cpu/x86/vm/assembler_x86.cpp @ 2479:15c9a0e16269

7035713: 3DNow Prefetch Instruction Support Summary: The upcoming processors from AMD are the first that support 3dnow prefetch without supporting the 3dnow instruction set. Reviewed-by: kvn Contributed-by: tom.deneau@amd.com
author kvn
date Mon, 11 Apr 2011 15:30:31 -0700
parents d86923d96dca
children 0654ee04b214 732454aaf5cb
comparison
equal deleted inserted replaced
2478:328926869b15 2479:15c9a0e16269
2315 emit_byte(0x18); 2315 emit_byte(0x18);
2316 emit_operand(rax, src); // 0, src 2316 emit_operand(rax, src); // 0, src
2317 } 2317 }
2318 2318
2319 void Assembler::prefetchr(Address src) { 2319 void Assembler::prefetchr(Address src) {
2320 NOT_LP64(assert(VM_Version::supports_3dnow(), "must support")); 2320 NOT_LP64(assert(VM_Version::supports_3dnow_prefetch(), "must support"));
2321 InstructionMark im(this); 2321 InstructionMark im(this);
2322 prefetch_prefix(src); 2322 prefetch_prefix(src);
2323 emit_byte(0x0D); 2323 emit_byte(0x0D);
2324 emit_operand(rax, src); // 0, src 2324 emit_operand(rax, src); // 0, src
2325 } 2325 }
2347 emit_byte(0x18); 2347 emit_byte(0x18);
2348 emit_operand(rbx, src); // 3, src 2348 emit_operand(rbx, src); // 3, src
2349 } 2349 }
2350 2350
2351 void Assembler::prefetchw(Address src) { 2351 void Assembler::prefetchw(Address src) {
2352 NOT_LP64(assert(VM_Version::supports_3dnow(), "must support")); 2352 NOT_LP64(assert(VM_Version::supports_3dnow_prefetch(), "must support"));
2353 InstructionMark im(this); 2353 InstructionMark im(this);
2354 prefetch_prefix(src); 2354 prefetch_prefix(src);
2355 emit_byte(0x0D); 2355 emit_byte(0x0D);
2356 emit_operand(rcx, src); // 1, src 2356 emit_operand(rcx, src); // 1, src
2357 } 2357 }