167168169170171172173174175176177
case USHORT: a.movzx(dstRegisters64[i], srcRegisters16[i]); break; case SINT: a.movsxd(dstRegisters64[i], srcRegisters32[i]); break; case UINT: // mov with a 32bit dst reg zero extends to 64bit a.mov(dstRegisters32[i], srcRegisters32[i]);
206207208209210211212213214215216
case USHORT: a.movzx(dstRegisters64[i], word_ptr(rsp, disp)); break; case SINT: a.movsxd(dstRegisters64[i], dword_ptr(rsp, disp)); break; case UINT: // mov with a 32bit dst reg zero extends to 64bit a.mov(dstRegisters32[i], dword_ptr(rsp, disp));
290291292293294295296297298299300
case USHORT: a.movzx(rax, word_ptr(rsp, 0)); break; case SINT: a.movsxd(rax, dword_ptr(rsp, 0)); break; case UINT: // storing a value in eax zeroes out the upper 32 bits of rax a.mov(eax, dword_ptr(rsp, 0));
331332333334335336337338339340341
case USHORT: a.movzx(rax, ax); break; case SINT: if (long.class == resultClass) a.movsxd(rax, eax); break; case UINT: if (long.class == resultClass) a.mov(eax, eax); break;
164165166167168169170171172173174
203204205206207208209210211212213
287288289290291292293294295296297
328329330331332333334335336337338
168169170171172173174175176177178
207208209210211212213214215216217