On 11/18/20 12:29 AM, [email protected] wrote:
> +addwu 0000101 .......... 000 ..... 0111011 @r
> +subwu 0100101 .......... 000 ..... 0111011 @r
> +addu_w 0000100 .......... 000 ..... 0111011 @r
>
> sbsetiw 0010100 .......... 001 ..... 0011011 @sh5
> sbclriw 0100100 .......... 001 ..... 0011011 @sh5
> @@ -116,3 +119,7 @@ sroiw 0010000 .......... 101 ..... 0011011 @sh5
> roriw 0110000 .......... 101 ..... 0011011 @sh5
> greviw 0110100 .......... 101 ..... 0011011 @sh5
> gorciw 0010100 .......... 101 ..... 0011011 @sh5
> +
> +addiwu ................. 100 ..... 0011011 @i
> +
> +slliu_w 000010 ........... 001 ..... 0011011 @sh
addwu, subwu, addiwu have been removed in the current draft.
> +static bool trans_slliu_w(DisasContext *ctx, arg_slliu_w *a)
> +{
> + TCGv source1;
> + source1 = tcg_temp_new();
> + gen_get_gpr(source1, a->rs1);
> +
> + tcg_gen_ext32u_tl(source1, source1);
> + tcg_gen_shli_tl(source1, source1, a->shamt);
> + gen_set_gpr(a->rd, source1);
if (a->shamt < 32) {
tcg_gen_deposit_z_i64(source1, source1, a->shamt, 32);
} else {
tcg_gen_shli_i64(source1, source1, a->shamt);
}
r~