#define SSa_d1(insn) (((insn) >> 32) & 0xfff)
#define SSa_b2(insn) (((insn) >> 28) & 0xf)
#define SSa_d2(insn) (((insn) >> 16) & 0xfff)
-#define VRX_v1(insn) (((insn) >> 52) & 0xf)
-#define VRX_x2(insn) (((insn) >> 48) & 0xf)
-#define VRX_b2(insn) (((insn) >> 44) & 0xf)
-#define VRX_d2(insn) (((insn) >> 32) & 0xfff)
-#define VRX_m3(insn) (((insn) >> 28) & 0xf)
-#define VRX_rxb(insn) (((insn) >> 24) & 0xf)
+#define V_rxb(insn) (((insn) >> 24) & 0xf)
#define VRR_v1(insn) (((insn) >> 52) & 0xf)
#define VRR_v2(insn) (((insn) >> 48) & 0xf)
#define VRR_r2(insn) (((insn) >> 48) & 0xf)
#define VRR_m5(insn) (((insn) >> 36) & 0xf)
#define VRR_m4(insn) (((insn) >> 28) & 0xf)
#define VRR_v4(insn) (((insn) >> 28) & 0xf)
-#define VRR_rxb(insn) (((insn) >> 24) & 0xf)
#define VRRa_v1(insn) (((insn) >> 52) & 0xf)
#define VRRa_v2(insn) (((insn) >> 48) & 0xf)
#define VRRa_v3(insn) (((insn) >> 44) & 0xf)
#define VRRa_m5(insn) (((insn) >> 36) & 0xf)
#define VRRa_m4(insn) (((insn) >> 32) & 0xf)
#define VRRa_m3(insn) (((insn) >> 28) & 0xf)
-#define VRRa_rxb(insn) (((insn) >> 24) & 0xf)
#define VRRd_v1(insn) (((insn) >> 52) & 0xf)
#define VRRd_v2(insn) (((insn) >> 48) & 0xf)
#define VRRd_v3(insn) (((insn) >> 44) & 0xf)
#define VRRd_m5(insn) (((insn) >> 40) & 0xf)
#define VRRd_m6(insn) (((insn) >> 36) & 0xf)
#define VRRd_v4(insn) (((insn) >> 28) & 0xf)
-#define VRRd_rxb(insn) (((insn) >> 24) & 0xf)
-#define VRRe_v1(insn) (((insn) >> 52) & 0xf)
-#define VRRe_v2(insn) (((insn) >> 48) & 0xf)
-#define VRRe_v3(insn) (((insn) >> 44) & 0xf)
-#define VRRe_m6(insn) (((insn) >> 40) & 0xf)
-#define VRRe_m5(insn) (((insn) >> 32) & 0xf)
-#define VRRe_v4(insn) (((insn) >> 28) & 0xf)
-#define VRRe_rxb(insn) (((insn) >> 24) & 0xf)
#define VRIa_v1(insn) (((insn) >> 52) & 0xf)
#define VRIa_v3(insn) (((insn) >> 48) & 0xf)
#define VRIa_i2(insn) (((insn) >> 32) & 0xffff)
#define VRIa_m3(insn) (((insn) >> 28) & 0xf)
-#define VRIa_rxb(insn) (((insn) >> 24) & 0xf)
-#define VRIb_v1(insn) (((insn) >> 52) & 0xf)
-#define VRIb_i2(insn) (((insn) >> 40) & 0xff)
-#define VRIb_i3(insn) (((insn) >> 32) & 0xff)
-#define VRIb_m4(insn) (((insn) >> 28) & 0xf)
-#define VRIb_rxb(insn) (((insn) >> 24) & 0xf)
-#define VRIc_v1(insn) (((insn) >> 52) & 0xf)
-#define VRIc_v3(insn) (((insn) >> 48) & 0xf)
-#define VRIc_i2(insn) (((insn) >> 32) & 0xffff)
-#define VRIc_m4(insn) (((insn) >> 28) & 0xf)
-#define VRIc_rxb(insn) (((insn) >> 24) & 0xf)
#define VRId_v1(insn) (((insn) >> 52) & 0xf)
#define VRId_v2(insn) (((insn) >> 48) & 0xf)
#define VRId_v3(insn) (((insn) >> 44) & 0xf)
#define VRId_i4(insn) (((insn) >> 32) & 0xff)
#define VRId_m5(insn) (((insn) >> 28) & 0xf)
-#define VRId_rxb(insn) (((insn) >> 24) & 0xf)
-#define VRIe_v1(insn) (((insn) >> 52) & 0xf)
-#define VRIe_v2(insn) (((insn) >> 48) & 0xf)
-#define VRIe_i3(insn) (((insn) >> 36) & 0xfff)
-#define VRIe_m5(insn) (((insn) >> 32) & 0xf)
-#define VRIe_m4(insn) (((insn) >> 28) & 0xf)
-#define VRIe_rxb(insn) (((insn) >> 24) & 0xf)
-#define VRSa_v1(insn) (((insn) >> 52) & 0xf)
-#define VRSa_v3(insn) (((insn) >> 48) & 0xf)
-#define VRSa_b2(insn) (((insn) >> 44) & 0xf)
-#define VRSa_d2(insn) (((insn) >> 32) & 0xfff)
-#define VRSa_m4(insn) (((insn) >> 28) & 0xf)
-#define VRSa_rxb(insn) (((insn) >> 24) & 0xf)
#define VRSb_v1(insn) (((insn) >> 52) & 0xf)
#define VRSb_r3(insn) (((insn) >> 48) & 0xf)
#define VRSb_b2(insn) (((insn) >> 44) & 0xf)
#define VRSb_d2(insn) (((insn) >> 32) & 0xfff)
#define VRSb_m4(insn) (((insn) >> 28) & 0xf)
-#define VRSb_rxb(insn) (((insn) >> 24) & 0xf)
-#define VRSc_r1(insn) (((insn) >> 52) & 0xf)
-#define VRSc_v3(insn) (((insn) >> 48) & 0xf)
-#define VRSc_b2(insn) (((insn) >> 44) & 0xf)
-#define VRSc_d2(insn) (((insn) >> 32) & 0xfff)
-#define VRSc_m4(insn) (((insn) >> 28) & 0xf)
-#define VRSc_rxb(insn) (((insn) >> 24) & 0xf)
-#define VRSd_r3(insn) (((insn) >> 48) & 0xf)
-#define VRSd_b2(insn) (((insn) >> 44) & 0xf)
-#define VRSd_d2(insn) (((insn) >> 32) & 0xfff)
-#define VRSd_v1(insn) (((insn) >> 28) & 0xf)
-#define VRSd_rxb(insn) (((insn) >> 24) & 0xf)
-#define VSI_i3(insn) (((insn) >> 48) & 0xff)
-#define VSI_b2(insn) (((insn) >> 44) & 0xf)
-#define VSI_d2(insn) (((insn) >> 32) & 0xfff)
-#define VSI_v1(insn) (((insn) >> 28) & 0xf)
-#define VSI_rxb(insn) (((insn) >> 24) & 0xf)
-#define VRV_v1(insn) (((insn) >> 52) & 0xf)
-#define VRV_x2(insn) (((insn) >> 48) & 0xf)
-#define VRV_b2(insn) (((insn) >> 44) & 0xf)
-#define VRV_d2(insn) (((insn) >> 32) & 0xfff)
-#define VRV_m3(insn) (((insn) >> 28) & 0xf)
-#define VRV_rxb(insn) (((insn) >> 24) & 0xf)
/*------------------------------------------------------------*/
}
static void
-s390_format_VRX(void (*irgen)(UChar v1, IRTemp op2addr, UChar m3),
- UChar v1, UChar x2, UChar b2, UShort d2, UChar m3, UChar rxb)
+s390_format_VRX(void (*irgen)(UChar v1, IRTemp op2addr, UChar m3), ULong ovl)
{
+ UChar v1 = (ovl >> 52) & 0xf;
+ UChar x2 = (ovl >> 48) & 0xf;
+ UChar b2 = (ovl >> 44) & 0xf;
+ UShort d2 = (ovl >> 32) & 0xfff;
+ UChar m3 = (ovl >> 28) & 0xf;
+ UChar rxb = V_rxb(ovl);
IRTemp op2addr = newTemp(Ity_I64);
if (! s390_host_has_vx) {
static void
-s390_format_VRR_VV(void (*irgen)(UChar v1, UChar v2),
- UChar v1, UChar v2, UChar rxb)
+s390_format_VRR_VV(void (*irgen)(UChar v1, UChar v2), ULong ovl)
{
+ UChar v1 = VRR_v1(ovl);
+ UChar v2 = VRR_v2(ovl);
+ UChar rxb = V_rxb(ovl);
+
if (! s390_host_has_vx) {
emulation_failure(EmFail_S390X_vx);
return;
static void
-s390_format_VRR_VVV(void (*irgen)(UChar v1, UChar v2, UChar v3),
- UChar v1, UChar v2, UChar v3, UChar rxb)
+s390_format_VRR_VVV(void (*irgen)(UChar v1, UChar v2, UChar v3), ULong ovl)
{
+ UChar v1 = VRR_v1(ovl);
+ UChar v2 = VRR_v2(ovl);
+ UChar v3 = VRR_v3(ovl);
+ UChar rxb = V_rxb(ovl);
+
if (! s390_host_has_vx) {
emulation_failure(EmFail_S390X_vx);
return;
irgen(v1, v2, v3);
}
-
static void
s390_format_VRR_VVVM(void (*irgen)(UChar v1, UChar v2, UChar v3, UChar m4),
- UChar v1, UChar v2, UChar v3, UChar m4, UChar rxb)
+ ULong ovl)
{
+ UChar v1 = VRR_v1(ovl);
+ UChar v2 = VRR_v2(ovl);
+ UChar v3 = VRR_v3(ovl);
+ UChar m4 = VRR_m4(ovl);
+ UChar rxb = V_rxb(ovl);
+
if (! s390_host_has_vx) {
emulation_failure(EmFail_S390X_vx);
return;
irgen(v1, v2, v3, m4);
}
-
static void
-s390_format_VRR_VVVMM(void (*irgen)(UChar v1, UChar v2, UChar v3, UChar m4, UChar m5),
- UChar v1, UChar v2, UChar v3, UChar m4, UChar m5, UChar rxb)
+s390_format_VRR_VVVMM(
+ void (*irgen)(UChar v1, UChar v2, UChar v3, UChar m4, UChar m5), ULong ovl)
{
+ UChar v1 = VRR_v1(ovl);
+ UChar v2 = VRR_v2(ovl);
+ UChar v3 = VRR_v3(ovl);
+ UChar m4 = VRR_m4(ovl);
+ UChar m5 = VRR_m5(ovl);
+ UChar rxb = V_rxb(ovl);
+
if (! s390_host_has_vx) {
emulation_failure(EmFail_S390X_vx);
return;
irgen(v1, v2, v3, m4, m5);
}
-
static void
s390_format_VRR_VVVV(void (*irgen)(UChar v1, UChar v2, UChar v3, UChar v4),
- UChar v1, UChar v2, UChar v3, UChar v4, UChar rxb)
+ ULong ovl)
{
+ UChar v1 = VRR_v1(ovl);
+ UChar v2 = VRR_v2(ovl);
+ UChar v3 = VRR_v3(ovl);
+ UChar v4 = VRR_v4(ovl);
+ UChar rxb = V_rxb(ovl);
+
if (! s390_host_has_vx) {
emulation_failure(EmFail_S390X_vx);
return;
irgen(v1, v2, v3, v4);
}
-
static void
-s390_format_VRR_VRR(void (*irgen)(UChar v1, UChar r2, UChar r3),
- UChar v1, UChar r2, UChar r3, UChar rxb)
+s390_format_VRR_VRR(void (*irgen)(UChar v1, UChar r2, UChar r3), ULong ovl)
{
+ UChar v1 = VRR_v1(ovl);
+ UChar r2 = VRR_r2(ovl);
+ UChar r3 = VRR_r3(ovl);
+ UChar rxb = V_rxb(ovl);
+
if (! s390_host_has_vx) {
emulation_failure(EmFail_S390X_vx);
return;
static void
-s390_format_VRR_VVM(void (*irgen)(UChar v1, UChar v2, UChar m3),
- UChar v1, UChar v2, UChar m3, UChar rxb)
+s390_format_VRR_VVM(void (*irgen)(UChar v1, UChar v2, UChar m3), ULong ovl)
{
+ UChar v1 = VRRa_v1(ovl);
+ UChar v2 = VRRa_v2(ovl);
+ UChar m3 = VRRa_m3(ovl);
+ UChar rxb = V_rxb(ovl);
+
if (! s390_host_has_vx) {
emulation_failure(EmFail_S390X_vx);
return;
static void
-s390_format_VRIa0(void (*irgen)(UChar v1, UShort i2),
- UChar v1, UShort i2, UChar rxb)
+s390_format_VRIa0(void (*irgen)(UChar v1, UShort i2), ULong ovl)
{
+ UChar v1 = VRIa_v1(ovl);
+ UShort i2 = VRIa_i2(ovl);
+ UChar rxb = V_rxb(ovl);
+
if (! s390_host_has_vx) {
emulation_failure(EmFail_S390X_vx);
return;
static void
s390_format_VRIb(void (*irgen)(UChar v1, UChar i2, UChar i3, UChar m4),
- UChar v1, UChar i2, UChar i3, UChar m4, UChar rxb)
+ ULong ovl)
{
+ UChar v1 = (ovl >> 52) & 0xf;
+ UShort i2 = (ovl >> 40) & 0xff;
+ UChar i3 = (ovl >> 32) & 0xff;
+ UChar m4 = (ovl >> 28) & 0xf;
+ UChar rxb = V_rxb(ovl);
+
if (! s390_host_has_vx) {
emulation_failure(EmFail_S390X_vx);
return;
static void
-s390_format_VRIa(void (*irgen)(UChar v1, UShort i2, UChar m3),
- UChar v1, UShort i2, UChar m3, UChar rxb)
+s390_format_VRIa(void (*irgen)(UChar v1, UShort i2, UChar m3), ULong ovl)
{
+ UChar v1 = VRIa_v1(ovl);
+ UShort i2 = VRIa_i2(ovl);
+ UChar m3 = VRIa_m3(ovl);
+ UChar rxb = V_rxb(ovl);
+
if (! s390_host_has_vx) {
emulation_failure(EmFail_S390X_vx);
return;
static void
s390_format_VRIc(void (*irgen)(UChar v1, UChar v3, UShort i2, UChar m4),
- UChar v1, UChar v3, UShort i2, UChar m4, UChar rxb)
+ ULong ovl)
{
+ UChar v1 = (ovl >> 52) & 0xf;
+ UChar v3 = (ovl >> 48) & 0xf;
+ UShort i2 = (ovl >> 32) & 0xffff;
+ UChar m4 = (ovl >> 28) & 0xf;
+ UChar rxb = V_rxb(ovl);
+
if (! s390_host_has_vx) {
emulation_failure(EmFail_S390X_vx);
return;
}
static void
-s390_format_VRIe(void (*irgen)(UChar v1, UChar v2, UShort i3, UChar m4, UChar m5),
- UChar v1, UChar v2, UShort i3, UChar m4, UChar m5, UChar rxb)
+s390_format_VRIe(
+ void (*irgen)(UChar v1, UChar v2, UShort i3, UChar m4, UChar m5), ULong ovl)
{
+ UChar v1 = (ovl >> 52) & 0xf;
+ UChar v2 = (ovl >> 48) & 0xf;
+ UShort i3 = (ovl >> 36) & 0xfff;
+ UChar m4 = (ovl >> 28) & 0xf;
+ UChar m5 = (ovl >> 32) & 0xf;
+ UChar rxb = V_rxb(ovl);
+
if (!s390_host_has_vx) {
emulation_failure(EmFail_S390X_vx);
return;
static void
s390_format_VRSc(void (*irgen)(UChar r1, IRTemp op2addr, UChar v3, UChar m4),
- UChar r1, UChar b2, UShort d2, UChar v3, UChar m4, UChar rxb)
+ ULong ovl)
{
+ UChar r1 = (ovl >> 52) & 0xf;
+ UChar b2 = (ovl >> 44) & 0xf;
+ UShort d2 = (ovl >> 32) & 0xfff;
+ UChar v3 = (ovl >> 48) & 0xf;
+ UChar m4 = (ovl >> 28) & 0xf;
+ UChar rxb = V_rxb(ovl);
IRTemp op2addr = newTemp(Ity_I64);
if (! s390_host_has_vx) {
}
static void
-s390_format_VRSd(void (*irgen)(UChar v1, UChar r3, IRTemp op2addr),
- UChar v1, UChar r3, UChar b2, UShort d2, UChar rxb)
+s390_format_VRSd(void (*irgen)(UChar v1, UChar r3, IRTemp op2addr), ULong ovl)
{
+ UChar r3 = (ovl >> 48) & 0xf;
+ UChar b2 = (ovl >> 44) & 0xf;
+ UShort d2 = (ovl >> 32) & 0xfff;
+ UChar v1 = (ovl >> 28) & 0xf;
+ UChar rxb = V_rxb(ovl);
IRTemp op2addr = newTemp(Ity_I64);
if (! s390_host_has_vx) {
static void
s390_format_VRSa(void (*irgen)(UChar v1, IRTemp op2addr, UChar v3, UChar m4),
- UChar v1, UChar b2, UShort d2, UChar v3, UChar m4, UChar rxb)
+ ULong ovl)
{
+ UChar v1 = (ovl >> 52) & 0xf;
+ UChar b2 = (ovl >> 44) & 0xf;
+ UShort d2 = (ovl >> 32) & 0xfff;
+ UChar v3 = (ovl >> 48) & 0xf;
+ UChar m4 = (ovl >> 28) & 0xf;
+ UChar rxb = V_rxb(ovl);
IRTemp op2addr = newTemp(Ity_I64);
if (! s390_host_has_vx) {
static void
s390_format_VRSbm(void (*irgen)(UChar v1, IRTemp op2addr, UChar r3, UChar m4),
- UChar v1, UChar b2, UShort d2, UChar r3, UChar m4, UChar rxb)
-{
+ ULong ovl)
+{
+ UChar v1 = VRSb_v1(ovl);
+ UChar b2 = VRSb_b2(ovl);
+ UShort d2 = VRSb_d2(ovl);
+ UChar r3 = VRSb_r3(ovl);
+ UChar m4 = VRSb_m4(ovl);
+ UChar rxb = V_rxb(ovl);
IRTemp op2addr = newTemp(Ity_I64);
if (! s390_host_has_vx) {
static void
-s390_format_VRSb(void (*irgen)(UChar v1, IRTemp op2addr, UChar r3),
- UChar v1, UChar b2, UShort d2, UChar r3, UChar rxb)
+s390_format_VRSb(void (*irgen)(UChar v1, IRTemp op2addr, UChar r3), ULong ovl)
{
+ UChar v1 = VRSb_v1(ovl);
+ UChar b2 = VRSb_b2(ovl);
+ UShort d2 = VRSb_d2(ovl);
+ UChar r3 = VRSb_r3(ovl);
+ UChar rxb = V_rxb(ovl);
IRTemp op2addr = newTemp(Ity_I64);
if (! s390_host_has_vx) {
static void
-s390_format_VRV(void (*irgen)(UChar v1, IRTemp op2addr, UChar m3),
- UChar v1, UChar v2, UChar b2, UShort d2, UChar m3, UChar rxb,
+s390_format_VRV(void (*irgen)(UChar v1, IRTemp op2addr, UChar m3), ULong ovl,
IRType type)
{
+ UChar v1 = (ovl >> 52) & 0xf;
+ UChar v2 = (ovl >> 48) & 0xf;
+ UChar b2 = (ovl >> 44) & 0xf;
+ UShort d2 = (ovl >> 32) & 0xfff;
+ UChar m3 = (ovl >> 28) & 0xf;
+ UChar rxb = V_rxb(ovl);
IRTemp op2addr = newTemp(Ity_I64);
if (! s390_host_has_vx) {
irgen(v1, op2addr, m3);
}
+static void
+s390_format_VRRd_VVVVMM(
+ void (*irgen)(UChar v1, UChar v2, UChar v3, UChar v4, UChar m5, UChar m6),
+ ULong ovl)
+{
+ UChar v1 = VRRd_v1(ovl);
+ UChar v2 = VRRd_v2(ovl);
+ UChar v3 = VRRd_v3(ovl);
+ UChar v4 = VRRd_v4(ovl);
+ UChar m5 = VRRd_m5(ovl);
+ UChar m6 = VRRd_m6(ovl);
+ UChar rxb = V_rxb(ovl);
+
+ if (! s390_host_has_vx) {
+ emulation_failure(EmFail_S390X_vx);
+ return;
+ }
+
+ v1 = s390_vr_getVRindex(v1, 1, rxb);
+ v2 = s390_vr_getVRindex(v2, 2, rxb);
+ v3 = s390_vr_getVRindex(v3, 3, rxb);
+ v4 = s390_vr_getVRindex(v4, 4, rxb);
+ irgen(v1, v2, v3, v4, m5, m6);
+}
static void
-s390_format_VRR_VVVVMM(void (*irgen)(UChar v1, UChar v2, UChar v3,
- UChar v4, UChar m5, UChar m6),
- UChar v1, UChar v2, UChar v3, UChar v4, UChar m5,
- UChar m6, UChar rxb)
+s390_format_VRRe_VVVVMM(
+ void (*irgen)(UChar v1, UChar v2, UChar v3, UChar v4, UChar m5, UChar m6),
+ ULong ovl)
{
+ UChar v1 = (ovl >> 52) & 0xf;
+ UChar v2 = (ovl >> 48) & 0xf;
+ UChar v3 = (ovl >> 44) & 0xf;
+ UChar m6 = (ovl >> 40) & 0xf;
+ UChar m5 = (ovl >> 32) & 0xf;
+ UChar v4 = (ovl >> 28) & 0xf;
+ UChar rxb = V_rxb(ovl);
+
if (! s390_host_has_vx) {
emulation_failure(EmFail_S390X_vx);
return;
static void
-s390_format_VRR_VVMM(void (*irgen)(UChar v1, UChar v2, UChar m3,
- UChar m5),
- UChar v1, UChar v2, UChar m3, UChar m5, UChar rxb)
+s390_format_VRR_VVMM(void (*irgen)(UChar v1, UChar v2, UChar m3, UChar m5),
+ ULong ovl)
{
+ UChar v1 = VRR_v1(ovl);
+ UChar v2 = VRR_v2(ovl);
+ UChar m3 = VRR_m4(ovl);
+ UChar m5 = VRR_m5(ovl);
+ UChar rxb = V_rxb(ovl);
+
if (! s390_host_has_vx) {
emulation_failure(EmFail_S390X_vx);
return;
irgen(v1, v2, m3, m5);
}
-
static void
-s390_format_VRIdm(void (*irgen)(UChar v1, UChar v2, UChar v3, UChar i4, UChar m5),
- UChar v1, UChar v2, UChar v3, UChar i4, UChar m5, UChar rxb)
+s390_format_VRIdm(
+ void (*irgen)(UChar v1, UChar v2, UChar v3, UChar i4, UChar m5), ULong ovl)
{
+ UChar v1 = VRId_v1(ovl);
+ UChar v2 = VRId_v2(ovl);
+ UChar v3 = VRId_v3(ovl);
+ UChar i4 = VRId_i4(ovl);
+ UChar m5 = VRId_m5(ovl);
+ UChar rxb = V_rxb(ovl);
+
if (! s390_host_has_vx) {
emulation_failure(EmFail_S390X_vx);
return;
irgen(v1, v2, v3, i4, m5);
}
-
static void
s390_format_VRId(void (*irgen)(UChar v1, UChar v2, UChar v3, UChar i4),
- UChar v1, UChar v2, UChar v3, UChar i4, UChar rxb)
+ ULong ovl)
{
+ UChar v1 = VRId_v1(ovl);
+ UChar v2 = VRId_v2(ovl);
+ UChar v3 = VRId_v3(ovl);
+ UChar i4 = VRId_i4(ovl);
+ UChar rxb = V_rxb(ovl);
+
if (! s390_host_has_vx) {
emulation_failure(EmFail_S390X_vx);
return;
irgen(v1, v2, v3, i4);
}
-
static void
-s390_format_VRRd_VVVVM(void (*irgen)(UChar v1, UChar v2, UChar v3,
- UChar v4, UChar m5),
- UChar v1, UChar v2, UChar v3, UChar v4, UChar m5,
- UChar rxb)
+s390_format_VRRd_VVVVM(
+ void (*irgen)(UChar v1, UChar v2, UChar v3, UChar v4, UChar m5), ULong ovl)
{
+ UChar v1 = VRRd_v1(ovl);
+ UChar v2 = VRRd_v2(ovl);
+ UChar v3 = VRRd_v3(ovl);
+ UChar v4 = VRRd_v4(ovl);
+ UChar m5 = VRRd_m5(ovl);
+ UChar rxb = V_rxb(ovl);
+
if (! s390_host_has_vx) {
emulation_failure(EmFail_S390X_vx);
return;
irgen(v1, v2, v3, v4, m5);
}
-
static void
-s390_format_VRRa_VVMMM(void (*irgen)(UChar v1, UChar v2, UChar m3,
- UChar m4, UChar m5),
- UChar v1, UChar v2, UChar m3, UChar m4, UChar m5,
- UChar rxb)
+s390_format_VRRa_VVMMM(
+ void (*irgen)(UChar v1, UChar v2, UChar m3, UChar m4, UChar m5), ULong ovl)
{
+ UChar v1 = VRRa_v1(ovl);
+ UChar v2 = VRRa_v2(ovl);
+ UChar m3 = VRRa_m3(ovl);
+ UChar m4 = VRRa_m4(ovl);
+ UChar m5 = VRRa_m5(ovl);
+ UChar rxb = V_rxb(ovl);
+
if (!s390_host_has_vx) {
emulation_failure(EmFail_S390X_vx);
return;
}
static void
-s390_format_VRRa_VVVMM(void (*irgen)(UChar v1, UChar v2, UChar v3,
- UChar m4, UChar m5),
- UChar v1, UChar v2, UChar v3, UChar m4, UChar m5,
- UChar rxb)
+s390_format_VRRa_VVVMM(
+ void (*irgen)(UChar v1, UChar v2, UChar v3, UChar m4, UChar m5), ULong ovl)
{
+ UChar v1 = VRRa_v1(ovl);
+ UChar v2 = VRRa_v2(ovl);
+ UChar v3 = VRRa_v3(ovl);
+ UChar m4 = VRRa_m3(ovl);
+ UChar m5 = VRRa_m4(ovl);
+ UChar rxb = V_rxb(ovl);
+
if (!s390_host_has_vx) {
emulation_failure(EmFail_S390X_vx);
return;
}
static void
-s390_format_VRRa_VVMM(void (*irgen)(UChar v1, UChar v2, UChar m3,
- UChar m4),
- UChar v1, UChar v2, UChar m3, UChar m4, UChar rxb)
+s390_format_VRRa_VVMM(void (*irgen)(UChar v1, UChar v2, UChar m3, UChar m4),
+ ULong ovl)
{
+ UChar v1 = VRRa_v1(ovl);
+ UChar v2 = VRRa_v2(ovl);
+ UChar m3 = VRRa_m3(ovl);
+ UChar m4 = VRRa_m4(ovl);
+ UChar rxb = V_rxb(ovl);
+
if (!s390_host_has_vx) {
emulation_failure(EmFail_S390X_vx);
return;
}
static void
-s390_format_VRRa_VVVMMM(void (*irgen)(UChar v1, UChar v2, UChar v3,
- UChar m4, UChar m5, UChar m6),
- UChar v1, UChar v2, UChar v3, UChar m4, UChar m5,
- UChar m6, UChar rxb)
+s390_format_VRRa_VVVMMM(
+ void (*irgen)(UChar v1, UChar v2, UChar v3, UChar m4, UChar m5, UChar m6),
+ ULong ovl)
{
- if (!s390_host_has_vx) {
- emulation_failure(EmFail_S390X_vx);
- return;
- }
-
- v1 = s390_vr_getVRindex(v1, 1, rxb);
- v2 = s390_vr_getVRindex(v2, 2, rxb);
- v3 = s390_vr_getVRindex(v3, 3, rxb);
- irgen(v1, v2, v3, m4, m5, m6);
-}
+ UChar v1 = VRRa_v1(ovl);
+ UChar v2 = VRRa_v2(ovl);
+ UChar v3 = VRRa_v3(ovl);
+ UChar m4 = VRRa_m3(ovl);
+ UChar m5 = VRRa_m4(ovl);
+ UChar m6 = VRRa_m5(ovl);
+ UChar rxb = V_rxb(ovl);
-
-static void
-s390_format_VRRa_VVVMMM2(void (*irgen)(UChar v1, UChar v2, UChar v3,
- UChar m4, UChar m5, UChar m6),
- UChar v1, UChar v2, UChar v3, UChar m4, UChar m5,
- UChar m6, UChar rxb)
-{
if (!s390_host_has_vx) {
emulation_failure(EmFail_S390X_vx);
return;
}
static void
-s390_format_VSI(void (*irgen)(UChar v1, IRTemp op2addr, UChar i3),
- UChar i3, UChar b2, UShort d2, UChar v1, UChar rxb)
+s390_format_VSI(void (*irgen)(UChar v1, IRTemp op2addr, UChar i3), ULong ovl)
{
+ UChar i3 = (ovl >> 48) & 0xff;
+ UChar b2 = (ovl >> 44) & 0xf;
+ UShort d2 = (ovl >> 32) & 0xfff;
+ UChar v1 = (ovl >> 28) & 0xf;
+ UChar rxb = V_rxb(ovl);
IRTemp op2addr = newTemp(Ity_I64);
if (!s390_host_has_vx) {
goto ok;
case 0xe300000000cfULL: s390_format_RXY(s390_irgen_CLHF, ovl);
goto ok;
+ case 0xe60000000001ULL: s390_format_VRX(s390_irgen_VLEBRH, ovl);
+ goto ok;
+ case 0xe60000000002ULL: s390_format_VRX(s390_irgen_VLEBRG, ovl);
+ goto ok;
+ case 0xe60000000003ULL: s390_format_VRX(s390_irgen_VLEBRF, ovl);
goto ok;
- case 0xe60000000001ULL: s390_format_VRX(s390_irgen_VLEBRH, VRX_v1(ovl),
- VRX_x2(ovl), VRX_b2(ovl),
- VRX_d2(ovl), VRX_m3(ovl),
- VRX_rxb(ovl));
- goto ok;
- case 0xe60000000002ULL: s390_format_VRX(s390_irgen_VLEBRG, VRX_v1(ovl),
- VRX_x2(ovl), VRX_b2(ovl),
- VRX_d2(ovl), VRX_m3(ovl),
- VRX_rxb(ovl));
- goto ok;
- case 0xe60000000003ULL: s390_format_VRX(s390_irgen_VLEBRF, VRX_v1(ovl),
- VRX_x2(ovl), VRX_b2(ovl),
- VRX_d2(ovl), VRX_m3(ovl),
- VRX_rxb(ovl));
- goto ok;
- case 0xe60000000004ULL: s390_format_VRX(s390_irgen_VLLEBRZ, VRX_v1(ovl),
- VRX_x2(ovl), VRX_b2(ovl),
- VRX_d2(ovl), VRX_m3(ovl),
- VRX_rxb(ovl));
- goto ok;
- case 0xe60000000005ULL: s390_format_VRX(s390_irgen_VLBRREP, VRX_v1(ovl),
- VRX_x2(ovl), VRX_b2(ovl),
- VRX_d2(ovl), VRX_m3(ovl),
- VRX_rxb(ovl));
- goto ok;
- case 0xe60000000006ULL: s390_format_VRX(s390_irgen_VLBR, VRX_v1(ovl),
- VRX_x2(ovl), VRX_b2(ovl),
- VRX_d2(ovl), VRX_m3(ovl),
- VRX_rxb(ovl));
- goto ok;
- case 0xe60000000007ULL: s390_format_VRX(s390_irgen_VLER, VRX_v1(ovl),
- VRX_x2(ovl), VRX_b2(ovl),
- VRX_d2(ovl), VRX_m3(ovl),
- VRX_rxb(ovl));
- goto ok;
- case 0xe60000000009ULL: s390_format_VRX(s390_irgen_VSTEBRH, VRX_v1(ovl),
- VRX_x2(ovl), VRX_b2(ovl),
- VRX_d2(ovl), VRX_m3(ovl),
- VRX_rxb(ovl));
- goto ok;
- case 0xe6000000000aULL: s390_format_VRX(s390_irgen_VSTEBRG, VRX_v1(ovl),
- VRX_x2(ovl), VRX_b2(ovl),
- VRX_d2(ovl), VRX_m3(ovl),
- VRX_rxb(ovl));
- goto ok;
- case 0xe6000000000bULL: s390_format_VRX(s390_irgen_VSTEBRF, VRX_v1(ovl),
- VRX_x2(ovl), VRX_b2(ovl),
- VRX_d2(ovl), VRX_m3(ovl),
- VRX_rxb(ovl));
- goto ok;
- case 0xe6000000000eULL: s390_format_VRX(s390_irgen_VSTBR, VRX_v1(ovl),
- VRX_x2(ovl), VRX_b2(ovl),
- VRX_d2(ovl), VRX_m3(ovl),
- VRX_rxb(ovl));
- goto ok;
- case 0xe6000000000fULL: s390_format_VRX(s390_irgen_VSTER, VRX_v1(ovl),
- VRX_x2(ovl), VRX_b2(ovl),
- VRX_d2(ovl), VRX_m3(ovl),
- VRX_rxb(ovl));
+ case 0xe60000000004ULL: s390_format_VRX(s390_irgen_VLLEBRZ, ovl);
+ goto ok;
+ case 0xe60000000005ULL: s390_format_VRX(s390_irgen_VLBRREP, ovl);
+ goto ok;
+ case 0xe60000000006ULL: s390_format_VRX(s390_irgen_VLBR, ovl);
+ goto ok;
+ case 0xe60000000007ULL: s390_format_VRX(s390_irgen_VLER, ovl);
+ goto ok;
+ case 0xe60000000009ULL: s390_format_VRX(s390_irgen_VSTEBRH, ovl);
+ goto ok;
+ case 0xe6000000000aULL: s390_format_VRX(s390_irgen_VSTEBRG, ovl);
+ goto ok;
+ case 0xe6000000000bULL: s390_format_VRX(s390_irgen_VSTEBRF, ovl);
+ goto ok;
+ case 0xe6000000000eULL: s390_format_VRX(s390_irgen_VSTBR, ovl);
+ goto ok;
+ case 0xe6000000000fULL: s390_format_VRX(s390_irgen_VSTER, ovl);
goto ok;
case 0xe60000000034ULL: /* VPKZ */ goto unimplemented;
- case 0xe60000000035ULL: s390_format_VSI(s390_irgen_VLRL, VSI_i3(ovl),
- VSI_b2(ovl), VSI_d2(ovl),
- VSI_v1(ovl), VSI_rxb(ovl));
+ case 0xe60000000035ULL: s390_format_VSI(s390_irgen_VLRL, ovl);
goto ok;
- case 0xe60000000037ULL: s390_format_VRSd(s390_irgen_VLRLR, VRSd_v1(ovl),
- VRSd_r3(ovl), VRSd_b2(ovl),
- VRSd_d2(ovl), VRSd_rxb(ovl));
+ case 0xe60000000037ULL: s390_format_VRSd(s390_irgen_VLRLR, ovl);
goto ok;
case 0xe6000000003cULL: /* VUPKZ */ goto unimplemented;
- case 0xe6000000003dULL: s390_format_VSI(s390_irgen_VSTRL, VSI_i3(ovl),
- VSI_b2(ovl), VSI_d2(ovl),
- VSI_v1(ovl), VSI_rxb(ovl));
+ case 0xe6000000003dULL: s390_format_VSI(s390_irgen_VSTRL, ovl);
goto ok;
- case 0xe6000000003fULL: s390_format_VRSd(s390_irgen_VSTRLR, VRSd_v1(ovl),
- VRSd_r3(ovl), VRSd_b2(ovl),
- VRSd_d2(ovl), VRSd_rxb(ovl));
+ case 0xe6000000003fULL: s390_format_VRSd(s390_irgen_VSTRLR, ovl);
goto ok;
case 0xe60000000049ULL: /* VLIP */ goto unimplemented;
case 0xe6000000004aULL: /* VCVDQ */ goto unimplemented;
case 0xe60000000051ULL: /* VCLZDP */ goto unimplemented;
case 0xe60000000052ULL: /* VCVBG */ goto unimplemented;
case 0xe60000000054ULL: /* VUPKZH */ goto unimplemented;
- case 0xe60000000055ULL: s390_format_VRRa_VVMM(s390_irgen_VCNF,
- VRRa_v1(ovl), VRRa_v2(ovl),
- VRRa_m3(ovl), VRRa_m4(ovl),
- VRRa_rxb(ovl)); goto ok;
- case 0xe60000000056ULL: s390_format_VRRa_VVMM(s390_irgen_VCLFNH,
- VRRa_v1(ovl), VRRa_v2(ovl),
- VRRa_m3(ovl), VRRa_m4(ovl),
- VRRa_rxb(ovl)); goto ok;
- case 0xe6000000005dULL: s390_format_VRRa_VVMM(s390_irgen_VCFN,
- VRRa_v1(ovl), VRRa_v2(ovl),
- VRRa_m3(ovl), VRRa_m4(ovl),
- VRRa_rxb(ovl)); goto ok;
- case 0xe6000000005eULL: s390_format_VRRa_VVMM(s390_irgen_VCLFNL,
- VRRa_v1(ovl), VRRa_v2(ovl),
- VRRa_m3(ovl), VRRa_m4(ovl),
- VRRa_rxb(ovl)); goto ok;
+ case 0xe60000000055ULL: s390_format_VRRa_VVMM(s390_irgen_VCNF, ovl);
+ goto ok;
+ case 0xe60000000056ULL: s390_format_VRRa_VVMM(s390_irgen_VCLFNH, ovl);
+ goto ok;
+ case 0xe6000000005dULL: s390_format_VRRa_VVMM(s390_irgen_VCFN, ovl);
+ goto ok;
+ case 0xe6000000005eULL: s390_format_VRRa_VVMM(s390_irgen_VCLFNL, ovl);
+ goto ok;
case 0xe60000000058ULL: /* VCVD */ goto unimplemented;
case 0xe60000000059ULL: /* VSRP */ goto unimplemented;
case 0xe6000000005aULL: /* VCVDG */ goto unimplemented;
case 0xe60000000071ULL: /* VAP */ goto unimplemented;
case 0xe60000000072ULL: /* VSRPR */ goto unimplemented;
case 0xe60000000073ULL: /* VSP */ goto unimplemented;
- case 0xe60000000075ULL: s390_format_VRRa_VVVMM(s390_irgen_VCRNF,
- VRRa_v1(ovl), VRRa_v2(ovl),
- VRRa_v3(ovl),
- VRRa_m3(ovl), VRRa_m4(ovl),
- VRRa_rxb(ovl)); goto ok;
+ case 0xe60000000075ULL: s390_format_VRRa_VVVMM(s390_irgen_VCRNF, ovl);
+ goto ok;
case 0xe60000000077ULL: /* VCP */ goto unimplemented;
case 0xe60000000078ULL: /* VMP */ goto unimplemented;
case 0xe60000000079ULL: /* VMSP */ goto unimplemented;
case 0xe6000000007dULL: /* VCSPH */ goto unimplemented;
case 0xe6000000007eULL: /* VSDP */ goto unimplemented;
case 0xe6000000007fULL: /* VTZ */ goto unimplemented;
- case 0xe70000000000ULL: s390_format_VRX(s390_irgen_VLEB, VRX_v1(ovl),
- VRX_x2(ovl), VRX_b2(ovl),
- VRX_d2(ovl), VRX_m3(ovl),
- VRX_rxb(ovl));
- goto ok;
- case 0xe70000000001ULL: s390_format_VRX(s390_irgen_VLEH, VRX_v1(ovl),
- VRX_x2(ovl), VRX_b2(ovl),
- VRX_d2(ovl), VRX_m3(ovl),
- VRX_rxb(ovl));
- goto ok;
- case 0xe70000000002ULL: s390_format_VRX(s390_irgen_VLEG, VRX_v1(ovl),
- VRX_x2(ovl), VRX_b2(ovl),
- VRX_d2(ovl), VRX_m3(ovl),
- VRX_rxb(ovl));
- goto ok;
- case 0xe70000000003ULL: s390_format_VRX(s390_irgen_VLEF, VRX_v1(ovl),
- VRX_x2(ovl), VRX_b2(ovl),
- VRX_d2(ovl), VRX_m3(ovl),
- VRX_rxb(ovl));
- goto ok;
- case 0xe70000000004ULL: s390_format_VRX(s390_irgen_VLLEZ, VRX_v1(ovl),
- VRX_x2(ovl), VRX_b2(ovl),
- VRX_d2(ovl), VRX_m3(ovl),
- VRX_rxb(ovl));
- goto ok;
- case 0xe70000000005ULL: s390_format_VRX(s390_irgen_VLREP, VRX_v1(ovl),
- VRX_x2(ovl), VRX_b2(ovl),
- VRX_d2(ovl), VRX_m3(ovl),
- VRX_rxb(ovl));
- goto ok;
- case 0xe70000000006ULL: s390_format_VRX(s390_irgen_VL, VRX_v1(ovl),
- VRX_x2(ovl), VRX_b2(ovl),
- VRX_d2(ovl), VRX_m3(ovl),
- VRX_rxb(ovl));
- goto ok;
- case 0xe70000000007ULL: s390_format_VRX(s390_irgen_VLBB, VRX_v1(ovl),
- VRX_x2(ovl), VRX_b2(ovl),
- VRX_d2(ovl), VRX_m3(ovl),
- VRX_rxb(ovl));
- goto ok;
- case 0xe70000000008ULL: s390_format_VRX(s390_irgen_VSTEB, VRX_v1(ovl),
- VRX_x2(ovl), VRX_b2(ovl),
- VRX_d2(ovl), VRX_m3(ovl),
- VRX_rxb(ovl));
- goto ok;
- case 0xe70000000009ULL: s390_format_VRX(s390_irgen_VSTEH, VRX_v1(ovl),
- VRX_x2(ovl), VRX_b2(ovl),
- VRX_d2(ovl), VRX_m3(ovl),
- VRX_rxb(ovl));
- goto ok;
- case 0xe7000000000aULL: s390_format_VRX(s390_irgen_VSTEG, VRX_v1(ovl),
- VRX_x2(ovl), VRX_b2(ovl),
- VRX_d2(ovl), VRX_m3(ovl),
- VRX_rxb(ovl));
- goto ok;
- case 0xe7000000000bULL: s390_format_VRX(s390_irgen_VSTEF, VRX_v1(ovl),
- VRX_x2(ovl), VRX_b2(ovl),
- VRX_d2(ovl), VRX_m3(ovl),
- VRX_rxb(ovl));
- goto ok;
- case 0xe7000000000eULL: s390_format_VRX(s390_irgen_VST, VRX_v1(ovl),
- VRX_x2(ovl), VRX_b2(ovl),
- VRX_d2(ovl), VRX_m3(ovl),
- VRX_rxb(ovl));
- goto ok;
- case 0xe70000000012ULL: s390_format_VRV(s390_irgen_VGEG, VRV_v1(ovl),
- VRV_x2(ovl), VRV_b2(ovl),
- VRV_d2(ovl), VRV_m3(ovl),
- VRV_rxb(ovl), Ity_I64);
- goto ok;
- case 0xe70000000013ULL: s390_format_VRV(s390_irgen_VGEF, VRV_v1(ovl),
- VRV_x2(ovl), VRV_b2(ovl),
- VRV_d2(ovl), VRV_m3(ovl),
- VRV_rxb(ovl), Ity_I32);
- goto ok;
- case 0xe7000000001aULL: s390_format_VRV(s390_irgen_VSCEG, VRV_v1(ovl),
- VRV_x2(ovl), VRV_b2(ovl),
- VRV_d2(ovl), VRV_m3(ovl),
- VRV_rxb(ovl), Ity_I64);
- goto ok;
- case 0xe7000000001bULL: s390_format_VRV(s390_irgen_VSCEF, VRV_v1(ovl),
- VRV_x2(ovl), VRV_b2(ovl),
- VRV_d2(ovl), VRV_m3(ovl),
- VRV_rxb(ovl), Ity_I32);
- goto ok;
- case 0xe70000000021ULL: s390_format_VRSc(s390_irgen_VLGV, VRSc_r1(ovl),
- VRSc_b2(ovl), VRSc_d2(ovl),
- VRSc_v3(ovl), VRSc_m4(ovl),
- VRSc_rxb(ovl));
- goto ok;
- case 0xe70000000022ULL: s390_format_VRSbm(s390_irgen_VLVG, VRSb_v1(ovl),
- VRSb_b2(ovl), VRSb_d2(ovl),
- VRSb_r3(ovl), VRSb_m4(ovl),
- VRSb_rxb(ovl));
+ case 0xe70000000000ULL: s390_format_VRX(s390_irgen_VLEB, ovl);
+ goto ok;
+ case 0xe70000000001ULL: s390_format_VRX(s390_irgen_VLEH, ovl);
+ goto ok;
+ case 0xe70000000002ULL: s390_format_VRX(s390_irgen_VLEG, ovl);
+ goto ok;
+ case 0xe70000000003ULL: s390_format_VRX(s390_irgen_VLEF, ovl);
+ goto ok;
+ case 0xe70000000004ULL: s390_format_VRX(s390_irgen_VLLEZ, ovl);
+ goto ok;
+ case 0xe70000000005ULL: s390_format_VRX(s390_irgen_VLREP, ovl);
+ goto ok;
+ case 0xe70000000006ULL: s390_format_VRX(s390_irgen_VL, ovl);
+ goto ok;
+ case 0xe70000000007ULL: s390_format_VRX(s390_irgen_VLBB, ovl);
+ goto ok;
+ case 0xe70000000008ULL: s390_format_VRX(s390_irgen_VSTEB, ovl);
+ goto ok;
+ case 0xe70000000009ULL: s390_format_VRX(s390_irgen_VSTEH, ovl);
+ goto ok;
+ case 0xe7000000000aULL: s390_format_VRX(s390_irgen_VSTEG, ovl);
+ goto ok;
+ case 0xe7000000000bULL: s390_format_VRX(s390_irgen_VSTEF, ovl);
+ goto ok;
+ case 0xe7000000000eULL: s390_format_VRX(s390_irgen_VST, ovl);
+ goto ok;
+ case 0xe70000000012ULL: s390_format_VRV(s390_irgen_VGEG, ovl, Ity_I64);
+ goto ok;
+ case 0xe70000000013ULL: s390_format_VRV(s390_irgen_VGEF, ovl, Ity_I32);
+ goto ok;
+ case 0xe7000000001aULL: s390_format_VRV(s390_irgen_VSCEG, ovl, Ity_I64);
+ goto ok;
+ case 0xe7000000001bULL: s390_format_VRV(s390_irgen_VSCEF, ovl, Ity_I32);
+ goto ok;
+ case 0xe70000000021ULL: s390_format_VRSc(s390_irgen_VLGV, ovl);
+ goto ok;
+ case 0xe70000000022ULL: s390_format_VRSbm(s390_irgen_VLVG, ovl);
goto ok;
case 0xe70000000027ULL: s390_format_RXE(s390_irgen_LCBB, ovl);
goto ok;
- case 0xe70000000030ULL: s390_format_VRSa(s390_irgen_VESL, VRSa_v1(ovl),
- VRSa_b2(ovl), VRSa_d2(ovl),
- VRSa_v3(ovl), VRSa_m4(ovl),
- VRSa_rxb(ovl));
- goto ok;
- case 0xe70000000033ULL: s390_format_VRSa(s390_irgen_VERLL, VRSa_v1(ovl),
- VRSa_b2(ovl), VRSa_d2(ovl),
- VRSa_v3(ovl), VRSa_m4(ovl),
- VRSa_rxb(ovl));
- goto ok;
- case 0xe70000000036ULL: s390_format_VRSa(s390_irgen_VLM, VRSa_v1(ovl),
- VRSa_b2(ovl), VRSa_d2(ovl),
- VRSa_v3(ovl), VRSa_m4(ovl),
- VRSa_rxb(ovl));
- goto ok;
- case 0xe70000000037ULL: s390_format_VRSb(s390_irgen_VLL, VRSb_v1(ovl),
- VRSb_b2(ovl), VRSb_d2(ovl),
- VRSb_r3(ovl), VRSb_rxb(ovl));
- goto ok;
- case 0xe70000000038ULL: s390_format_VRSa(s390_irgen_VESRL, VRSa_v1(ovl),
- VRSa_b2(ovl), VRSa_d2(ovl),
- VRSa_v3(ovl), VRSa_m4(ovl),
- VRSa_rxb(ovl));
- goto ok;
- case 0xe7000000003aULL: s390_format_VRSa(s390_irgen_VESRA, VRSa_v1(ovl),
- VRSa_b2(ovl), VRSa_d2(ovl),
- VRSa_v3(ovl), VRSa_m4(ovl),
- VRSa_rxb(ovl));
- goto ok;
- case 0xe7000000003eULL: s390_format_VRSa(s390_irgen_VSTM, VRSa_v1(ovl),
- VRSa_b2(ovl), VRSa_d2(ovl),
- VRSa_v3(ovl), VRSa_m4(ovl),
- VRSa_rxb(ovl));
- goto ok;
- case 0xe7000000003fULL: s390_format_VRSb(s390_irgen_VSTL, VRSb_v1(ovl),
- VRSb_b2(ovl), VRSb_d2(ovl),
- VRSb_r3(ovl), VRSb_rxb(ovl));
- goto ok;
- case 0xe70000000040ULL: s390_format_VRIa(s390_irgen_VLEIB, VRIa_v1(ovl),
- VRIa_i2(ovl), VRIa_m3(ovl),
- VRIa_rxb(ovl));
- goto ok;
- case 0xe70000000041ULL: s390_format_VRIa(s390_irgen_VLEIH, VRIa_v1(ovl),
- VRIa_i2(ovl), VRIa_m3(ovl),
- VRIa_rxb(ovl));
- goto ok;
- case 0xe70000000042ULL: s390_format_VRIa(s390_irgen_VLEIG, VRIa_v1(ovl),
- VRIa_i2(ovl), VRIa_m3(ovl),
- VRIa_rxb(ovl));
- goto ok;
- case 0xe70000000043ULL: s390_format_VRIa(s390_irgen_VLEIF, VRIa_v1(ovl),
- VRIa_i2(ovl), VRIa_m3(ovl),
- VRIa_rxb(ovl));
- goto ok;
- case 0xe70000000044ULL: s390_format_VRIa0(s390_irgen_VGBM, VRIa_v1(ovl),
- VRIa_i2(ovl), VRIa_rxb(ovl));
- goto ok;
- case 0xe70000000045ULL: s390_format_VRIa(s390_irgen_VREPI, VRIa_v1(ovl),
- VRIa_i2(ovl), VRIa_m3(ovl),
- VRIa_rxb(ovl));
- goto ok;
- case 0xe70000000046ULL: s390_format_VRIb(s390_irgen_VGM, VRIb_v1(ovl),
- VRIb_i2(ovl), VRIb_i3(ovl),
- VRIb_m4(ovl), VRIb_rxb(ovl));
- goto ok;
- case 0xe7000000004aULL: s390_format_VRIe(s390_irgen_VFTCI, VRIe_v1(ovl),
- VRIe_v2(ovl), VRIe_i3(ovl),
- VRIe_m4(ovl), VRIe_m5(ovl),
- VRIe_rxb(ovl));
- goto ok;
- case 0xe7000000004dULL: s390_format_VRIc(s390_irgen_VREP, VRIc_v1(ovl),
- VRIc_v3(ovl), VRIc_i2(ovl),
- VRIc_m4(ovl), VRIc_rxb(ovl));
- goto ok;
- case 0xe70000000050ULL: s390_format_VRR_VVM(s390_irgen_VPOPCT, VRRa_v1(ovl),
- VRRa_v2(ovl), VRRa_m3(ovl),
- VRR_rxb(ovl)); goto ok;
- case 0xe70000000052ULL: s390_format_VRR_VVM(s390_irgen_VCTZ, VRRa_v1(ovl),
- VRRa_v2(ovl), VRRa_m3(ovl),
- VRRa_rxb(ovl)); goto ok;
- case 0xe70000000053ULL: s390_format_VRR_VVM(s390_irgen_VCLZ, VRRa_v1(ovl),
- VRRa_v2(ovl), VRRa_m3(ovl),
- VRRa_rxb(ovl)); goto ok;
+ case 0xe70000000030ULL: s390_format_VRSa(s390_irgen_VESL, ovl);
+ goto ok;
+ case 0xe70000000033ULL: s390_format_VRSa(s390_irgen_VERLL, ovl);
+ goto ok;
+ case 0xe70000000036ULL: s390_format_VRSa(s390_irgen_VLM, ovl);
+ goto ok;
+ case 0xe70000000037ULL: s390_format_VRSb(s390_irgen_VLL, ovl);
+ goto ok;
+ case 0xe70000000038ULL: s390_format_VRSa(s390_irgen_VESRL, ovl);
+ goto ok;
+ case 0xe7000000003aULL: s390_format_VRSa(s390_irgen_VESRA, ovl);
+ goto ok;
+ case 0xe7000000003eULL: s390_format_VRSa(s390_irgen_VSTM, ovl);
+ goto ok;
+ case 0xe7000000003fULL: s390_format_VRSb(s390_irgen_VSTL, ovl);
+ goto ok;
+ case 0xe70000000040ULL: s390_format_VRIa(s390_irgen_VLEIB, ovl);
+ goto ok;
+ case 0xe70000000041ULL: s390_format_VRIa(s390_irgen_VLEIH, ovl);
+ goto ok;
+ case 0xe70000000042ULL: s390_format_VRIa(s390_irgen_VLEIG, ovl);
+ goto ok;
+ case 0xe70000000043ULL: s390_format_VRIa(s390_irgen_VLEIF, ovl);
+ goto ok;
+ case 0xe70000000044ULL: s390_format_VRIa0(s390_irgen_VGBM, ovl);
+ goto ok;
+ case 0xe70000000045ULL: s390_format_VRIa(s390_irgen_VREPI, ovl);
+ goto ok;
+ case 0xe70000000046ULL: s390_format_VRIb(s390_irgen_VGM, ovl);
+ goto ok;
+ case 0xe7000000004aULL: s390_format_VRIe(s390_irgen_VFTCI, ovl);
+ goto ok;
+ case 0xe7000000004dULL: s390_format_VRIc(s390_irgen_VREP, ovl);
+ goto ok;
+ case 0xe70000000050ULL: s390_format_VRR_VVM(s390_irgen_VPOPCT, ovl);
+ goto ok;
+ case 0xe70000000052ULL: s390_format_VRR_VVM(s390_irgen_VCTZ, ovl);
+ goto ok;
+ case 0xe70000000053ULL: s390_format_VRR_VVM(s390_irgen_VCLZ, ovl);
+ goto ok;
case 0xe70000000054ULL: /* VGEM */ goto unimplemented;
- case 0xe70000000056ULL: s390_format_VRR_VV(s390_irgen_VLR, VRR_v1(ovl),
- VRR_v2(ovl), VRR_rxb(ovl)); goto ok;
- case 0xe7000000005cULL: s390_format_VRR_VVMM(s390_irgen_VISTR, VRR_v1(ovl),
- VRR_v2(ovl), VRR_m4(ovl),
- VRR_m5(ovl), VRR_rxb(ovl)); goto ok;
- case 0xe7000000005fULL: s390_format_VRR_VVM(s390_irgen_VSEG, VRRa_v1(ovl),
- VRRa_v2(ovl), VRRa_m3(ovl),
- VRRa_rxb(ovl)); goto ok;
- case 0xe70000000060ULL: s390_format_VRR_VVVM(s390_irgen_VMRL, VRR_v1(ovl),
- VRR_v2(ovl), VRR_v3(ovl),
- VRR_m4(ovl), VRR_rxb(ovl)); goto ok;
- case 0xe70000000061ULL: s390_format_VRR_VVVM(s390_irgen_VMRH, VRR_v1(ovl),
- VRR_v2(ovl), VRR_v3(ovl),
- VRR_m4(ovl), VRR_rxb(ovl)); goto ok;
- case 0xe70000000062ULL: s390_format_VRR_VRR(s390_irgen_VLVGP, VRR_v1(ovl),
- VRR_r2(ovl), VRR_r3(ovl),
- VRR_rxb(ovl)); goto ok;
- case 0xe70000000064ULL: s390_format_VRR_VVVM(s390_irgen_VSUM, VRR_v1(ovl),
- VRR_v2(ovl), VRR_v3(ovl),
- VRR_m4(ovl), VRR_rxb(ovl)); goto ok;
- case 0xe70000000065ULL: s390_format_VRR_VVVM(s390_irgen_VSUMG, VRR_v1(ovl),
- VRR_v2(ovl), VRR_v3(ovl),
- VRR_m4(ovl), VRR_rxb(ovl)); goto ok;
- case 0xe70000000066ULL: s390_format_VRR_VVV(s390_irgen_VCKSM, VRR_v1(ovl),
- VRR_v2(ovl), VRR_v3(ovl),
- VRR_rxb(ovl)); goto ok;
- case 0xe70000000067ULL: s390_format_VRR_VVVM(s390_irgen_VSUMQ, VRR_v1(ovl),
- VRR_v2(ovl), VRR_v3(ovl),
- VRR_m4(ovl), VRR_rxb(ovl)); goto ok;
- case 0xe70000000068ULL: s390_format_VRR_VVV(s390_irgen_VN, VRR_v1(ovl),
- VRR_v2(ovl), VRR_v3(ovl),
- VRR_rxb(ovl)); goto ok;
- case 0xe70000000069ULL: s390_format_VRR_VVV(s390_irgen_VNC, VRR_v1(ovl),
- VRR_v2(ovl), VRR_v3(ovl),
- VRR_rxb(ovl)); goto ok;
- case 0xe7000000006aULL: s390_format_VRR_VVV(s390_irgen_VO, VRR_v1(ovl),
- VRR_v2(ovl), VRR_v3(ovl),
- VRR_rxb(ovl)); goto ok;
- case 0xe7000000006bULL: s390_format_VRR_VVV(s390_irgen_VNO, VRR_v1(ovl),
- VRR_v2(ovl), VRR_v3(ovl),
- VRR_rxb(ovl)); goto ok;
- case 0xe7000000006cULL: s390_format_VRR_VVV(s390_irgen_VNX, VRR_v1(ovl),
- VRR_v2(ovl), VRR_v3(ovl),
- VRR_rxb(ovl)); goto ok;
- case 0xe7000000006dULL: s390_format_VRR_VVV(s390_irgen_VX, VRR_v1(ovl),
- VRR_v2(ovl), VRR_v3(ovl),
- VRR_rxb(ovl)); goto ok;
- case 0xe7000000006eULL: s390_format_VRR_VVV(s390_irgen_VNN, VRR_v1(ovl),
- VRR_v2(ovl), VRR_v3(ovl),
- VRR_rxb(ovl)); goto ok;
- case 0xe7000000006fULL: s390_format_VRR_VVV(s390_irgen_VOC, VRR_v1(ovl),
- VRR_v2(ovl), VRR_v3(ovl),
- VRR_rxb(ovl)); goto ok;
- case 0xe70000000070ULL: s390_format_VRR_VVVM(s390_irgen_VESLV, VRR_v1(ovl),
- VRR_v2(ovl), VRR_v3(ovl),
- VRR_m4(ovl), VRR_rxb(ovl)); goto ok;
- case 0xe70000000072ULL: s390_format_VRIdm(s390_irgen_VERIM, VRId_v1(ovl),
- VRId_v2(ovl), VRId_v3(ovl),
- VRId_i4(ovl), VRId_m5(ovl),
- VRId_rxb(ovl));
- goto ok;
- case 0xe70000000073ULL: s390_format_VRR_VVVM(s390_irgen_VERLLV, VRR_v1(ovl),
- VRR_v2(ovl), VRR_v3(ovl),
- VRR_m4(ovl), VRR_rxb(ovl)); goto ok;
- case 0xe70000000074ULL: s390_format_VRR_VVV(s390_irgen_VSL, VRR_v1(ovl),
- VRR_v2(ovl), VRR_v3(ovl),
- VRR_rxb(ovl)); goto ok;
- case 0xe70000000075ULL: s390_format_VRR_VVV(s390_irgen_VSLB, VRR_v1(ovl),
- VRR_v2(ovl), VRR_v3(ovl),
- VRR_rxb(ovl)); goto ok;
- case 0xe70000000077ULL: s390_format_VRId(s390_irgen_VSLDB, VRId_v1(ovl),
- VRId_v2(ovl), VRId_v3(ovl),
- VRId_i4(ovl), VRId_rxb(ovl));
- goto ok;
- case 0xe70000000078ULL: s390_format_VRR_VVVM(s390_irgen_VESRLV, VRR_v1(ovl),
- VRR_v2(ovl), VRR_v3(ovl),
- VRR_m4(ovl), VRR_rxb(ovl)); goto ok;
- case 0xe7000000007aULL: s390_format_VRR_VVVM(s390_irgen_VESRAV, VRR_v1(ovl),
- VRR_v2(ovl), VRR_v3(ovl),
- VRR_m4(ovl), VRR_rxb(ovl)); goto ok;
- case 0xe7000000007cULL: s390_format_VRR_VVV(s390_irgen_VSRL, VRR_v1(ovl),
- VRR_v2(ovl), VRR_v3(ovl),
- VRR_rxb(ovl)); goto ok;
- case 0xe7000000007dULL: s390_format_VRR_VVV(s390_irgen_VSRLB, VRR_v1(ovl),
- VRR_v2(ovl), VRR_v3(ovl),
- VRR_rxb(ovl)); goto ok;
- case 0xe7000000007eULL: s390_format_VRR_VVV(s390_irgen_VSRA, VRR_v1(ovl),
- VRR_v2(ovl), VRR_v3(ovl),
- VRR_rxb(ovl)); goto ok;
- case 0xe7000000007fULL: s390_format_VRR_VVV(s390_irgen_VSRAB, VRR_v1(ovl),
- VRR_v2(ovl), VRR_v3(ovl),
- VRR_rxb(ovl)); goto ok;
- case 0xe70000000080ULL: s390_format_VRR_VVVMM(s390_irgen_VFEE, VRR_v1(ovl),
- VRR_v2(ovl), VRR_r3(ovl),
- VRR_m4(ovl), VRR_m5(ovl), VRR_rxb(ovl)
- ); goto ok;
- case 0xe70000000081ULL: s390_format_VRR_VVVMM(s390_irgen_VFENE, VRR_v1(ovl),
- VRR_v2(ovl), VRR_r3(ovl),
- VRR_m4(ovl), VRR_m5(ovl), VRR_rxb(ovl)
- ); goto ok;
- case 0xe70000000082ULL: s390_format_VRR_VVVMM(s390_irgen_VFAE, VRR_v1(ovl),
- VRR_v2(ovl), VRR_r3(ovl),
- VRR_m4(ovl), VRR_m5(ovl), VRR_rxb(ovl)
- ); goto ok;
- case 0xe70000000084ULL: s390_format_VRR_VVVM(s390_irgen_VPDI, VRR_v1(ovl),
- VRR_v2(ovl), VRR_r3(ovl),
- VRR_m4(ovl), VRR_rxb(ovl)); goto ok;
- case 0xe70000000085ULL: s390_format_VRR_VVV(s390_irgen_VBPERM, VRR_v1(ovl),
- VRR_v2(ovl), VRR_v3(ovl),
- VRR_rxb(ovl)); goto ok;
- case 0xe70000000086ULL: s390_format_VRId(s390_irgen_VSLD, VRId_v1(ovl),
- VRId_v2(ovl), VRId_v3(ovl),
- VRId_i4(ovl), VRId_rxb(ovl));
- goto ok;
- case 0xe70000000087ULL: s390_format_VRId(s390_irgen_VSRD, VRId_v1(ovl),
- VRId_v2(ovl), VRId_v3(ovl),
- VRId_i4(ovl), VRId_rxb(ovl));
+ case 0xe70000000056ULL: s390_format_VRR_VV(s390_irgen_VLR, ovl);
+ goto ok;
+ case 0xe7000000005cULL: s390_format_VRR_VVMM(s390_irgen_VISTR, ovl);
+ goto ok;
+ case 0xe7000000005fULL: s390_format_VRR_VVM(s390_irgen_VSEG, ovl);
+ goto ok;
+ case 0xe70000000060ULL: s390_format_VRR_VVVM(s390_irgen_VMRL, ovl);
+ goto ok;
+ case 0xe70000000061ULL: s390_format_VRR_VVVM(s390_irgen_VMRH, ovl);
+ goto ok;
+ case 0xe70000000062ULL: s390_format_VRR_VRR(s390_irgen_VLVGP, ovl);
+ goto ok;
+ case 0xe70000000064ULL: s390_format_VRR_VVVM(s390_irgen_VSUM, ovl);
+ goto ok;
+ case 0xe70000000065ULL: s390_format_VRR_VVVM(s390_irgen_VSUMG, ovl);
+ goto ok;
+ case 0xe70000000066ULL: s390_format_VRR_VVV(s390_irgen_VCKSM, ovl);
+ goto ok;
+ case 0xe70000000067ULL: s390_format_VRR_VVVM(s390_irgen_VSUMQ, ovl);
+ goto ok;
+ case 0xe70000000068ULL: s390_format_VRR_VVV(s390_irgen_VN, ovl);
+ goto ok;
+ case 0xe70000000069ULL: s390_format_VRR_VVV(s390_irgen_VNC, ovl);
+ goto ok;
+ case 0xe7000000006aULL: s390_format_VRR_VVV(s390_irgen_VO, ovl);
+ goto ok;
+ case 0xe7000000006bULL: s390_format_VRR_VVV(s390_irgen_VNO, ovl);
+ goto ok;
+ case 0xe7000000006cULL: s390_format_VRR_VVV(s390_irgen_VNX, ovl);
+ goto ok;
+ case 0xe7000000006dULL: s390_format_VRR_VVV(s390_irgen_VX, ovl);
+ goto ok;
+ case 0xe7000000006eULL: s390_format_VRR_VVV(s390_irgen_VNN, ovl);
+ goto ok;
+ case 0xe7000000006fULL: s390_format_VRR_VVV(s390_irgen_VOC, ovl);
+ goto ok;
+ case 0xe70000000070ULL: s390_format_VRR_VVVM(s390_irgen_VESLV, ovl);
+ goto ok;
+ case 0xe70000000072ULL: s390_format_VRIdm(s390_irgen_VERIM, ovl);
+ goto ok;
+ case 0xe70000000073ULL: s390_format_VRR_VVVM(s390_irgen_VERLLV, ovl);
+ goto ok;
+ case 0xe70000000074ULL: s390_format_VRR_VVV(s390_irgen_VSL, ovl);
+ goto ok;
+ case 0xe70000000075ULL: s390_format_VRR_VVV(s390_irgen_VSLB, ovl);
+ goto ok;
+ case 0xe70000000077ULL: s390_format_VRId(s390_irgen_VSLDB, ovl);
+ goto ok;
+ case 0xe70000000078ULL: s390_format_VRR_VVVM(s390_irgen_VESRLV, ovl);
+ goto ok;
+ case 0xe7000000007aULL: s390_format_VRR_VVVM(s390_irgen_VESRAV, ovl);
+ goto ok;
+ case 0xe7000000007cULL: s390_format_VRR_VVV(s390_irgen_VSRL, ovl);
+ goto ok;
+ case 0xe7000000007dULL: s390_format_VRR_VVV(s390_irgen_VSRLB, ovl);
+ goto ok;
+ case 0xe7000000007eULL: s390_format_VRR_VVV(s390_irgen_VSRA, ovl);
+ goto ok;
+ case 0xe7000000007fULL: s390_format_VRR_VVV(s390_irgen_VSRAB, ovl);
+ goto ok;
+ case 0xe70000000080ULL: s390_format_VRR_VVVMM(s390_irgen_VFEE, ovl);
+ goto ok;
+ case 0xe70000000081ULL: s390_format_VRR_VVVMM(s390_irgen_VFENE, ovl);
+ goto ok;
+ case 0xe70000000082ULL: s390_format_VRR_VVVMM(s390_irgen_VFAE, ovl);
+ goto ok;
+ case 0xe70000000084ULL: s390_format_VRR_VVVM(s390_irgen_VPDI, ovl);
+ goto ok;
+ case 0xe70000000085ULL: s390_format_VRR_VVV(s390_irgen_VBPERM, ovl);
+ goto ok;
+ case 0xe70000000086ULL: s390_format_VRId(s390_irgen_VSLD, ovl);
+ goto ok;
+ case 0xe70000000087ULL: s390_format_VRId(s390_irgen_VSRD, ovl);
goto ok;
case 0xe70000000088ULL: /* VEVAL */ goto unimplemented;
case 0xe70000000089ULL: /* VBLEND */ goto unimplemented;
- case 0xe7000000008aULL: s390_format_VRR_VVVVMM(s390_irgen_VSTRC, VRRd_v1(ovl),
- VRRd_v2(ovl), VRRd_v3(ovl),
- VRRd_v4(ovl), VRRd_m5(ovl),
- VRRd_m6(ovl), VRRd_rxb(ovl)
- ); goto ok;
- case 0xe7000000008bULL: s390_format_VRR_VVVVMM(s390_irgen_VSTRS, VRRd_v1(ovl),
- VRRd_v2(ovl), VRRd_v3(ovl),
- VRRd_v4(ovl), VRRd_m5(ovl),
- VRRd_m6(ovl), VRRd_rxb(ovl)
- ); goto ok;
- case 0xe7000000008cULL: s390_format_VRR_VVVV(s390_irgen_VPERM, VRR_v1(ovl),
- VRR_v2(ovl), VRR_v3(ovl),
- VRR_v4(ovl), VRR_rxb(ovl)); goto ok;
- case 0xe7000000008dULL: s390_format_VRR_VVVV(s390_irgen_VSEL, VRR_v1(ovl),
- VRR_v2(ovl), VRR_v3(ovl),
- VRR_v4(ovl), VRR_rxb(ovl)); goto ok;
- case 0xe7000000008eULL: s390_format_VRR_VVVVMM(s390_irgen_VFMS, VRRe_v1(ovl),
- VRRe_v2(ovl), VRRe_v3(ovl),
- VRRe_v4(ovl), VRRe_m5(ovl),
- VRRe_m6(ovl), VRRe_rxb(ovl)
- ); goto ok;
- case 0xe7000000008fULL: s390_format_VRR_VVVVMM(s390_irgen_VFMA, VRRe_v1(ovl),
- VRRe_v2(ovl), VRRe_v3(ovl),
- VRRe_v4(ovl), VRRe_m5(ovl),
- VRRe_m6(ovl), VRRe_rxb(ovl)
- ); goto ok;
- case 0xe70000000094ULL: s390_format_VRR_VVVM(s390_irgen_VPK, VRR_v1(ovl),
- VRR_v2(ovl), VRR_v3(ovl),
- VRR_m4(ovl), VRR_rxb(ovl)); goto ok;
- case 0xe70000000095ULL: s390_format_VRR_VVVMM(s390_irgen_VPKLS, VRR_v1(ovl),
- VRR_v2(ovl), VRR_v3(ovl),
- VRR_m4(ovl), VRR_m5(ovl), VRR_rxb(ovl)
- ); goto ok;
- case 0xe70000000097ULL: s390_format_VRR_VVVMM(s390_irgen_VPKS, VRR_v1(ovl),
- VRR_v2(ovl), VRR_v3(ovl),
- VRR_m4(ovl), VRR_m5(ovl), VRR_rxb(ovl)
- ); goto ok;
- case 0xe7000000009eULL: s390_format_VRR_VVVVMM(s390_irgen_VFNMS, VRRe_v1(ovl),
- VRRe_v2(ovl), VRRe_v3(ovl),
- VRRe_v4(ovl), VRRe_m5(ovl),
- VRRe_m6(ovl), VRRe_rxb(ovl)
- ); goto ok;
- case 0xe7000000009fULL: s390_format_VRR_VVVVMM(s390_irgen_VFNMA, VRRe_v1(ovl),
- VRRe_v2(ovl), VRRe_v3(ovl),
- VRRe_v4(ovl), VRRe_m5(ovl),
- VRRe_m6(ovl), VRRe_rxb(ovl)
- ); goto ok;
- case 0xe700000000a1ULL: s390_format_VRR_VVVM(s390_irgen_VMLH, VRR_v1(ovl),
- VRR_v2(ovl), VRR_v3(ovl),
- VRR_m4(ovl), VRR_rxb(ovl)); goto ok;
- case 0xe700000000a2ULL: s390_format_VRR_VVVM(s390_irgen_VML, VRR_v1(ovl),
- VRR_v2(ovl), VRR_v3(ovl),
- VRR_m4(ovl), VRR_rxb(ovl)); goto ok;
- case 0xe700000000a3ULL: s390_format_VRR_VVVM(s390_irgen_VMH, VRR_v1(ovl),
- VRR_v2(ovl), VRR_v3(ovl),
- VRR_m4(ovl), VRR_rxb(ovl)); goto ok;
- case 0xe700000000a4ULL: s390_format_VRR_VVVM(s390_irgen_VMLE, VRR_v1(ovl),
- VRR_v2(ovl), VRR_v3(ovl),
- VRR_m4(ovl), VRR_rxb(ovl)); goto ok;
- case 0xe700000000a5ULL: s390_format_VRR_VVVM(s390_irgen_VMLO, VRR_v1(ovl),
- VRR_v2(ovl), VRR_v3(ovl),
- VRR_m4(ovl), VRR_rxb(ovl)); goto ok;
- case 0xe700000000a6ULL: s390_format_VRR_VVVM(s390_irgen_VME, VRR_v1(ovl),
- VRR_v2(ovl), VRR_v3(ovl),
- VRR_m4(ovl), VRR_rxb(ovl)); goto ok;
- case 0xe700000000a7ULL: s390_format_VRR_VVVM(s390_irgen_VMO, VRR_v1(ovl),
- VRR_v2(ovl), VRR_v3(ovl),
- VRR_m4(ovl), VRR_rxb(ovl)); goto ok;
- case 0xe700000000a9ULL: s390_format_VRRd_VVVVM(s390_irgen_VMALH, VRRd_v1(ovl),
- VRRd_v2(ovl), VRRd_v3(ovl),
- VRRd_v4(ovl), VRRd_m5(ovl),
- VRRd_rxb(ovl)); goto ok;
- case 0xe700000000aaULL: s390_format_VRRd_VVVVM(s390_irgen_VMAL, VRRd_v1(ovl),
- VRRd_v2(ovl), VRRd_v3(ovl),
- VRRd_v4(ovl), VRRd_m5(ovl),
- VRRd_rxb(ovl)); goto ok;
- case 0xe700000000abULL: s390_format_VRRd_VVVVM(s390_irgen_VMAH, VRRd_v1(ovl),
- VRRd_v2(ovl), VRRd_v3(ovl),
- VRRd_v4(ovl), VRRd_m5(ovl),
- VRRd_rxb(ovl)); goto ok;
- case 0xe700000000acULL: s390_format_VRRd_VVVVM(s390_irgen_VMALE, VRRd_v1(ovl),
- VRRd_v2(ovl), VRRd_v3(ovl),
- VRRd_v4(ovl), VRRd_m5(ovl),
- VRRd_rxb(ovl)); goto ok;
- case 0xe700000000adULL: s390_format_VRRd_VVVVM(s390_irgen_VMALO, VRRd_v1(ovl),
- VRRd_v2(ovl), VRRd_v3(ovl),
- VRRd_v4(ovl), VRRd_m5(ovl),
- VRRd_rxb(ovl)); goto ok;
- case 0xe700000000aeULL: s390_format_VRRd_VVVVM(s390_irgen_VMAE, VRRd_v1(ovl),
- VRRd_v2(ovl), VRRd_v3(ovl),
- VRRd_v4(ovl), VRRd_m5(ovl),
- VRRd_rxb(ovl)); goto ok;
- case 0xe700000000afULL: s390_format_VRRd_VVVVM(s390_irgen_VMAO, VRRd_v1(ovl),
- VRRd_v2(ovl), VRRd_v3(ovl),
- VRRd_v4(ovl), VRRd_m5(ovl),
- VRRd_rxb(ovl)); goto ok;
+ case 0xe7000000008aULL: s390_format_VRRd_VVVVMM(s390_irgen_VSTRC, ovl);
+ goto ok;
+ case 0xe7000000008bULL: s390_format_VRRd_VVVVMM(s390_irgen_VSTRS, ovl);
+ goto ok;
+ case 0xe7000000008cULL: s390_format_VRR_VVVV(s390_irgen_VPERM, ovl);
+ goto ok;
+ case 0xe7000000008dULL: s390_format_VRR_VVVV(s390_irgen_VSEL, ovl);
+ goto ok;
+ case 0xe7000000008eULL: s390_format_VRRe_VVVVMM(s390_irgen_VFMS, ovl);
+ goto ok;
+ case 0xe7000000008fULL: s390_format_VRRe_VVVVMM(s390_irgen_VFMA, ovl);
+ goto ok;
+ case 0xe70000000094ULL: s390_format_VRR_VVVM(s390_irgen_VPK, ovl);
+ goto ok;
+ case 0xe70000000095ULL: s390_format_VRR_VVVMM(s390_irgen_VPKLS, ovl);
+ goto ok;
+ case 0xe70000000097ULL: s390_format_VRR_VVVMM(s390_irgen_VPKS, ovl);
+ goto ok;
+ case 0xe7000000009eULL: s390_format_VRRe_VVVVMM(s390_irgen_VFNMS, ovl);
+ goto ok;
+ case 0xe7000000009fULL: s390_format_VRRe_VVVVMM(s390_irgen_VFNMA, ovl);
+ goto ok;
+ case 0xe700000000a1ULL: s390_format_VRR_VVVM(s390_irgen_VMLH, ovl);
+ goto ok;
+ case 0xe700000000a2ULL: s390_format_VRR_VVVM(s390_irgen_VML, ovl);
+ goto ok;
+ case 0xe700000000a3ULL: s390_format_VRR_VVVM(s390_irgen_VMH, ovl);
+ goto ok;
+ case 0xe700000000a4ULL: s390_format_VRR_VVVM(s390_irgen_VMLE, ovl);
+ goto ok;
+ case 0xe700000000a5ULL: s390_format_VRR_VVVM(s390_irgen_VMLO, ovl);
+ goto ok;
+ case 0xe700000000a6ULL: s390_format_VRR_VVVM(s390_irgen_VME, ovl);
+ goto ok;
+ case 0xe700000000a7ULL: s390_format_VRR_VVVM(s390_irgen_VMO, ovl);
+ goto ok;
+ case 0xe700000000a9ULL: s390_format_VRRd_VVVVM(s390_irgen_VMALH, ovl);
+ goto ok;
+ case 0xe700000000aaULL: s390_format_VRRd_VVVVM(s390_irgen_VMAL, ovl);
+ goto ok;
+ case 0xe700000000abULL: s390_format_VRRd_VVVVM(s390_irgen_VMAH, ovl);
+ goto ok;
+ case 0xe700000000acULL: s390_format_VRRd_VVVVM(s390_irgen_VMALE, ovl);
+ goto ok;
+ case 0xe700000000adULL: s390_format_VRRd_VVVVM(s390_irgen_VMALO, ovl);
+ goto ok;
+ case 0xe700000000aeULL: s390_format_VRRd_VVVVM(s390_irgen_VMAE, ovl);
+ goto ok;
+ case 0xe700000000afULL: s390_format_VRRd_VVVVM(s390_irgen_VMAO, ovl);
+ goto ok;
case 0xe700000000b0ULL: /* VDL */ goto unimplemented;
case 0xe700000000b1ULL: /* VRL */ goto unimplemented;
case 0xe700000000b2ULL: /* VD */ goto unimplemented;
case 0xe700000000b3ULL: /* VR */ goto unimplemented;
- case 0xe700000000b4ULL: s390_format_VRR_VVVM(s390_irgen_VGFM, VRR_v1(ovl),
- VRR_v2(ovl), VRR_v3(ovl),
- VRR_m4(ovl), VRR_rxb(ovl)); goto ok;
- case 0xe700000000b8ULL: s390_format_VRR_VVVVMM(s390_irgen_VMSL, VRRd_v1(ovl),
- VRRd_v2(ovl), VRRd_v3(ovl),
- VRRd_v4(ovl), VRRd_m5(ovl),
- VRRd_m6(ovl), VRRd_rxb(ovl)
- ); goto ok;
- case 0xe700000000b9ULL: s390_format_VRRd_VVVVM(s390_irgen_VACCC, VRRd_v1(ovl),
- VRRd_v2(ovl), VRRd_v3(ovl),
- VRRd_v4(ovl), VRRd_m5(ovl),
- VRRd_rxb(ovl)); goto ok;
- case 0xe700000000bbULL: s390_format_VRRd_VVVVM(s390_irgen_VAC, VRRd_v1(ovl),
- VRRd_v2(ovl), VRRd_v3(ovl),
- VRRd_v4(ovl), VRRd_m5(ovl),
- VRRd_rxb(ovl)); goto ok;
- case 0xe700000000bcULL: s390_format_VRRd_VVVVM(s390_irgen_VGFMA, VRRd_v1(ovl),
- VRRd_v2(ovl), VRRd_v3(ovl),
- VRRd_v4(ovl), VRRd_m5(ovl),
- VRRd_rxb(ovl)); goto ok;
- case 0xe700000000bdULL: s390_format_VRRd_VVVVM(s390_irgen_VSBCBI, VRRd_v1(ovl),
- VRRd_v2(ovl), VRRd_v3(ovl),
- VRRd_v4(ovl), VRRd_m5(ovl),
- VRRd_rxb(ovl)); goto ok;
- case 0xe700000000bfULL: s390_format_VRRd_VVVVM(s390_irgen_VSBI, VRRd_v1(ovl),
- VRRd_v2(ovl), VRRd_v3(ovl),
- VRRd_v4(ovl), VRRd_m5(ovl),
- VRRd_rxb(ovl)); goto ok;
- case 0xe700000000c0ULL: s390_format_VRRa_VVMMM(s390_irgen_VCLGD, VRRa_v1(ovl),
- VRRa_v2(ovl), VRRa_m3(ovl),
- VRRa_m4(ovl), VRRa_m5(ovl),
- VRRa_rxb(ovl)); goto ok;
- case 0xe700000000c1ULL: s390_format_VRRa_VVMMM(s390_irgen_VCDLG, VRRa_v1(ovl),
- VRRa_v2(ovl), VRRa_m3(ovl),
- VRRa_m4(ovl), VRRa_m5(ovl),
- VRRa_rxb(ovl)); goto ok;
- case 0xe700000000c2ULL: s390_format_VRRa_VVMMM(s390_irgen_VCGD, VRRa_v1(ovl),
- VRRa_v2(ovl), VRRa_m3(ovl),
- VRRa_m4(ovl), VRRa_m5(ovl),
- VRRa_rxb(ovl)); goto ok;
- case 0xe700000000c3ULL: s390_format_VRRa_VVMMM(s390_irgen_VCDG, VRRa_v1(ovl),
- VRRa_v2(ovl), VRRa_m3(ovl),
- VRRa_m4(ovl), VRRa_m5(ovl),
- VRRa_rxb(ovl)); goto ok;
- case 0xe700000000c4ULL: s390_format_VRRa_VVMM(s390_irgen_VFLL, VRRa_v1(ovl),
- VRRa_v2(ovl), VRRa_m3(ovl),
- VRRa_m4(ovl), VRRa_rxb(ovl)
- ); goto ok;
- case 0xe700000000c5ULL: s390_format_VRRa_VVMMM(s390_irgen_VFLR, VRRa_v1(ovl),
- VRRa_v2(ovl), VRRa_m3(ovl),
- VRRa_m4(ovl), VRRa_m5(ovl),
- VRRa_rxb(ovl)); goto ok;
- case 0xe700000000c7ULL: s390_format_VRRa_VVMMM(s390_irgen_VFI, VRRa_v1(ovl),
- VRRa_v2(ovl), VRRa_m3(ovl),
- VRRa_m4(ovl), VRRa_m5(ovl),
- VRRa_rxb(ovl)); goto ok;
- case 0xe700000000caULL: s390_format_VRRa_VVMM(s390_irgen_WFK, VRRa_v1(ovl),
- VRRa_v2(ovl), VRRa_m3(ovl),
- VRRa_m4(ovl), VRRa_rxb(ovl)
- ); goto ok;
- case 0xe700000000cbULL: s390_format_VRRa_VVMM(s390_irgen_WFC, VRRa_v1(ovl),
- VRRa_v2(ovl), VRRa_m3(ovl),
- VRRa_m4(ovl), VRRa_rxb(ovl)
- ); goto ok;
- case 0xe700000000ccULL: s390_format_VRRa_VVMMM(s390_irgen_VFPSO, VRRa_v1(ovl),
- VRRa_v2(ovl), VRRa_m3(ovl),
- VRRa_m4(ovl), VRRa_m5(ovl),
- VRRa_rxb(ovl)); goto ok;
- case 0xe700000000ceULL: s390_format_VRRa_VVMM(s390_irgen_VFSQ, VRRa_v1(ovl),
- VRRa_v2(ovl), VRRa_m3(ovl),
- VRRa_m4(ovl),
- VRRa_rxb(ovl)); goto ok;
- case 0xe700000000d4ULL: s390_format_VRR_VVM(s390_irgen_VUPLL, VRRa_v1(ovl),
- VRRa_v2(ovl), VRRa_m3(ovl),
- VRRa_rxb(ovl)); goto ok;
- case 0xe700000000d5ULL: s390_format_VRR_VVM(s390_irgen_VUPLH, VRRa_v1(ovl),
- VRRa_v2(ovl), VRRa_m3(ovl),
- VRRa_rxb(ovl)); goto ok;
- case 0xe700000000d6ULL: s390_format_VRR_VVM(s390_irgen_VUPL, VRRa_v1(ovl),
- VRRa_v2(ovl), VRRa_m3(ovl),
- VRRa_rxb(ovl)); goto ok;
- case 0xe700000000d7ULL: s390_format_VRR_VVM(s390_irgen_VUPH, VRRa_v1(ovl),
- VRRa_v2(ovl), VRRa_m3(ovl),
- VRRa_rxb(ovl)); goto ok;
- case 0xe700000000d8ULL: s390_format_VRR_VV(s390_irgen_VTM, VRR_v1(ovl),
- VRR_v2(ovl), VRR_rxb(ovl)); goto ok;
- case 0xe700000000d9ULL: s390_format_VRR_VVM(s390_irgen_VECL, VRRa_v1(ovl),
- VRRa_v2(ovl), VRRa_m3(ovl),
- VRRa_rxb(ovl)); goto ok;
- case 0xe700000000dbULL: s390_format_VRR_VVM(s390_irgen_VEC, VRRa_v1(ovl),
- VRRa_v2(ovl), VRRa_m3(ovl),
- VRRa_rxb(ovl)); goto ok;
- case 0xe700000000deULL: s390_format_VRR_VVM(s390_irgen_VLC, VRRa_v1(ovl),
- VRRa_v2(ovl), VRRa_m3(ovl),
- VRRa_rxb(ovl)); goto ok;
- case 0xe700000000dfULL: s390_format_VRR_VVM(s390_irgen_VLP, VRRa_v1(ovl),
- VRRa_v2(ovl), VRRa_m3(ovl),
- VRRa_rxb(ovl)); goto ok;
- case 0xe700000000e2ULL: s390_format_VRRa_VVVMM(s390_irgen_VFS, VRRa_v1(ovl),
- VRRa_v2(ovl), VRRa_v3(ovl),
- VRRa_m3(ovl), VRRa_m4(ovl),
- VRRa_rxb(ovl)); goto ok;
- case 0xe700000000e3ULL: s390_format_VRRa_VVVMM(s390_irgen_VFA, VRRa_v1(ovl),
- VRRa_v2(ovl), VRRa_v3(ovl),
- VRRa_m3(ovl), VRRa_m4(ovl),
- VRRa_rxb(ovl)); goto ok;
- case 0xe700000000e5ULL: s390_format_VRRa_VVVMM(s390_irgen_VFD, VRRa_v1(ovl),
- VRRa_v2(ovl), VRRa_v3(ovl),
- VRRa_m3(ovl), VRRa_m4(ovl),
- VRRa_rxb(ovl)); goto ok;
- case 0xe700000000e7ULL: s390_format_VRRa_VVVMM(s390_irgen_VFM, VRRa_v1(ovl),
- VRRa_v2(ovl), VRRa_v3(ovl),
- VRRa_m3(ovl), VRRa_m4(ovl),
- VRRa_rxb(ovl)); goto ok;
- case 0xe700000000e8ULL: s390_format_VRRa_VVVMMM(s390_irgen_VFCE, VRRa_v1(ovl),
- VRRa_v2(ovl), VRRa_v3(ovl),
- VRRa_m3(ovl), VRRa_m4(ovl),
- VRRa_m5(ovl),
- VRRa_rxb(ovl)); goto ok;
- case 0xe700000000eaULL: s390_format_VRRa_VVVMMM(s390_irgen_VFCHE, VRRa_v1(ovl),
- VRRa_v2(ovl), VRRa_v3(ovl),
- VRRa_m3(ovl), VRRa_m4(ovl),
- VRRa_m5(ovl),
- VRRa_rxb(ovl)); goto ok;
- case 0xe700000000ebULL: s390_format_VRRa_VVVMMM(s390_irgen_VFCH, VRRa_v1(ovl),
- VRRa_v2(ovl), VRRa_v3(ovl),
- VRRa_m3(ovl), VRRa_m4(ovl),
- VRRa_m5(ovl),
- VRRa_rxb(ovl)); goto ok;
- case 0xe700000000eeULL: s390_format_VRRa_VVVMMM2(s390_irgen_VFMIN, VRRa_v1(ovl),
- VRRa_v2(ovl), VRRa_v3(ovl),
- VRRa_m3(ovl), VRRa_m4(ovl),
- VRRa_m5(ovl),
- VRRa_rxb(ovl)); goto ok;
- case 0xe700000000efULL: s390_format_VRRa_VVVMMM2(s390_irgen_VFMAX, VRRa_v1(ovl),
- VRRa_v2(ovl), VRRa_v3(ovl),
- VRRa_m3(ovl), VRRa_m4(ovl),
- VRRa_m5(ovl),
- VRRa_rxb(ovl)); goto ok;
- case 0xe700000000f0ULL: s390_format_VRR_VVVM(s390_irgen_VAVGL, VRR_v1(ovl),
- VRR_v2(ovl), VRR_v3(ovl),
- VRR_m4(ovl), VRR_rxb(ovl)); goto ok;
- case 0xe700000000f1ULL: s390_format_VRR_VVVM(s390_irgen_VACC, VRR_v1(ovl),
- VRR_v2(ovl), VRR_v3(ovl),
- VRR_m4(ovl), VRR_rxb(ovl)); goto ok;
- case 0xe700000000f2ULL: s390_format_VRR_VVVM(s390_irgen_VAVG, VRR_v1(ovl),
- VRR_v2(ovl), VRR_v3(ovl),
- VRR_m4(ovl), VRR_rxb(ovl)); goto ok;
- case 0xe700000000f3ULL: s390_format_VRR_VVVM(s390_irgen_VA, VRR_v1(ovl),
- VRR_v2(ovl), VRR_v3(ovl),
- VRR_m4(ovl), VRR_rxb(ovl)); goto ok;
- case 0xe700000000f5ULL: s390_format_VRR_VVVM(s390_irgen_VSCBI, VRR_v1(ovl),
- VRR_v2(ovl), VRR_v3(ovl),
- VRR_m4(ovl), VRR_rxb(ovl)); goto ok;
- case 0xe700000000f7ULL: s390_format_VRR_VVVM(s390_irgen_VS, VRR_v1(ovl),
- VRR_v2(ovl), VRR_v3(ovl),
- VRR_m4(ovl), VRR_rxb(ovl)); goto ok;
- case 0xe700000000f8ULL: s390_format_VRR_VVVMM(s390_irgen_VCEQ, VRR_v1(ovl),
- VRR_v2(ovl), VRR_v3(ovl),
- VRR_m4(ovl), VRR_m5(ovl), VRR_rxb(ovl)
- ); goto ok;
- case 0xe700000000f9ULL: s390_format_VRR_VVVMM(s390_irgen_VCHL, VRR_v1(ovl),
- VRR_v2(ovl), VRR_v3(ovl),
- VRR_m4(ovl), VRR_m5(ovl), VRR_rxb(ovl)
- ); goto ok;
- case 0xe700000000fbULL: s390_format_VRR_VVVMM(s390_irgen_VCH, VRR_v1(ovl),
- VRR_v2(ovl), VRR_v3(ovl),
- VRR_m4(ovl), VRR_m5(ovl), VRR_rxb(ovl)
- ); goto ok;
- case 0xe700000000fcULL: s390_format_VRR_VVVM(s390_irgen_VMNL, VRR_v1(ovl),
- VRR_v2(ovl), VRR_v3(ovl),
- VRR_m4(ovl), VRR_rxb(ovl)); goto ok;
- case 0xe700000000fdULL: s390_format_VRR_VVVM(s390_irgen_VMXL, VRR_v1(ovl),
- VRR_v2(ovl), VRR_v3(ovl),
- VRR_m4(ovl), VRR_rxb(ovl)); goto ok;
- case 0xe700000000feULL: s390_format_VRR_VVVM(s390_irgen_VMN, VRR_v1(ovl),
- VRR_v2(ovl), VRR_v3(ovl),
- VRR_m4(ovl), VRR_rxb(ovl)); goto ok;
- case 0xe700000000ffULL: s390_format_VRR_VVVM(s390_irgen_VMX, VRR_v1(ovl),
- VRR_v2(ovl), VRR_v3(ovl),
- VRR_m4(ovl), VRR_rxb(ovl)); goto ok;
+ case 0xe700000000b4ULL: s390_format_VRR_VVVM(s390_irgen_VGFM, ovl);
+ goto ok;
+ case 0xe700000000b8ULL: s390_format_VRRd_VVVVMM(s390_irgen_VMSL, ovl);
+ goto ok;
+ case 0xe700000000b9ULL: s390_format_VRRd_VVVVM(s390_irgen_VACCC, ovl);
+ goto ok;
+ case 0xe700000000bbULL: s390_format_VRRd_VVVVM(s390_irgen_VAC, ovl);
+ goto ok;
+ case 0xe700000000bcULL: s390_format_VRRd_VVVVM(s390_irgen_VGFMA, ovl);
+ goto ok;
+ case 0xe700000000bdULL: s390_format_VRRd_VVVVM(s390_irgen_VSBCBI, ovl);
+ goto ok;
+ case 0xe700000000bfULL: s390_format_VRRd_VVVVM(s390_irgen_VSBI, ovl);
+ goto ok;
+ case 0xe700000000c0ULL: s390_format_VRRa_VVMMM(s390_irgen_VCLGD, ovl);
+ goto ok;
+ case 0xe700000000c1ULL: s390_format_VRRa_VVMMM(s390_irgen_VCDLG, ovl);
+ goto ok;
+ case 0xe700000000c2ULL: s390_format_VRRa_VVMMM(s390_irgen_VCGD, ovl);
+ goto ok;
+ case 0xe700000000c3ULL: s390_format_VRRa_VVMMM(s390_irgen_VCDG, ovl);
+ goto ok;
+ case 0xe700000000c4ULL: s390_format_VRRa_VVMM(s390_irgen_VFLL, ovl);
+ goto ok;
+ case 0xe700000000c5ULL: s390_format_VRRa_VVMMM(s390_irgen_VFLR, ovl);
+ goto ok;
+ case 0xe700000000c7ULL: s390_format_VRRa_VVMMM(s390_irgen_VFI, ovl);
+ goto ok;
+ case 0xe700000000caULL: s390_format_VRRa_VVMM(s390_irgen_WFK, ovl);
+ goto ok;
+ case 0xe700000000cbULL: s390_format_VRRa_VVMM(s390_irgen_WFC, ovl);
+ goto ok;
+ case 0xe700000000ccULL: s390_format_VRRa_VVMMM(s390_irgen_VFPSO, ovl);
+ goto ok;
+ case 0xe700000000ceULL: s390_format_VRRa_VVMM(s390_irgen_VFSQ, ovl);
+ goto ok;
+ case 0xe700000000d4ULL: s390_format_VRR_VVM(s390_irgen_VUPLL, ovl);
+ goto ok;
+ case 0xe700000000d5ULL: s390_format_VRR_VVM(s390_irgen_VUPLH, ovl);
+ goto ok;
+ case 0xe700000000d6ULL: s390_format_VRR_VVM(s390_irgen_VUPL, ovl);
+ goto ok;
+ case 0xe700000000d7ULL: s390_format_VRR_VVM(s390_irgen_VUPH, ovl);
+ goto ok;
+ case 0xe700000000d8ULL: s390_format_VRR_VV(s390_irgen_VTM, ovl);
+ goto ok;
+ case 0xe700000000d9ULL: s390_format_VRR_VVM(s390_irgen_VECL, ovl);
+ goto ok;
+ case 0xe700000000dbULL: s390_format_VRR_VVM(s390_irgen_VEC, ovl);
+ goto ok;
+ case 0xe700000000deULL: s390_format_VRR_VVM(s390_irgen_VLC, ovl);
+ goto ok;
+ case 0xe700000000dfULL: s390_format_VRR_VVM(s390_irgen_VLP, ovl);
+ goto ok;
+ case 0xe700000000e2ULL: s390_format_VRRa_VVVMM(s390_irgen_VFS, ovl);
+ goto ok;
+ case 0xe700000000e3ULL: s390_format_VRRa_VVVMM(s390_irgen_VFA, ovl);
+ goto ok;
+ case 0xe700000000e5ULL: s390_format_VRRa_VVVMM(s390_irgen_VFD, ovl);
+ goto ok;
+ case 0xe700000000e7ULL: s390_format_VRRa_VVVMM(s390_irgen_VFM, ovl);
+ goto ok;
+ case 0xe700000000e8ULL: s390_format_VRRa_VVVMMM(s390_irgen_VFCE, ovl);
+ goto ok;
+ case 0xe700000000eaULL: s390_format_VRRa_VVVMMM(s390_irgen_VFCHE, ovl);
+ goto ok;
+ case 0xe700000000ebULL: s390_format_VRRa_VVVMMM(s390_irgen_VFCH, ovl);
+ goto ok;
+ case 0xe700000000eeULL: s390_format_VRRa_VVVMMM(s390_irgen_VFMIN, ovl);
+ goto ok;
+ case 0xe700000000efULL: s390_format_VRRa_VVVMMM(s390_irgen_VFMAX, ovl);
+ goto ok;
+ case 0xe700000000f0ULL: s390_format_VRR_VVVM(s390_irgen_VAVGL, ovl);
+ goto ok;
+ case 0xe700000000f1ULL: s390_format_VRR_VVVM(s390_irgen_VACC, ovl);
+ goto ok;
+ case 0xe700000000f2ULL: s390_format_VRR_VVVM(s390_irgen_VAVG, ovl);
+ goto ok;
+ case 0xe700000000f3ULL: s390_format_VRR_VVVM(s390_irgen_VA, ovl);
+ goto ok;
+ case 0xe700000000f5ULL: s390_format_VRR_VVVM(s390_irgen_VSCBI, ovl);
+ goto ok;
+ case 0xe700000000f7ULL: s390_format_VRR_VVVM(s390_irgen_VS, ovl);
+ goto ok;
+ case 0xe700000000f8ULL: s390_format_VRR_VVVMM(s390_irgen_VCEQ, ovl);
+ goto ok;
+ case 0xe700000000f9ULL: s390_format_VRR_VVVMM(s390_irgen_VCHL, ovl);
+ goto ok;
+ case 0xe700000000fbULL: s390_format_VRR_VVVMM(s390_irgen_VCH, ovl);
+ goto ok;
+ case 0xe700000000fcULL: s390_format_VRR_VVVM(s390_irgen_VMNL, ovl);
+ goto ok;
+ case 0xe700000000fdULL: s390_format_VRR_VVVM(s390_irgen_VMXL, ovl);
+ goto ok;
+ case 0xe700000000feULL: s390_format_VRR_VVVM(s390_irgen_VMN, ovl);
+ goto ok;
+ case 0xe700000000ffULL: s390_format_VRR_VVVM(s390_irgen_VMX, ovl);
+ goto ok;
case 0xeb0000000004ULL: s390_format_RSY(s390_irgen_LMG, ovl);
goto ok;
case 0xeb000000000aULL: s390_format_RSY(s390_irgen_SRAG, ovl);