mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-06 17:23:56 -06:00
target/hppa: Implement pa2.0 data prefetch instructions
These are aliased onto the normal integer loads to %g0. Since we don't emulate caches, prefetch is a nop. Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
This commit is contained in:
parent
54111124fb
commit
b5caa17cda
1 changed files with 9 additions and 1 deletions
|
@ -2976,7 +2976,15 @@ static bool trans_permh(DisasContext *ctx, arg_permh *a)
|
||||||
|
|
||||||
static bool trans_ld(DisasContext *ctx, arg_ldst *a)
|
static bool trans_ld(DisasContext *ctx, arg_ldst *a)
|
||||||
{
|
{
|
||||||
if (!ctx->is_pa20 && a->size > MO_32) {
|
if (ctx->is_pa20) {
|
||||||
|
/*
|
||||||
|
* With pa20, LDB, LDH, LDW, LDD to %g0 are prefetches.
|
||||||
|
* Any base modification still occurs.
|
||||||
|
*/
|
||||||
|
if (a->t == 0) {
|
||||||
|
return trans_nop_addrx(ctx, a);
|
||||||
|
}
|
||||||
|
} else if (a->size > MO_32) {
|
||||||
return gen_illegal(ctx);
|
return gen_illegal(ctx);
|
||||||
}
|
}
|
||||||
return do_load(ctx, a->t, a->b, a->x, a->scale ? a->size : 0,
|
return do_load(ctx, a->t, a->b, a->x, a->scale ? a->size : 0,
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue