src/cpu/x86/vm/stubGenerator_x86_64.cpp

changeset 7816
5f8824f56f39
parent 7152
166d744df0de
child 7994
04ff2f6cd0eb
child 8307
daaf806995b3
equal deleted inserted replaced
7815:1e96e4389302 7816:5f8824f56f39
1326 } 1326 }
1327 __ addptr(qword_count, 4); 1327 __ addptr(qword_count, 4);
1328 __ BIND(L_end); 1328 __ BIND(L_end);
1329 if (UseAVX >= 2) { 1329 if (UseAVX >= 2) {
1330 // clean upper bits of YMM registers 1330 // clean upper bits of YMM registers
1331 __ vzeroupper(); 1331 __ vpxor(xmm0, xmm0);
1332 __ vpxor(xmm1, xmm1);
1332 } 1333 }
1333 } else { 1334 } else {
1334 // Copy 32-bytes per iteration 1335 // Copy 32-bytes per iteration
1335 __ BIND(L_loop); 1336 __ BIND(L_loop);
1336 __ movq(to, Address(end_from, qword_count, Address::times_8, -24)); 1337 __ movq(to, Address(end_from, qword_count, Address::times_8, -24));
1403 } 1404 }
1404 __ subptr(qword_count, 4); 1405 __ subptr(qword_count, 4);
1405 __ BIND(L_end); 1406 __ BIND(L_end);
1406 if (UseAVX >= 2) { 1407 if (UseAVX >= 2) {
1407 // clean upper bits of YMM registers 1408 // clean upper bits of YMM registers
1408 __ vzeroupper(); 1409 __ vpxor(xmm0, xmm0);
1410 __ vpxor(xmm1, xmm1);
1409 } 1411 }
1410 } else { 1412 } else {
1411 // Copy 32-bytes per iteration 1413 // Copy 32-bytes per iteration
1412 __ BIND(L_loop); 1414 __ BIND(L_loop);
1413 __ movq(to, Address(from, qword_count, Address::times_8, 24)); 1415 __ movq(to, Address(from, qword_count, Address::times_8, 24));

mercurial