500 a->vand(VR0, VR0, VR0); // code[9] -> vand |
500 a->vand(VR0, VR0, VR0); // code[9] -> vand |
501 a->lqarx_unchecked(R7, R3_ARG1, R4_ARG2, 1); // code[10] -> lqarx_m |
501 a->lqarx_unchecked(R7, R3_ARG1, R4_ARG2, 1); // code[10] -> lqarx_m |
502 a->vcipher(VR0, VR1, VR2); // code[11] -> vcipher |
502 a->vcipher(VR0, VR1, VR2); // code[11] -> vcipher |
503 a->vpmsumb(VR0, VR1, VR2); // code[12] -> vpmsumb |
503 a->vpmsumb(VR0, VR1, VR2); // code[12] -> vpmsumb |
504 a->mfdscr(R0); // code[13] -> mfdscr |
504 a->mfdscr(R0); // code[13] -> mfdscr |
505 a->lxvd2x(VSR0, 0, R3_ARG1); // code[14] -> vsx |
505 a->lxvd2x(VSR0, R3_ARG1); // code[14] -> vsx |
506 a->blr(); |
506 a->blr(); |
507 |
507 |
508 // Emit function to set one cache line to zero. Emit function descriptor and get pointer to it. |
508 // Emit function to set one cache line to zero. Emit function descriptor and get pointer to it. |
509 void (*zero_cacheline_func_ptr)(char*) = (void(*)(char*))(void *)a->function_entry(); |
509 void (*zero_cacheline_func_ptr)(char*) = (void(*)(char*))(void *)a->function_entry(); |
510 a->dcbz(R3_ARG1); // R3_ARG1 = addr |
510 a->dcbz(R3_ARG1); // R3_ARG1 = addr |