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:
Richard Henderson 2023-10-26 20:46:13 -07:00
parent 54111124fb
commit b5caa17cda
1 changed files with 9 additions and 1 deletions
target/hppa

View File

@ -2976,7 +2976,15 @@ static bool trans_permh(DisasContext *ctx, arg_permh *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 do_load(ctx, a->t, a->b, a->x, a->scale ? a->size : 0,