hotspot/src/cpu/x86/vm/stubGenerator_x86_64.cpp
changeset 30299 1f6f7d1e0c1e
parent 29695 7f733c2a8db4
child 30624 2e1803c8a26d
equal deleted inserted replaced
30298:00461a39b519 30299:1f6f7d1e0c1e
  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));