comparison src/cpu/x86/vm/vm_version_x86.cpp @ 17913:1eba0601f0dd

8041957: -XX:UseAVX=0 cause assert(UseAVX) failed Summary: temporary set UseAVX=1 and UseSSE=2 in generate_get_cpu_info() Reviewed-by: twisti
author kvn
date Tue, 29 Apr 2014 12:20:53 -0700
parents 0118c8c7b80f
children 78bbf4d43a14
comparison
equal deleted inserted replaced
17912:653e11c86c5a 17913:1eba0601f0dd
261 // registers are not restored after a signal processing. 261 // registers are not restored after a signal processing.
262 // Generate SEGV here (reference through NULL) 262 // Generate SEGV here (reference through NULL)
263 // and check upper YMM bits after it. 263 // and check upper YMM bits after it.
264 // 264 //
265 VM_Version::set_avx_cpuFeatures(); // Enable temporary to pass asserts 265 VM_Version::set_avx_cpuFeatures(); // Enable temporary to pass asserts
266 intx saved_useavx = UseAVX;
267 intx saved_usesse = UseSSE;
268 UseAVX = 1;
269 UseSSE = 2;
266 270
267 // load value into all 32 bytes of ymm7 register 271 // load value into all 32 bytes of ymm7 register
268 __ movl(rcx, VM_Version::ymm_test_value()); 272 __ movl(rcx, VM_Version::ymm_test_value());
269 273
270 __ movdl(xmm0, rcx); 274 __ movdl(xmm0, rcx);
290 __ vmovdqu(Address(rsi, 64), xmm8); 294 __ vmovdqu(Address(rsi, 64), xmm8);
291 __ vmovdqu(Address(rsi, 96), xmm15); 295 __ vmovdqu(Address(rsi, 96), xmm15);
292 #endif 296 #endif
293 297
294 VM_Version::clean_cpuFeatures(); 298 VM_Version::clean_cpuFeatures();
299 UseAVX = saved_useavx;
300 UseSSE = saved_usesse;
295 301
296 // 302 //
297 // cpuid(0x7) Structured Extended Features 303 // cpuid(0x7) Structured Extended Features
298 // 304 //
299 __ bind(sef_cpuid); 305 __ bind(sef_cpuid);