target/riscv: Remove the W-form instructions from Zbs
Zbs 1.0.0 (just as the 0.93 draft-B before) does not provide for W-form instructions for Zbs (single-bit instructions). Remove them. Note that these instructions had already been removed for the 0.93 version of the draft-B extention and have not been present in the binutils patches circulating in January 2021. Signed-off-by: Philipp Tomsich <philipp.tomsich@vrull.eu> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Reviewed-by: Alistair Francis <alistair.francis@wdc.com> Acked-by: Bin Meng <bmeng.cn@gmail.com> Message-id: 20210911140016.834071-7-philipp.tomsich@vrull.eu Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
This commit is contained in:
parent
bb4dc158e0
commit
dd98a74034
@ -717,10 +717,6 @@ cpopw 0110000 00010 ..... 001 ..... 0011011 @r2
|
||||
|
||||
packw 0000100 .......... 100 ..... 0111011 @r
|
||||
packuw 0100100 .......... 100 ..... 0111011 @r
|
||||
bsetw 0010100 .......... 001 ..... 0111011 @r
|
||||
bclrw 0100100 .......... 001 ..... 0111011 @r
|
||||
binvw 0110100 .......... 001 ..... 0111011 @r
|
||||
bextw 0100100 .......... 101 ..... 0111011 @r
|
||||
slow 0010000 .......... 001 ..... 0111011 @r
|
||||
srow 0010000 .......... 101 ..... 0111011 @r
|
||||
rorw 0110000 .......... 101 ..... 0111011 @r
|
||||
@ -728,9 +724,6 @@ rolw 0110000 .......... 001 ..... 0111011 @r
|
||||
grevw 0110100 .......... 101 ..... 0111011 @r
|
||||
gorcw 0010100 .......... 101 ..... 0111011 @r
|
||||
|
||||
bsetiw 0010100 .......... 001 ..... 0011011 @sh5
|
||||
bclriw 0100100 .......... 001 ..... 0011011 @sh5
|
||||
binviw 0110100 .......... 001 ..... 0011011 @sh5
|
||||
sloiw 0010000 .......... 001 ..... 0011011 @sh5
|
||||
sroiw 0010000 .......... 101 ..... 0011011 @sh5
|
||||
roriw 0110000 .......... 101 ..... 0011011 @sh5
|
||||
|
@ -420,62 +420,6 @@ static bool trans_packuw(DisasContext *ctx, arg_packuw *a)
|
||||
return gen_arith(ctx, a, EXT_NONE, gen_packuw);
|
||||
}
|
||||
|
||||
static bool trans_bsetw(DisasContext *ctx, arg_bsetw *a)
|
||||
{
|
||||
REQUIRE_64BIT(ctx);
|
||||
REQUIRE_EXT(ctx, RVB);
|
||||
ctx->w = true;
|
||||
return gen_shift(ctx, a, EXT_NONE, gen_bset);
|
||||
}
|
||||
|
||||
static bool trans_bsetiw(DisasContext *ctx, arg_bsetiw *a)
|
||||
{
|
||||
REQUIRE_64BIT(ctx);
|
||||
REQUIRE_EXT(ctx, RVB);
|
||||
ctx->w = true;
|
||||
return gen_shift_imm_tl(ctx, a, EXT_NONE, gen_bset);
|
||||
}
|
||||
|
||||
static bool trans_bclrw(DisasContext *ctx, arg_bclrw *a)
|
||||
{
|
||||
REQUIRE_64BIT(ctx);
|
||||
REQUIRE_EXT(ctx, RVB);
|
||||
ctx->w = true;
|
||||
return gen_shift(ctx, a, EXT_NONE, gen_bclr);
|
||||
}
|
||||
|
||||
static bool trans_bclriw(DisasContext *ctx, arg_bclriw *a)
|
||||
{
|
||||
REQUIRE_64BIT(ctx);
|
||||
REQUIRE_EXT(ctx, RVB);
|
||||
ctx->w = true;
|
||||
return gen_shift_imm_tl(ctx, a, EXT_NONE, gen_bclr);
|
||||
}
|
||||
|
||||
static bool trans_binvw(DisasContext *ctx, arg_binvw *a)
|
||||
{
|
||||
REQUIRE_64BIT(ctx);
|
||||
REQUIRE_EXT(ctx, RVB);
|
||||
ctx->w = true;
|
||||
return gen_shift(ctx, a, EXT_NONE, gen_binv);
|
||||
}
|
||||
|
||||
static bool trans_binviw(DisasContext *ctx, arg_binviw *a)
|
||||
{
|
||||
REQUIRE_64BIT(ctx);
|
||||
REQUIRE_EXT(ctx, RVB);
|
||||
ctx->w = true;
|
||||
return gen_shift_imm_tl(ctx, a, EXT_NONE, gen_binv);
|
||||
}
|
||||
|
||||
static bool trans_bextw(DisasContext *ctx, arg_bextw *a)
|
||||
{
|
||||
REQUIRE_64BIT(ctx);
|
||||
REQUIRE_EXT(ctx, RVB);
|
||||
ctx->w = true;
|
||||
return gen_shift(ctx, a, EXT_NONE, gen_bext);
|
||||
}
|
||||
|
||||
static bool trans_slow(DisasContext *ctx, arg_slow *a)
|
||||
{
|
||||
REQUIRE_64BIT(ctx);
|
||||
|
Loading…
Reference in New Issue
Block a user