comparison src/cpu/x86/vm/assembler_x86.cpp @ 8124:5fc51c1ecdeb

Merge.
author Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
date Tue, 05 Mar 2013 23:44:54 +0100
parents 3ac7d10a6572 91a23b11d8dc
children 89e4d67fdd2a
comparison
equal deleted inserted replaced
7943:a413bcd552a4 8124:5fc51c1ecdeb
34 #include "runtime/interfaceSupport.hpp" 34 #include "runtime/interfaceSupport.hpp"
35 #include "runtime/objectMonitor.hpp" 35 #include "runtime/objectMonitor.hpp"
36 #include "runtime/os.hpp" 36 #include "runtime/os.hpp"
37 #include "runtime/sharedRuntime.hpp" 37 #include "runtime/sharedRuntime.hpp"
38 #include "runtime/stubRoutines.hpp" 38 #include "runtime/stubRoutines.hpp"
39 #ifndef SERIALGC 39 #include "utilities/macros.hpp"
40 #if INCLUDE_ALL_GCS
40 #include "gc_implementation/g1/g1CollectedHeap.inline.hpp" 41 #include "gc_implementation/g1/g1CollectedHeap.inline.hpp"
41 #include "gc_implementation/g1/g1SATBCardTableModRefBS.hpp" 42 #include "gc_implementation/g1/g1SATBCardTableModRefBS.hpp"
42 #include "gc_implementation/g1/heapRegion.hpp" 43 #include "gc_implementation/g1/heapRegion.hpp"
43 #endif 44 #endif // INCLUDE_ALL_GCS
44 45
45 #ifdef PRODUCT 46 #ifdef PRODUCT
46 #define BLOCK_COMMENT(str) /* nothing */ 47 #define BLOCK_COMMENT(str) /* nothing */
47 #define STOP(error) stop(error) 48 #define STOP(error) stop(error)
48 #else 49 #else
2267 assert(VM_Version::supports_avx() && !vector256 || VM_Version::supports_avx2(), "256 bit integer vectors requires AVX2"); 2268 assert(VM_Version::supports_avx() && !vector256 || VM_Version::supports_avx2(), "256 bit integer vectors requires AVX2");
2268 emit_vex_arith(0x67, dst, nds, src, VEX_SIMD_66, vector256); 2269 emit_vex_arith(0x67, dst, nds, src, VEX_SIMD_66, vector256);
2269 } 2270 }
2270 2271
2271 void Assembler::vpermq(XMMRegister dst, XMMRegister src, int imm8, bool vector256) { 2272 void Assembler::vpermq(XMMRegister dst, XMMRegister src, int imm8, bool vector256) {
2272 int encode = simd_prefix_and_encode(dst, xnoreg, src, VEX_SIMD_66, VEX_OPCODE_0F_3A, true, vector256); 2273 assert(VM_Version::supports_avx2(), "");
2273 emit_int8(0x00); 2274 int encode = simd_prefix_and_encode(dst, xnoreg, src, VEX_SIMD_66, VEX_OPCODE_0F_3A, true, vector256);
2274 emit_int8(0xC0 | encode); 2275 emit_int8(0x00);
2275 emit_int8(imm8); 2276 emit_int8(0xC0 | encode);
2277 emit_int8(imm8);
2276 } 2278 }
2277 2279
2278 void Assembler::pcmpestri(XMMRegister dst, Address src, int imm8) { 2280 void Assembler::pcmpestri(XMMRegister dst, Address src, int imm8) {
2279 assert(VM_Version::supports_sse4_2(), ""); 2281 assert(VM_Version::supports_sse4_2(), "");
2280 InstructionMark im(this); 2282 InstructionMark im(this);