comparison src/cpu/x86/vm/stubGenerator_x86_64.cpp @ 8883:b9a918201d47

Merge with hsx25
author Gilles Duboscq <duboscq@ssw.jku.at>
date Sat, 06 Apr 2013 20:04:06 +0200
parents 989155e2d07a e961c11b85fe
children 836a62f43af9
comparison
equal deleted inserted replaced
8660:d47b52b0ff68 8883:b9a918201d47
1329 __ movdqu(xmm1, Address(end_from, qword_count, Address::times_8, - 8)); 1329 __ movdqu(xmm1, Address(end_from, qword_count, Address::times_8, - 8));
1330 __ movdqu(Address(end_to, qword_count, Address::times_8, - 8), xmm1); 1330 __ movdqu(Address(end_to, qword_count, Address::times_8, - 8), xmm1);
1331 } 1331 }
1332 __ addptr(qword_count, 4); 1332 __ addptr(qword_count, 4);
1333 __ BIND(L_end); 1333 __ BIND(L_end);
1334 if (UseAVX >= 2) {
1335 // clean upper bits of YMM registers
1336 __ vzeroupper();
1337 }
1334 } else { 1338 } else {
1335 // Copy 32-bytes per iteration 1339 // Copy 32-bytes per iteration
1336 __ BIND(L_loop); 1340 __ BIND(L_loop);
1337 __ movq(to, Address(end_from, qword_count, Address::times_8, -24)); 1341 __ movq(to, Address(end_from, qword_count, Address::times_8, -24));
1338 __ movq(Address(end_to, qword_count, Address::times_8, -24), to); 1342 __ movq(Address(end_to, qword_count, Address::times_8, -24), to);
1402 __ movdqu(xmm1, Address(from, qword_count, Address::times_8, 0)); 1406 __ movdqu(xmm1, Address(from, qword_count, Address::times_8, 0));
1403 __ movdqu(Address(dest, qword_count, Address::times_8, 0), xmm1); 1407 __ movdqu(Address(dest, qword_count, Address::times_8, 0), xmm1);
1404 } 1408 }
1405 __ subptr(qword_count, 4); 1409 __ subptr(qword_count, 4);
1406 __ BIND(L_end); 1410 __ BIND(L_end);
1411 if (UseAVX >= 2) {
1412 // clean upper bits of YMM registers
1413 __ vzeroupper();
1414 }
1407 } else { 1415 } else {
1408 // Copy 32-bytes per iteration 1416 // Copy 32-bytes per iteration
1409 __ BIND(L_loop); 1417 __ BIND(L_loop);
1410 __ movq(to, Address(from, qword_count, Address::times_8, 24)); 1418 __ movq(to, Address(from, qword_count, Address::times_8, 24));
1411 __ movq(Address(dest, qword_count, Address::times_8, 24), to); 1419 __ movq(Address(dest, qword_count, Address::times_8, 24), to);