target/hppa: Manage PSW_X and PSW_B in translator
authorRichard Henderson <richard.henderson@linaro.org>
Wed, 17 Apr 2024 03:43:00 +0000 (20:43 -0700)
committerRichard Henderson <richard.henderson@linaro.org>
Wed, 15 May 2024 08:03:44 +0000 (10:03 +0200)
commitd27fe7c3af30a9b6281e7aafb5d603efe64ff939
treeb947bed44fe177b37fe06d08fc462e49f22ba84b
parentebc9401a4067fd61afea811d1d059d8ac0fc5db9
target/hppa: Manage PSW_X and PSW_B in translator

PSW_X is cleared after every instruction, and only set by RFI.
PSW_B is cleared after every non-branch, or branch not taken,
and only set by taken branches.  We can clear both bits with a
single store, at most once per TB.  Taken branches set PSW_B,
at most once per TB.

Reviewed-by: Helge Deller <deller@gmx.de>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
target/hppa/cpu.c
target/hppa/translate.c