pshl Operation Font Conventions
if
(PR[qp]) {
check_target_register;
shift_count = (variable_form ? GR[r3]
: count5);
tmp_nat = (variable_form ? GR[r3].nat : 0);
if (two_byte_form) { // two_byte_form
if (shift_count u> 16)
shift_count = 16;
GR[r1]{15:0} = GR[r2]{15:0} << shift_count;
GR[r1]{31:16} = GR[r2]{31:16} << shift_count;
GR[r1]{47:32} = GR[r2]{47:32} << shift_count;
GR[r1]{63:48} = GR[r2]{63:48} << shift_count;
} else { // four_byte_form
if (shift_count u> 32)
shift_count = 32;
GR[r1]{31:0} = GR[r2]{31:0} << shift_count;
GR[r1]{63:32} = GR[r2]{63:32} << shift_count;
}
GR[r1].nat = GR[r2].nat || tmp_nat;
}