mirror of https://github.com/xemu-project/xemu.git
target/s390x: Implement load-and-zero-rightmost-byte insns
Reviewed-by: Aurelien Jarno <aurelien@aurel32.net> Signed-off-by: Richard Henderson <rth@twiddle.net>
This commit is contained in:
parent
45aa9aa3b7
commit
c2a5c1d718
|
@ -427,6 +427,11 @@
|
||||||
/* LOAD AND TRAP */
|
/* LOAD AND TRAP */
|
||||||
C(0xe39f, LAT, RXY_a, LAT, 0, m2_32u, r1, 0, lat, 0)
|
C(0xe39f, LAT, RXY_a, LAT, 0, m2_32u, r1, 0, lat, 0)
|
||||||
C(0xe385, LGAT, RXY_a, LAT, 0, a2, r1, 0, lgat, 0)
|
C(0xe385, LGAT, RXY_a, LAT, 0, a2, r1, 0, lgat, 0)
|
||||||
|
/* LOAD AND ZERO RIGHTMOST BYTE */
|
||||||
|
C(0xe3eb, LZRF, RXY_a, LZRB, 0, m2_32u, new, r1_32, lzrb, 0)
|
||||||
|
C(0xe32a, LZRG, RXY_a, LZRB, 0, m2_64, r1, 0, lzrb, 0)
|
||||||
|
/* LOAD LOGICAL AND ZERO RIGHTMOST BYTE */
|
||||||
|
C(0xe33a, LLZRGF, RXY_a, LZRB, 0, m2_32u, r1, 0, lzrb, 0)
|
||||||
/* LOAD BYTE */
|
/* LOAD BYTE */
|
||||||
C(0xb926, LBR, RRE, EI, 0, r2_8s, 0, r1_32, mov2, 0)
|
C(0xb926, LBR, RRE, EI, 0, r2_8s, 0, r1_32, mov2, 0)
|
||||||
C(0xb906, LGBR, RRE, EI, 0, r2_8s, 0, r1, mov2, 0)
|
C(0xb906, LGBR, RRE, EI, 0, r2_8s, 0, r1, mov2, 0)
|
||||||
|
|
|
@ -2906,6 +2906,12 @@ static ExitStatus op_lurag(DisasContext *s, DisasOps *o)
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
static ExitStatus op_lzrb(DisasContext *s, DisasOps *o)
|
||||||
|
{
|
||||||
|
tcg_gen_andi_i64(o->out, o->in2, -256);
|
||||||
|
return NO_EXIT;
|
||||||
|
}
|
||||||
|
|
||||||
static ExitStatus op_mov2(DisasContext *s, DisasOps *o)
|
static ExitStatus op_mov2(DisasContext *s, DisasOps *o)
|
||||||
{
|
{
|
||||||
o->out = o->in2;
|
o->out = o->in2;
|
||||||
|
@ -5437,6 +5443,7 @@ enum DisasInsnEnum {
|
||||||
#define FAC_LPP S390_FEAT_SET_PROGRAM_PARAMETERS /* load-program-parameter */
|
#define FAC_LPP S390_FEAT_SET_PROGRAM_PARAMETERS /* load-program-parameter */
|
||||||
#define FAC_DAT_ENH S390_FEAT_DAT_ENH
|
#define FAC_DAT_ENH S390_FEAT_DAT_ENH
|
||||||
#define FAC_E2 S390_FEAT_EXTENDED_TRANSLATION_2
|
#define FAC_E2 S390_FEAT_EXTENDED_TRANSLATION_2
|
||||||
|
#define FAC_LZRB S390_FEAT_STFLE_53 /* load-and-zero-rightmost-byte */
|
||||||
|
|
||||||
static const DisasInsn insn_info[] = {
|
static const DisasInsn insn_info[] = {
|
||||||
#include "insn-data.def"
|
#include "insn-data.def"
|
||||||
|
|
Loading…
Reference in New Issue