equal
deleted
inserted
replaced
1350 } |
1350 } |
1351 __ addptr(qword_count, 4); |
1351 __ addptr(qword_count, 4); |
1352 __ BIND(L_end); |
1352 __ BIND(L_end); |
1353 if (UseAVX >= 2) { |
1353 if (UseAVX >= 2) { |
1354 // clean upper bits of YMM registers |
1354 // clean upper bits of YMM registers |
1355 __ vzeroupper(); |
1355 __ vpxor(xmm0, xmm0); |
|
1356 __ vpxor(xmm1, xmm1); |
1356 } |
1357 } |
1357 } else { |
1358 } else { |
1358 // Copy 32-bytes per iteration |
1359 // Copy 32-bytes per iteration |
1359 __ BIND(L_loop); |
1360 __ BIND(L_loop); |
1360 __ movq(to, Address(end_from, qword_count, Address::times_8, -24)); |
1361 __ movq(to, Address(end_from, qword_count, Address::times_8, -24)); |
1427 } |
1428 } |
1428 __ subptr(qword_count, 4); |
1429 __ subptr(qword_count, 4); |
1429 __ BIND(L_end); |
1430 __ BIND(L_end); |
1430 if (UseAVX >= 2) { |
1431 if (UseAVX >= 2) { |
1431 // clean upper bits of YMM registers |
1432 // clean upper bits of YMM registers |
1432 __ vzeroupper(); |
1433 __ vpxor(xmm0, xmm0); |
|
1434 __ vpxor(xmm1, xmm1); |
1433 } |
1435 } |
1434 } else { |
1436 } else { |
1435 // Copy 32-bytes per iteration |
1437 // Copy 32-bytes per iteration |
1436 __ BIND(L_loop); |
1438 __ BIND(L_loop); |
1437 __ movq(to, Address(from, qword_count, Address::times_8, 24)); |
1439 __ movq(to, Address(from, qword_count, Address::times_8, 24)); |