pmpy Operation:
if
(PR[qp]) {
check_target_register;
if (right_form) {
GR[r1]{31:0}
= sign_ext(GR[r2]{15:0},
16) * sign_ext(GR[r3]{15:0}, 16);
GR[r1]{63:32} = sign_ext(GR[r2]{47:32}, 16) * sign_ext(GR[r3]{47:32},
16);
} else { // left_form
GR[r1]{31:0} = sign_ext(GR[r2]{31:16}, 16) * sign_ext(GR[r3]{31:16},
16);
GR[r1]{63:32} = sign_ext(GR[r2]{63:48}, 16) * sign_ext(GR[r3]{63:48},
16);
}
GR[r1].nat = GR[r2].nat || GR[r3].nat;}