pmpyshr Operation Font Conventions
if (PR[qp]) {
check_target_register
;
x[0] = GR[r2]{15:0}; y[0] = GR[r3]{15:0};
x[1] = GR[r2]{31:16}; y[1] = GR[r3]{31:16};
x[2] = GR[r2]{47:32}; y[2] = GR[r3]{47:32};
x[3] = GR[r2]{63:48}; y[3] = GR[r3]{63:48};
for (i = 0; i < 4; i++) {
if (unsigned_form) // unsigned multiplication
temp[i] = zero_ext(x[i], 16) * zero_ext(y[i], 16);
else // signed multiplication
temp[i] = sign_ext(x[i], 16) * sign_ext(y[i], 16);

res[i] = temp[i]{(count2 + 15):count2};
}

GR[r1] = concatenate4(res[3], res[2], res[1], res[0]);
GR[r1].nat = GR[r2].nat || GR[r3].nat;
}