Mercurial > hg > graal-compiler
comparison src/cpu/x86/vm/assembler_x86.cpp @ 3854:1af104d6cf99
7079329: Adjust allocation prefetching for T4
Summary: on T4 2 BIS instructions should be issued to prefetch 64 bytes
Reviewed-by: iveresov, phh, twisti
author | kvn |
---|---|
date | Tue, 16 Aug 2011 16:59:46 -0700 |
parents | 95134e034042 |
children | 381bf869f784 |
comparison
equal
deleted
inserted
replaced
3853:11211f7cb5a0 | 3854:1af104d6cf99 |
---|---|
2313 emit_byte(0x18); | 2313 emit_byte(0x18); |
2314 emit_operand(rax, src); // 0, src | 2314 emit_operand(rax, src); // 0, src |
2315 } | 2315 } |
2316 | 2316 |
2317 void Assembler::prefetchr(Address src) { | 2317 void Assembler::prefetchr(Address src) { |
2318 NOT_LP64(assert(VM_Version::supports_3dnow_prefetch(), "must support")); | 2318 assert(VM_Version::supports_3dnow_prefetch(), "must support"); |
2319 InstructionMark im(this); | 2319 InstructionMark im(this); |
2320 prefetch_prefix(src); | 2320 prefetch_prefix(src); |
2321 emit_byte(0x0D); | 2321 emit_byte(0x0D); |
2322 emit_operand(rax, src); // 0, src | 2322 emit_operand(rax, src); // 0, src |
2323 } | 2323 } |
2345 emit_byte(0x18); | 2345 emit_byte(0x18); |
2346 emit_operand(rbx, src); // 3, src | 2346 emit_operand(rbx, src); // 3, src |
2347 } | 2347 } |
2348 | 2348 |
2349 void Assembler::prefetchw(Address src) { | 2349 void Assembler::prefetchw(Address src) { |
2350 NOT_LP64(assert(VM_Version::supports_3dnow_prefetch(), "must support")); | 2350 assert(VM_Version::supports_3dnow_prefetch(), "must support"); |
2351 InstructionMark im(this); | 2351 InstructionMark im(this); |
2352 prefetch_prefix(src); | 2352 prefetch_prefix(src); |
2353 emit_byte(0x0D); | 2353 emit_byte(0x0D); |
2354 emit_operand(rcx, src); // 1, src | 2354 emit_operand(rcx, src); // 1, src |
2355 } | 2355 } |