using Ryujinx.Cpu.LightningJit.CodeGen.Arm64;
using System;
namespace Ryujinx.Cpu.LightningJit.Arm32.Target.Arm64
{
class InstEmit : IInstEmit
{
public static void AdcIA1(CodeGenContext context, uint encoding)
{
InstCondb28w4Sb20w1Rnb16w4Rdb12w4Imm12b0w12 inst = new(encoding);
InstEmitAlu.AdcI(context, inst.Rd, inst.Rn, ImmUtils.ExpandImm(inst.Imm12), inst.S != 0);
}
public static void AdcIT1(CodeGenContext context, uint encoding)
{
InstIb26w1Sb20w1Rnb16w4Imm3b12w3Rdb8w4Imm8b0w8 inst = new(encoding);
InstEmitAlu.AdcI(context, inst.Rd, inst.Rn, ImmUtils.ExpandImm(inst.Imm8, inst.Imm3, inst.I), inst.S != 0);
}
public static void AdcRA1(CodeGenContext context, uint encoding)
{
InstCondb28w4Sb20w1Rnb16w4Rdb12w4Imm5b7w5Stypeb5w2Rmb0w4 inst = new(encoding);
InstEmitAlu.AdcR(context, inst.Rd, inst.Rn, inst.Rm, inst.Stype, inst.Imm5, inst.S != 0);
}
public static void AdcRT1(CodeGenContext context, uint encoding)
{
InstRmb19w3Rdnb16w3 inst = new(encoding);
InstEmitAlu.AdcR(context, inst.Rdn, inst.Rdn, inst.Rm, 0, 0, !context.InITBlock);
}
public static void AdcRT2(CodeGenContext context, uint encoding)
{
InstSb20w1Rnb16w4Imm3b12w3Rdb8w4Imm2b6w2Stypeb4w2Rmb0w4 inst = new(encoding);
InstEmitAlu.AdcR(context, inst.Rd, inst.Rn, inst.Rm, inst.Stype, ImmUtils.CombineImmU5(inst.Imm2, inst.Imm3), inst.S != 0);
}
public static void AdcRrA1(CodeGenContext context, uint encoding)
{
InstCondb28w4Sb20w1Rnb16w4Rdb12w4Rsb8w4Stypeb5w2Rmb0w4 inst = new(encoding);
InstEmitAlu.AdcRr(context, inst.Rd, inst.Rn, inst.Rm, inst.Stype, inst.Rs, inst.S != 0);
}
public static void AddIA1(CodeGenContext context, uint encoding)
{
InstCondb28w4Sb20w1Rnb16w4Rdb12w4Imm12b0w12 inst = new(encoding);
InstEmitAlu.AddI(context, inst.Rd, inst.Rn, ImmUtils.ExpandImm(inst.Imm12), inst.S != 0);
}
public static void AddIT1(CodeGenContext context, uint encoding)
{
InstImm3b22w3Rnb19w3Rdb16w3 inst = new(encoding);
InstEmitAlu.AddI(context, inst.Rd, inst.Rn, inst.Imm3, !context.InITBlock);
}
public static void AddIT2(CodeGenContext context, uint encoding)
{
InstRdnb24w3Imm8b16w8 inst = new(encoding);
InstEmitAlu.AddI(context, inst.Rdn, inst.Rdn, inst.Imm8, !context.InITBlock);
}
public static void AddIT3(CodeGenContext context, uint encoding)
{
InstIb26w1Sb20w1Rnb16w4Imm3b12w3Rdb8w4Imm8b0w8 inst = new(encoding);
InstEmitAlu.AddI(context, inst.Rd, inst.Rn, ImmUtils.ExpandImm(inst.Imm8, inst.Imm3, inst.I), inst.S != 0);
}
public static void AddIT4(CodeGenContext context, uint encoding)
{
InstIb26w1Rnb16w4Imm3b12w3Rdb8w4Imm8b0w8 inst = new(encoding);
InstEmitAlu.AddI(context, inst.Rd, inst.Rn, ImmUtils.CombineImmU12(inst.Imm8, inst.Imm3, inst.I), false);
}
public static void AddRA1(CodeGenContext context, uint encoding)
{
InstCondb28w4Sb20w1Rnb16w4Rdb12w4Imm5b7w5Stypeb5w2Rmb0w4 inst = new(encoding);
InstEmitAlu.AddR(context, inst.Rd, inst.Rn, inst.Rm, inst.Stype, inst.Imm5, inst.S != 0);
}
public static void AddRT1(CodeGenContext context, uint encoding)
{
InstRmb22w3Rnb19w3Rdb16w3 inst = new(encoding);
InstEmitAlu.AddR(context, inst.Rd, inst.Rn, inst.Rm, 0, 0, !context.InITBlock);
}
public static void AddRT2(CodeGenContext context, uint encoding)
{
InstDnb23w1Rmb19w4Rdnb16w3 inst = new(encoding);
uint rdn = (inst.Dn << 3) | inst.Rdn;
InstEmitAlu.AddR(context, rdn, rdn, inst.Rm, 0, 0, false);
}
public static void AddRT3(CodeGenContext context, uint encoding)
{
InstSb20w1Rnb16w4Imm3b12w3Rdb8w4Imm2b6w2Stypeb4w2Rmb0w4 inst = new(encoding);
InstEmitAlu.AddR(context, inst.Rd, inst.Rn, inst.Rm, inst.Stype, ImmUtils.CombineImmU5(inst.Imm2, inst.Imm3), inst.S != 0);
}
public static void AddRrA1(CodeGenContext context, uint encoding)
{
InstCondb28w4Sb20w1Rnb16w4Rdb12w4Rsb8w4Stypeb5w2Rmb0w4 inst = new(encoding);
InstEmitAlu.AddRr(context, inst.Rd, inst.Rn, inst.Rm, inst.Stype, inst.Rs, inst.S != 0);
}
public static void AddSpIA1(CodeGenContext context, uint encoding)
{
InstCondb28w4Sb20w1Rdb12w4Imm12b0w12 inst = new(encoding);
InstEmitAlu.AddI(context, inst.Rd, RegisterUtils.SpRegister, ImmUtils.ExpandImm(inst.Imm12), inst.S != 0);
}
public static void AddSpIT1(CodeGenContext context, uint encoding)
{
InstRdb24w3Imm8b16w8 inst = new(encoding);
InstEmitAlu.AddI(context, inst.Rd, RegisterUtils.SpRegister, inst.Imm8 << 2, false);
}
public static void AddSpIT2(CodeGenContext context, uint encoding)
{
InstImm7b16w7 inst = new(encoding);
InstEmitAlu.AddI(context, RegisterUtils.SpRegister, RegisterUtils.SpRegister, inst.Imm7 << 2, false);
}
public static void AddSpIT3(CodeGenContext context, uint encoding)
{
InstIb26w1Sb20w1Imm3b12w3Rdb8w4Imm8b0w8 inst = new(encoding);
InstEmitAlu.AddI(context, inst.Rd, RegisterUtils.SpRegister, ImmUtils.ExpandImm(inst.Imm8, inst.Imm3, inst.I), inst.S != 0);
}
public static void AddSpIT4(CodeGenContext context, uint encoding)
{
InstIb26w1Imm3b12w3Rdb8w4Imm8b0w8 inst = new(encoding);
InstEmitAlu.AddI(context, inst.Rd, RegisterUtils.SpRegister, ImmUtils.CombineImmU12(inst.Imm8, inst.Imm3, inst.I), false);
}
public static void AddSpRA1(CodeGenContext context, uint encoding)
{
InstCondb28w4Sb20w1Rdb12w4Imm5b7w5Stypeb5w2Rmb0w4 inst = new(encoding);
InstEmitAlu.AddR(context, inst.Rd, RegisterUtils.SpRegister, inst.Rm, inst.Stype, inst.Imm5, inst.S != 0);
}
public static void AddSpRT1(CodeGenContext context, uint encoding)
{
InstDmb23w1Rdmb16w3 inst = new(encoding);
uint rdm = inst.Rdm | (inst.Dm << 3);
InstEmitAlu.AddR(context, rdm, RegisterUtils.SpRegister, rdm, 0, 0, false);
}
public static void AddSpRT2(CodeGenContext context, uint encoding)
{
InstRmb19w4 inst = new(encoding);
InstEmitAlu.AddR(context, RegisterUtils.SpRegister, RegisterUtils.SpRegister, inst.Rm, 0, 0, false);
}
public static void AddSpRT3(CodeGenContext context, uint encoding)
{
InstSb20w1Imm3b12w3Rdb8w4Imm2b6w2Stypeb4w2Rmb0w4 inst = new(encoding);
InstEmitAlu.AddR(context, inst.Rd, RegisterUtils.SpRegister, inst.Rm, inst.Stype, ImmUtils.CombineImmU5(inst.Imm2, inst.Imm3), inst.S != 0);
}
public static void AdrA1(CodeGenContext context, uint encoding)
{
InstCondb28w4Rdb12w4Imm12b0w12 inst = new(encoding);
InstEmitAlu.Adr(context, inst.Rd, ImmUtils.ExpandImm(inst.Imm12), true);
}
public static void AdrA2(CodeGenContext context, uint encoding)
{
InstCondb28w4Rdb12w4Imm12b0w12 inst = new(encoding);
InstEmitAlu.Adr(context, inst.Rd, ImmUtils.ExpandImm(inst.Imm12), false);
}
public static void AdrT1(CodeGenContext context, uint encoding)
{
InstRdb24w3Imm8b16w8 inst = new(encoding);
InstEmitAlu.Adr(context, inst.Rd, inst.Imm8 << 2, true);
}
public static void AdrT2(CodeGenContext context, uint encoding)
{
InstIb26w1Imm3b12w3Rdb8w4Imm8b0w8 inst = new(encoding);
InstEmitAlu.Adr(context, inst.Rd, ImmUtils.CombineImmU12(inst.Imm8, inst.Imm3, inst.I), false);
}
public static void AdrT3(CodeGenContext context, uint encoding)
{
InstIb26w1Imm3b12w3Rdb8w4Imm8b0w8 inst = new(encoding);
InstEmitAlu.Adr(context, inst.Rd, ImmUtils.CombineImmU12(inst.Imm8, inst.Imm3, inst.I), true);
}
public static void AesdA1(CodeGenContext context, uint encoding)
{
InstDb22w1Sizeb18w2Vdb12w4Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonCrypto.Aesd(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.Size);
}
public static void AesdT1(CodeGenContext context, uint encoding)
{
InstDb22w1Sizeb18w2Vdb12w4Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonCrypto.Aesd(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.Size);
}
public static void AeseA1(CodeGenContext context, uint encoding)
{
InstDb22w1Sizeb18w2Vdb12w4Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonCrypto.Aese(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.Size);
}
public static void AeseT1(CodeGenContext context, uint encoding)
{
InstDb22w1Sizeb18w2Vdb12w4Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonCrypto.Aese(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.Size);
}
public static void AesimcA1(CodeGenContext context, uint encoding)
{
InstDb22w1Sizeb18w2Vdb12w4Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonCrypto.Aesimc(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.Size);
}
public static void AesimcT1(CodeGenContext context, uint encoding)
{
InstDb22w1Sizeb18w2Vdb12w4Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonCrypto.Aesimc(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.Size);
}
public static void AesmcA1(CodeGenContext context, uint encoding)
{
InstDb22w1Sizeb18w2Vdb12w4Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonCrypto.Aesmc(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.Size);
}
public static void AesmcT1(CodeGenContext context, uint encoding)
{
InstDb22w1Sizeb18w2Vdb12w4Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonCrypto.Aesmc(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.Size);
}
public static void AndIA1(CodeGenContext context, uint encoding)
{
InstCondb28w4Sb20w1Rnb16w4Rdb12w4Imm12b0w12 inst = new(encoding);
InstEmitAlu.AndI(context, inst.Rd, inst.Rn, ImmUtils.ExpandImm(inst.Imm12), ImmUtils.ExpandedImmRotated(inst.Imm12), inst.S != 0);
}
public static void AndIT1(CodeGenContext context, uint encoding)
{
InstIb26w1Sb20w1Rnb16w4Imm3b12w3Rdb8w4Imm8b0w8 inst = new(encoding);
InstEmitAlu.AndI(context, inst.Rd, inst.Rn, ImmUtils.ExpandImm(inst.Imm8, inst.Imm3, inst.I), ImmUtils.ExpandedImmRotated(inst.Imm8, inst.Imm3, inst.I), inst.S != 0);
}
public static void AndRA1(CodeGenContext context, uint encoding)
{
InstCondb28w4Sb20w1Rnb16w4Rdb12w4Imm5b7w5Stypeb5w2Rmb0w4 inst = new(encoding);
InstEmitAlu.AndR(context, inst.Rd, inst.Rn, inst.Rm, inst.Stype, inst.Imm5, inst.S != 0);
}
public static void AndRT1(CodeGenContext context, uint encoding)
{
InstRmb19w3Rdnb16w3 inst = new(encoding);
InstEmitAlu.AndR(context, inst.Rdn, inst.Rdn, inst.Rm, 0, 0, !context.InITBlock);
}
public static void AndRT2(CodeGenContext context, uint encoding)
{
InstSb20w1Rnb16w4Imm3b12w3Rdb8w4Imm2b6w2Stypeb4w2Rmb0w4 inst = new(encoding);
InstEmitAlu.AndR(context, inst.Rd, inst.Rn, inst.Rm, inst.Stype, ImmUtils.CombineImmU5(inst.Imm2, inst.Imm3), inst.S != 0);
}
public static void AndRrA1(CodeGenContext context, uint encoding)
{
InstCondb28w4Sb20w1Rnb16w4Rdb12w4Rsb8w4Stypeb5w2Rmb0w4 inst = new(encoding);
InstEmitAlu.AndRr(context, inst.Rd, inst.Rn, inst.Rm, inst.Stype, inst.Rs, inst.S != 0);
}
public static void BA1(CodeGenContext context, uint encoding)
{
InstCondb28w4Imm24b0w24 inst = new(encoding);
InstEmitFlow.B(context, ImmUtils.ExtractSImm24Times4(inst.Imm24), (ArmCondition)inst.Cond);
}
public static void BT1(CodeGenContext context, uint encoding)
{
InstCondb24w4Imm8b16w8 inst = new(encoding);
InstEmitFlow.B(context, ImmUtils.ExtractT16SImm8Times2(inst.Imm8), (ArmCondition)inst.Cond);
}
public static void BT2(CodeGenContext context, uint encoding)
{
InstImm11b16w11 inst = new(encoding);
InstEmitFlow.B(context, ImmUtils.ExtractT16SImm11Times2(inst.Imm11), ArmCondition.Al);
}
public static void BT3(CodeGenContext context, uint encoding)
{
InstSb26w1Condb22w4Imm6b16w6J1b13w1J2b11w1Imm11b0w11 inst = new(encoding);
InstEmitFlow.B(context, ImmUtils.CombineSImm20Times2(inst.Imm11, inst.Imm6, inst.J1, inst.J2, inst.S), (ArmCondition)inst.Cond);
}
public static void BT4(CodeGenContext context, uint encoding)
{
InstSb26w1Imm10b16w10J1b13w1J2b11w1Imm11b0w11 inst = new(encoding);
InstEmitFlow.B(context, ImmUtils.CombineSImm24Times2(inst.Imm11, inst.Imm10, inst.J1, inst.J2, inst.S), ArmCondition.Al);
}
public static void BfcA1(CodeGenContext context, uint encoding)
{
InstCondb28w4Msbb16w5Rdb12w4Lsbb7w5 inst = new(encoding);
InstEmitBit.Bfc(context, inst.Rd, inst.Lsb, inst.Msb);
}
public static void BfcT1(CodeGenContext context, uint encoding)
{
InstImm3b12w3Rdb8w4Imm2b6w2Msbb0w5 inst = new(encoding);
InstEmitBit.Bfc(context, inst.Rd, ImmUtils.CombineImmU5(inst.Imm2, inst.Imm3), inst.Msb);
}
public static void BfiA1(CodeGenContext context, uint encoding)
{
InstCondb28w4Msbb16w5Rdb12w4Lsbb7w5Rnb0w4 inst = new(encoding);
InstEmitBit.Bfi(context, inst.Rd, inst.Rn, inst.Lsb, inst.Msb);
}
public static void BfiT1(CodeGenContext context, uint encoding)
{
InstRnb16w4Imm3b12w3Rdb8w4Imm2b6w2Msbb0w5 inst = new(encoding);
InstEmitBit.Bfi(context, inst.Rd, inst.Rn, ImmUtils.CombineImmU5(inst.Imm2, inst.Imm3), inst.Msb);
}
public static void BicIA1(CodeGenContext context, uint encoding)
{
InstCondb28w4Sb20w1Rnb16w4Rdb12w4Imm12b0w12 inst = new(encoding);
InstEmitAlu.BicI(context, inst.Rd, inst.Rn, ImmUtils.ExpandImm(inst.Imm12), ImmUtils.ExpandedImmRotated(inst.Imm12), inst.S != 0);
}
public static void BicIT1(CodeGenContext context, uint encoding)
{
InstIb26w1Sb20w1Rnb16w4Imm3b12w3Rdb8w4Imm8b0w8 inst = new(encoding);
InstEmitAlu.BicI(context, inst.Rd, inst.Rn, ImmUtils.ExpandImm(inst.Imm8, inst.Imm3, inst.I), ImmUtils.ExpandedImmRotated(inst.Imm8, inst.Imm3, inst.I), inst.S != 0);
}
public static void BicRA1(CodeGenContext context, uint encoding)
{
InstCondb28w4Sb20w1Rnb16w4Rdb12w4Imm5b7w5Stypeb5w2Rmb0w4 inst = new(encoding);
InstEmitAlu.BicR(context, inst.Rd, inst.Rn, inst.Rm, inst.Stype, inst.Imm5, inst.S != 0);
}
public static void BicRT1(CodeGenContext context, uint encoding)
{
InstRmb19w3Rdnb16w3 inst = new(encoding);
InstEmitAlu.BicR(context, inst.Rdn, inst.Rdn, inst.Rm, 0, 0, !context.InITBlock);
}
public static void BicRT2(CodeGenContext context, uint encoding)
{
InstSb20w1Rnb16w4Imm3b12w3Rdb8w4Imm2b6w2Stypeb4w2Rmb0w4 inst = new(encoding);
InstEmitAlu.BicR(context, inst.Rd, inst.Rn, inst.Rm, inst.Stype, ImmUtils.CombineImmU5(inst.Imm2, inst.Imm3), inst.S != 0);
}
public static void BicRrA1(CodeGenContext context, uint encoding)
{
InstCondb28w4Sb20w1Rnb16w4Rdb12w4Rsb8w4Stypeb5w2Rmb0w4 inst = new(encoding);
InstEmitAlu.BicRr(context, inst.Rd, inst.Rn, inst.Rm, inst.Stype, inst.Rs, inst.S != 0);
}
public static void BkptA1(CodeGenContext context, uint encoding)
{
InstCondb28w4Imm12b8w12Imm4b0w4 inst = new(encoding);
InstEmitSystem.Bkpt(context, ImmUtils.CombineImmU16(inst.Imm12, inst.Imm4));
}
public static void BkptT1(CodeGenContext context, uint encoding)
{
InstImm8b16w8 inst = new(encoding);
InstEmitSystem.Bkpt(context, inst.Imm8);
}
public static void BlxRA1(CodeGenContext context, uint encoding)
{
InstCondb28w4Rmb0w4 inst = new(encoding);
InstEmitFlow.Blx(context, inst.Rm, false);
}
public static void BlxRT1(CodeGenContext context, uint encoding)
{
InstRmb19w4 inst = new(encoding);
InstEmitFlow.Blx(context, inst.Rm, true);
}
public static void BlIA1(CodeGenContext context, uint encoding)
{
InstCondb28w4Imm24b0w24 inst = new(encoding);
InstEmitFlow.Bl(context, ImmUtils.ExtractSImm24Times4(inst.Imm24), false, false);
}
public static void BlIA2(CodeGenContext context, uint encoding)
{
InstHb24w1Imm24b0w24 inst = new(encoding);
InstEmitFlow.Bl(context, ImmUtils.ExtractSImm24Times4(inst.Imm24) | ((int)inst.H << 1), false, true);
}
public static void BlIT1(CodeGenContext context, uint encoding)
{
InstSb26w1Imm10b16w10J1b13w1J2b11w1Imm11b0w11 inst = new(encoding);
InstEmitFlow.Bl(context, ImmUtils.CombineSImm24Times2(inst.Imm11, inst.Imm10, inst.J1, inst.J2, inst.S), true, true);
}
public static void BlIT2(CodeGenContext context, uint encoding)
{
InstSb26w1Imm10hb16w10J1b13w1J2b11w1Imm10lb1w10Hb0w1 inst = new(encoding);
InstEmitFlow.Bl(context, ImmUtils.CombineSImm24Times4(inst.Imm10l, inst.Imm10h, inst.J1, inst.J2, inst.S), true, false);
}
public static void BxA1(CodeGenContext context, uint encoding)
{
InstCondb28w4Rmb0w4 inst = new(encoding);
InstEmitFlow.Bx(context, inst.Rm);
}
public static void BxT1(CodeGenContext context, uint encoding)
{
InstRmb19w4 inst = new(encoding);
InstEmitFlow.Bx(context, inst.Rm);
}
public static void BxjA1(CodeGenContext context, uint encoding)
{
InstCondb28w4Rmb0w4 inst = new(encoding);
InstEmitFlow.Bx(context, inst.Rm);
}
public static void BxjT1(CodeGenContext context, uint encoding)
{
InstRmb16w4 inst = new(encoding);
InstEmitFlow.Bx(context, inst.Rm);
}
public static void CbnzT1(CodeGenContext context, uint encoding)
{
InstOpb27w1Ib25w1Imm5b19w5Rnb16w3 inst = new(encoding);
InstEmitFlow.Cbnz(context, inst.Rn, (int)((inst.Imm5 << 1) | (inst.I << 6)), inst.Op != 0);
}
public static void ClrbhbA1(CodeGenContext context, uint encoding)
{
_ = new InstCondb28w4(encoding);
throw new NotImplementedException();
}
public static void ClrbhbT1(CodeGenContext context, uint encoding)
{
throw new NotImplementedException();
}
public static void ClrexA1(CodeGenContext context, uint encoding)
{
context.Arm64Assembler.Clrex();
}
public static void ClrexT1(CodeGenContext context, uint encoding)
{
context.Arm64Assembler.Clrex();
}
public static void ClzA1(CodeGenContext context, uint encoding)
{
InstCondb28w4Rdb12w4Rmb0w4 inst = new(encoding);
InstEmitBit.Clz(context, inst.Rd, inst.Rm);
}
public static void ClzT1(CodeGenContext context, uint encoding)
{
InstRnb16w4Rdb8w4Rmb0w4 inst = new(encoding);
InstEmitBit.Clz(context, inst.Rd, inst.Rm);
}
public static void CmnIA1(CodeGenContext context, uint encoding)
{
InstCondb28w4Rnb16w4Imm12b0w12 inst = new(encoding);
InstEmitAlu.CmnI(context, inst.Rn, ImmUtils.ExpandImm(inst.Imm12));
}
public static void CmnIT1(CodeGenContext context, uint encoding)
{
InstIb26w1Rnb16w4Imm3b12w3Imm8b0w8 inst = new(encoding);
InstEmitAlu.CmnI(context, inst.Rn, ImmUtils.ExpandImm(inst.Imm8, inst.Imm3, inst.I));
}
public static void CmnRA1(CodeGenContext context, uint encoding)
{
InstCondb28w4Rnb16w4Imm5b7w5Stypeb5w2Rmb0w4 inst = new(encoding);
InstEmitAlu.CmnR(context, inst.Rn, inst.Rm, inst.Stype, inst.Imm5);
}
public static void CmnRT1(CodeGenContext context, uint encoding)
{
InstRmb19w3Rnb16w3 inst = new(encoding);
InstEmitAlu.CmnR(context, inst.Rn, inst.Rm, 0, 0);
}
public static void CmnRT2(CodeGenContext context, uint encoding)
{
InstRnb16w4Imm3b12w3Imm2b6w2Stypeb4w2Rmb0w4 inst = new(encoding);
InstEmitAlu.CmnR(context, inst.Rn, inst.Rm, inst.Stype, ImmUtils.CombineImmU5(inst.Imm2, inst.Imm3));
}
public static void CmnRrA1(CodeGenContext context, uint encoding)
{
InstCondb28w4Rnb16w4Rsb8w4Stypeb5w2Rmb0w4 inst = new(encoding);
InstEmitAlu.CmnRr(context, inst.Rn, inst.Rm, inst.Stype, inst.Rs);
}
public static void CmpIA1(CodeGenContext context, uint encoding)
{
InstCondb28w4Rnb16w4Imm12b0w12 inst = new(encoding);
InstEmitAlu.CmpI(context, inst.Rn, ImmUtils.ExpandImm(inst.Imm12));
}
public static void CmpIT1(CodeGenContext context, uint encoding)
{
InstRnb24w3Imm8b16w8 inst = new(encoding);
InstEmitAlu.CmpI(context, inst.Rn, inst.Imm8);
}
public static void CmpIT2(CodeGenContext context, uint encoding)
{
InstIb26w1Rnb16w4Imm3b12w3Imm8b0w8 inst = new(encoding);
InstEmitAlu.CmpI(context, inst.Rn, ImmUtils.ExpandImm(inst.Imm8, inst.Imm3, inst.I));
}
public static void CmpRA1(CodeGenContext context, uint encoding)
{
InstCondb28w4Rnb16w4Imm5b7w5Stypeb5w2Rmb0w4 inst = new(encoding);
InstEmitAlu.CmpR(context, inst.Rn, inst.Rm, inst.Stype, inst.Imm5);
}
public static void CmpRT1(CodeGenContext context, uint encoding)
{
InstRmb19w3Rnb16w3 inst = new(encoding);
InstEmitAlu.CmpR(context, inst.Rn, inst.Rm, 0, 0);
}
public static void CmpRT2(CodeGenContext context, uint encoding)
{
InstNb23w1Rmb19w4Rnb16w3 inst = new(encoding);
InstEmitAlu.CmpR(context, inst.Rn | (inst.N << 3), inst.Rm, 0, 0);
}
public static void CmpRT3(CodeGenContext context, uint encoding)
{
InstRnb16w4Imm3b12w3Imm2b6w2Stypeb4w2Rmb0w4 inst = new(encoding);
InstEmitAlu.CmpR(context, inst.Rn, inst.Rm, inst.Stype, ImmUtils.CombineImmU5(inst.Imm2, inst.Imm3));
}
public static void CmpRrA1(CodeGenContext context, uint encoding)
{
InstCondb28w4Rnb16w4Rsb8w4Stypeb5w2Rmb0w4 inst = new(encoding);
InstEmitAlu.CmpRr(context, inst.Rn, inst.Rm, inst.Stype, inst.Rs);
}
public static void CpsA1(CodeGenContext context, uint encoding)
{
InstImodb18w2Mb17w1Ab8w1Ib7w1Fb6w1Modeb0w5 inst = new(encoding);
InstEmitSystem.Cps(context, inst.Imod, inst.M, inst.A, inst.I, inst.F, inst.Mode);
}
public static void CpsT1(CodeGenContext context, uint encoding)
{
InstImb20w1Ab18w1Ib17w1Fb16w1 inst = new(encoding);
InstEmitSystem.Cps(context, inst.Im, 0, inst.A, inst.I, inst.F, 0);
}
public static void CpsT2(CodeGenContext context, uint encoding)
{
InstImodb9w2Mb8w1Ab7w1Ib6w1Fb5w1Modeb0w5 inst = new(encoding);
InstEmitSystem.Cps(context, inst.Imod, inst.M, inst.A, inst.I, inst.F, inst.Mode);
}
public static void Crc32A1(CodeGenContext context, uint encoding)
{
InstCondb28w4Szb21w2Rnb16w4Rdb12w4Rmb0w4 inst = new(encoding);
InstEmitCrc32.Crc32(context, inst.Rd, inst.Rn, inst.Rm, inst.Sz);
}
public static void Crc32T1(CodeGenContext context, uint encoding)
{
InstRnb16w4Rdb8w4Szb4w2Rmb0w4 inst = new(encoding);
InstEmitCrc32.Crc32(context, inst.Rd, inst.Rn, inst.Rm, inst.Sz);
}
public static void Crc32cA1(CodeGenContext context, uint encoding)
{
InstCondb28w4Szb21w2Rnb16w4Rdb12w4Rmb0w4 inst = new(encoding);
InstEmitCrc32.Crc32c(context, inst.Rd, inst.Rn, inst.Rm, inst.Sz);
}
public static void Crc32cT1(CodeGenContext context, uint encoding)
{
InstRnb16w4Rdb8w4Szb4w2Rmb0w4 inst = new(encoding);
InstEmitCrc32.Crc32c(context, inst.Rd, inst.Rn, inst.Rm, inst.Sz);
}
public static void CsdbA1(CodeGenContext context, uint encoding)
{
context.Arm64Assembler.Csdb();
}
public static void CsdbT1(CodeGenContext context, uint encoding)
{
context.Arm64Assembler.Csdb();
}
public static void DbgA1(CodeGenContext context, uint encoding)
{
InstCondb28w4Optionb0w4 inst = new(encoding);
InstEmitSystem.Dbg(context, inst.Option);
}
public static void DbgT1(CodeGenContext context, uint encoding)
{
InstOptionb0w4 inst = new(encoding);
InstEmitSystem.Dbg(context, inst.Option);
}
public static void Dcps1T1(CodeGenContext context, uint encoding)
{
InstEmitSystem.PrivilegedInstruction(context, encoding);
}
public static void Dcps2T1(CodeGenContext context, uint encoding)
{
InstEmitSystem.PrivilegedInstruction(context, encoding);
}
public static void Dcps3T1(CodeGenContext context, uint encoding)
{
InstEmitSystem.PrivilegedInstruction(context, encoding);
}
public static void DmbA1(CodeGenContext context, uint encoding)
{
InstOptionb0w4 inst = new(encoding);
context.Arm64Assembler.Dmb(inst.Option);
}
public static void DmbT1(CodeGenContext context, uint encoding)
{
InstOptionb0w4 inst = new(encoding);
context.Arm64Assembler.Dmb(inst.Option);
}
public static void DsbA1(CodeGenContext context, uint encoding)
{
InstOptionb0w4 inst = new(encoding);
context.Arm64Assembler.Dsb(inst.Option);
}
public static void DsbT1(CodeGenContext context, uint encoding)
{
InstOptionb0w4 inst = new(encoding);
context.Arm64Assembler.Dsb(inst.Option);
}
public static void EorIA1(CodeGenContext context, uint encoding)
{
InstCondb28w4Sb20w1Rnb16w4Rdb12w4Imm12b0w12 inst = new(encoding);
InstEmitAlu.EorI(context, inst.Rd, inst.Rn, ImmUtils.ExpandImm(inst.Imm12), ImmUtils.ExpandedImmRotated(inst.Imm12), inst.S != 0);
}
public static void EorIT1(CodeGenContext context, uint encoding)
{
InstIb26w1Sb20w1Rnb16w4Imm3b12w3Rdb8w4Imm8b0w8 inst = new(encoding);
InstEmitAlu.EorI(context, inst.Rd, inst.Rn, ImmUtils.ExpandImm(inst.Imm8, inst.Imm3, inst.I), ImmUtils.ExpandedImmRotated(inst.Imm8, inst.Imm3, inst.I), inst.S != 0);
}
public static void EorRA1(CodeGenContext context, uint encoding)
{
InstCondb28w4Sb20w1Rnb16w4Rdb12w4Imm5b7w5Stypeb5w2Rmb0w4 inst = new(encoding);
InstEmitAlu.EorR(context, inst.Rd, inst.Rn, inst.Rm, inst.Stype, inst.Imm5, inst.S != 0);
}
public static void EorRT1(CodeGenContext context, uint encoding)
{
InstRmb19w3Rdnb16w3 inst = new(encoding);
InstEmitAlu.EorR(context, inst.Rdn, inst.Rdn, inst.Rm, 0, 0, !context.InITBlock);
}
public static void EorRT2(CodeGenContext context, uint encoding)
{
InstSb20w1Rnb16w4Imm3b12w3Rdb8w4Imm2b6w2Stypeb4w2Rmb0w4 inst = new(encoding);
InstEmitAlu.EorR(context, inst.Rd, inst.Rn, inst.Rm, inst.Stype, ImmUtils.CombineImmU5(inst.Imm2, inst.Imm3), inst.S != 0);
}
public static void EorRrA1(CodeGenContext context, uint encoding)
{
InstCondb28w4Sb20w1Rnb16w4Rdb12w4Rsb8w4Stypeb5w2Rmb0w4 inst = new(encoding);
InstEmitAlu.EorRr(context, inst.Rd, inst.Rn, inst.Rm, inst.Stype, inst.Rs, inst.S != 0);
}
public static void EretA1(CodeGenContext context, uint encoding)
{
InstEmitSystem.PrivilegedInstruction(context, encoding);
}
public static void EretT1(CodeGenContext context, uint encoding)
{
InstEmitSystem.PrivilegedInstruction(context, encoding);
}
public static void EsbA1(CodeGenContext context, uint encoding)
{
context.Arm64Assembler.Esb();
}
public static void EsbT1(CodeGenContext context, uint encoding)
{
context.Arm64Assembler.Esb();
}
public static void FldmxA1(CodeGenContext context, uint encoding)
{
InstCondb28w4Pb24w1Ub23w1Db22w1Wb21w1Rnb16w4Vdb12w4Imm871b1w7 inst = new(encoding);
InstEmitNeonMemory.Vldm(context, InstEmitCommon.CombineV(inst.Vd, inst.D), inst.Rn, inst.Imm871, inst.U != 0, inst.W != 0, singleRegs: false);
}
public static void FldmxT1(CodeGenContext context, uint encoding)
{
InstPb24w1Ub23w1Db22w1Wb21w1Rnb16w4Vdb12w4Imm871b1w7 inst = new(encoding);
InstEmitNeonMemory.Vldm(context, InstEmitCommon.CombineV(inst.Vd, inst.D), inst.Rn, inst.Imm871, inst.U != 0, inst.W != 0, singleRegs: false);
}
public static void FstmxA1(CodeGenContext context, uint encoding)
{
InstCondb28w4Pb24w1Ub23w1Db22w1Wb21w1Rnb16w4Vdb12w4Imm871b1w7 inst = new(encoding);
InstEmitNeonMemory.Vstm(context, InstEmitCommon.CombineV(inst.Vd, inst.D), inst.Rn, inst.Imm871, inst.U != 0, inst.W != 0, singleRegs: false);
}
public static void FstmxT1(CodeGenContext context, uint encoding)
{
InstPb24w1Ub23w1Db22w1Wb21w1Rnb16w4Vdb12w4Imm871b1w7 inst = new(encoding);
InstEmitNeonMemory.Vstm(context, InstEmitCommon.CombineV(inst.Vd, inst.D), inst.Rn, inst.Imm871, inst.U != 0, inst.W != 0, singleRegs: false);
}
public static void HltA1(CodeGenContext context, uint encoding)
{
InstCondb28w4Imm12b8w12Imm4b0w4 inst = new(encoding);
InstEmitSystem.Hlt(context, ImmUtils.CombineImmU16(inst.Imm12, inst.Imm4));
}
public static void HltT1(CodeGenContext context, uint encoding)
{
InstImm6b16w6 inst = new(encoding);
InstEmitSystem.Hlt(context, inst.Imm6);
}
public static void HvcA1(CodeGenContext context, uint encoding)
{
InstEmitSystem.PrivilegedInstruction(context, encoding);
}
public static void HvcT1(CodeGenContext context, uint encoding)
{
InstEmitSystem.PrivilegedInstruction(context, encoding);
}
public static void IsbA1(CodeGenContext context, uint encoding)
{
InstOptionb0w4 inst = new(encoding);
context.Arm64Assembler.Isb(inst.Option);
}
public static void IsbT1(CodeGenContext context, uint encoding)
{
InstOptionb0w4 inst = new(encoding);
context.Arm64Assembler.Isb(inst.Option);
}
public static void ItT1(CodeGenContext context, uint encoding)
{
InstFirstcondb20w4Maskb16w4 inst = new(encoding);
InstEmitFlow.It(context, inst.Firstcond, inst.Mask);
}
public static void LdaA1(CodeGenContext context, uint encoding)
{
InstCondb28w4Rnb16w4Rtb12w4 inst = new(encoding);
InstEmitMemory.Lda(context, inst.Rt, inst.Rn);
}
public static void LdaT1(CodeGenContext context, uint encoding)
{
InstRnb16w4Rtb12w4 inst = new(encoding);
InstEmitMemory.Lda(context, inst.Rt, inst.Rn);
}
public static void LdabA1(CodeGenContext context, uint encoding)
{
InstCondb28w4Rnb16w4Rtb12w4 inst = new(encoding);
InstEmitMemory.Ldab(context, inst.Rt, inst.Rn);
}
public static void LdabT1(CodeGenContext context, uint encoding)
{
InstRnb16w4Rtb12w4 inst = new(encoding);
InstEmitMemory.Ldab(context, inst.Rt, inst.Rn);
}
public static void LdaexA1(CodeGenContext context, uint encoding)
{
InstCondb28w4Rnb16w4Rtb12w4 inst = new(encoding);
InstEmitMemory.Ldaex(context, inst.Rt, inst.Rn);
}
public static void LdaexT1(CodeGenContext context, uint encoding)
{
InstRnb16w4Rtb12w4 inst = new(encoding);
InstEmitMemory.Ldaex(context, inst.Rt, inst.Rn);
}
public static void LdaexbA1(CodeGenContext context, uint encoding)
{
InstCondb28w4Rnb16w4Rtb12w4 inst = new(encoding);
InstEmitMemory.Ldaexb(context, inst.Rt, inst.Rn);
}
public static void LdaexbT1(CodeGenContext context, uint encoding)
{
InstRnb16w4Rtb12w4 inst = new(encoding);
InstEmitMemory.Ldaexb(context, inst.Rt, inst.Rn);
}
public static void LdaexdA1(CodeGenContext context, uint encoding)
{
InstCondb28w4Rnb16w4Rtb12w4 inst = new(encoding);
InstEmitMemory.Ldaexd(context, inst.Rt, RegisterUtils.GetRt2(inst.Rt), inst.Rn);
}
public static void LdaexdT1(CodeGenContext context, uint encoding)
{
InstRnb16w4Rtb12w4Rt2b8w4 inst = new(encoding);
InstEmitMemory.Ldaexd(context, inst.Rt, inst.Rt2, inst.Rn);
}
public static void LdaexhA1(CodeGenContext context, uint encoding)
{
InstCondb28w4Rnb16w4Rtb12w4 inst = new(encoding);
InstEmitMemory.Ldaexh(context, inst.Rt, inst.Rn);
}
public static void LdaexhT1(CodeGenContext context, uint encoding)
{
InstRnb16w4Rtb12w4 inst = new(encoding);
InstEmitMemory.Ldaexh(context, inst.Rt, inst.Rn);
}
public static void LdahA1(CodeGenContext context, uint encoding)
{
InstCondb28w4Rnb16w4Rtb12w4 inst = new(encoding);
InstEmitMemory.Ldah(context, inst.Rt, inst.Rn);
}
public static void LdahT1(CodeGenContext context, uint encoding)
{
InstRnb16w4Rtb12w4 inst = new(encoding);
InstEmitMemory.Ldah(context, inst.Rt, inst.Rn);
}
public static void LdcIA1(CodeGenContext context, uint encoding)
{
InstCondb28w4Pb24w1Ub23w1Wb21w1Rnb16w4Imm8b0w8 inst = new(encoding);
InstEmitMemory.LdcI(context, inst.Rn, (int)inst.Imm8 << 2, inst.P != 0, inst.U != 0, inst.W != 0);
}
public static void LdcIT1(CodeGenContext context, uint encoding)
{
InstPb24w1Ub23w1Wb21w1Rnb16w4Imm8b0w8 inst = new(encoding);
InstEmitMemory.LdcI(context, inst.Rn, (int)inst.Imm8 << 2, inst.P != 0, inst.U != 0, inst.W != 0);
}
public static void LdcLA1(CodeGenContext context, uint encoding)
{
InstCondb28w4Pb24w1Ub23w1Wb21w1Imm8b0w8 inst = new(encoding);
InstEmitMemory.LdcL(context, inst.Imm8 << 2, inst.P != 0, inst.U != 0, inst.W != 0);
}
public static void LdcLT1(CodeGenContext context, uint encoding)
{
InstPb24w1Ub23w1Wb21w1Imm8b0w8 inst = new(encoding);
InstEmitMemory.LdcL(context, inst.Imm8 << 2, inst.P != 0, inst.U != 0, inst.W != 0);
}
public static void LdmA1(CodeGenContext context, uint encoding)
{
InstCondb28w4Wb21w1Rnb16w4RegisterListb0w16 inst = new(encoding);
InstEmitMemory.Ldm(context, inst.Rn, inst.RegisterList, inst.W != 0);
}
public static void LdmT1(CodeGenContext context, uint encoding)
{
InstRnb24w3RegisterListb16w8 inst = new(encoding);
InstEmitMemory.Ldm(context, inst.Rn, inst.RegisterList, false);
}
public static void LdmT2(CodeGenContext context, uint encoding)
{
InstWb21w1Rnb16w4Pb15w1Mb14w1RegisterListb0w14 inst = new(encoding);
InstEmitMemory.Ldm(context, inst.Rn, ImmUtils.CombineRegisterList(inst.RegisterList, inst.M, inst.P), inst.W != 0);
}
public static void LdmdaA1(CodeGenContext context, uint encoding)
{
InstCondb28w4Wb21w1Rnb16w4RegisterListb0w16 inst = new(encoding);
InstEmitMemory.Ldmda(context, inst.Rn, inst.RegisterList, inst.W != 0);
}
public static void LdmdbA1(CodeGenContext context, uint encoding)
{
InstCondb28w4Wb21w1Rnb16w4RegisterListb0w16 inst = new(encoding);
InstEmitMemory.Ldmdb(context, inst.Rn, inst.RegisterList, inst.W != 0);
}
public static void LdmdbT1(CodeGenContext context, uint encoding)
{
InstWb21w1Rnb16w4Pb15w1Mb14w1RegisterListb0w14 inst = new(encoding);
InstEmitMemory.Ldmdb(context, inst.Rn, ImmUtils.CombineRegisterList(inst.RegisterList, inst.M, inst.P), inst.W != 0);
}
public static void LdmibA1(CodeGenContext context, uint encoding)
{
InstCondb28w4Wb21w1Rnb16w4RegisterListb0w16 inst = new(encoding);
InstEmitMemory.Ldmib(context, inst.Rn, inst.RegisterList, inst.W != 0);
}
public static void LdmEA1(CodeGenContext context, uint encoding)
{
InstEmitSystem.PrivilegedInstruction(context, encoding);
}
public static void LdmUA1(CodeGenContext context, uint encoding)
{
InstEmitSystem.PrivilegedInstruction(context, encoding);
}
public static void LdrbtA1(CodeGenContext context, uint encoding)
{
InstCondb28w4Ub23w1Rnb16w4Rtb12w4Imm12b0w12 inst = new(encoding);
InstEmitMemory.LdrbtI(context, inst.Rt, inst.Rn, (int)inst.Imm12, postIndex: true, inst.U != 0);
}
public static void LdrbtA2(CodeGenContext context, uint encoding)
{
InstCondb28w4Ub23w1Rnb16w4Rtb12w4Imm5b7w5Stypeb5w2Rmb0w4 inst = new(encoding);
InstEmitMemory.LdrbtR(context, inst.Rt, inst.Rn, inst.Rm, inst.Stype, inst.Imm5, postIndex: true, inst.U != 0);
}
public static void LdrbtT1(CodeGenContext context, uint encoding)
{
InstRnb16w4Rtb12w4Imm8b0w8 inst = new(encoding);
InstEmitMemory.LdrbtI(context, inst.Rt, inst.Rn, (int)inst.Imm8, postIndex: false, true);
}
public static void LdrbIA1(CodeGenContext context, uint encoding)
{
InstCondb28w4Pb24w1Ub23w1Wb21w1Rnb16w4Rtb12w4Imm12b0w12 inst = new(encoding);
InstEmitMemory.LdrbI(context, inst.Rt, inst.Rn, (int)inst.Imm12, inst.P != 0, inst.U != 0, inst.W != 0);
}
public static void LdrbIT1(CodeGenContext context, uint encoding)
{
InstImm5b22w5Rnb19w3Rtb16w3 inst = new(encoding);
InstEmitMemory.LdrbI(context, inst.Rt, inst.Rn, (int)inst.Imm5, true, true, false);
}
public static void LdrbIT2(CodeGenContext context, uint encoding)
{
InstRnb16w4Rtb12w4Imm12b0w12 inst = new(encoding);
InstEmitMemory.LdrbI(context, inst.Rt, inst.Rn, (int)inst.Imm12, true, true, false);
}
public static void LdrbIT3(CodeGenContext context, uint encoding)
{
InstRnb16w4Rtb12w4Pb10w1Ub9w1Wb8w1Imm8b0w8 inst = new(encoding);
InstEmitMemory.LdrbI(context, inst.Rt, inst.Rn, (int)inst.Imm8, inst.P != 0, inst.U != 0, inst.W != 0);
}
public static void LdrbLA1(CodeGenContext context, uint encoding)
{
InstCondb28w4Pb24w1Ub23w1Wb21w1Rtb12w4Imm12b0w12 inst = new(encoding);
InstEmitMemory.LdrbL(context, inst.Rt, inst.Imm12, inst.P != 0, inst.U != 0, inst.W != 0);
}
public static void LdrbLT1(CodeGenContext context, uint encoding)
{
InstUb23w1Rtb12w4Imm12b0w12 inst = new(encoding);
InstEmitMemory.LdrbL(context, inst.Rt, inst.Imm12, true, inst.U != 0, false);
}
public static void LdrbRA1(CodeGenContext context, uint encoding)
{
InstCondb28w4Pb24w1Ub23w1Wb21w1Rnb16w4Rtb12w4Imm5b7w5Stypeb5w2Rmb0w4 inst = new(encoding);
InstEmitMemory.LdrbR(context, inst.Rt, inst.Rn, inst.Rm, inst.Stype, inst.Imm5, inst.P != 0, inst.U != 0, inst.W != 0);
}
public static void LdrbRT1(CodeGenContext context, uint encoding)
{
InstRmb22w3Rnb19w3Rtb16w3 inst = new(encoding);
InstEmitMemory.LdrbR(context, inst.Rt, inst.Rn, inst.Rm, 0, 0, true, true, false);
}
public static void LdrbRT2(CodeGenContext context, uint encoding)
{
InstRnb16w4Rtb12w4Imm2b4w2Rmb0w4 inst = new(encoding);
InstEmitMemory.LdrbR(context, inst.Rt, inst.Rn, inst.Rm, 0, inst.Imm2, true, true, false);
}
public static void LdrdIA1(CodeGenContext context, uint encoding)
{
InstCondb28w4Pb24w1Ub23w1Wb21w1Rnb16w4Rtb12w4Imm4hb8w4Imm4lb0w4 inst = new(encoding);
InstEmitMemory.LdrdI(context, inst.Rt, RegisterUtils.GetRt2(inst.Rt), inst.Rn, ImmUtils.CombineImmU8(inst.Imm4l, inst.Imm4h), inst.P != 0, inst.U != 0, inst.W != 0);
}
public static void LdrdIT1(CodeGenContext context, uint encoding)
{
InstPb24w1Ub23w1Wb21w1Rnb16w4Rtb12w4Rt2b8w4Imm8b0w8 inst = new(encoding);
InstEmitMemory.LdrdI(context, inst.Rt, inst.Rt2, inst.Rn, inst.Imm8 << 2, inst.P != 0, inst.U != 0, inst.W != 0);
}
public static void LdrdLA1(CodeGenContext context, uint encoding)
{
InstCondb28w4Ub23w1Rtb12w4Imm4hb8w4Imm4lb0w4 inst = new(encoding);
InstEmitMemory.LdrdL(context, inst.Rt, RegisterUtils.GetRt2(inst.Rt), ImmUtils.CombineImmU8(inst.Imm4l, inst.Imm4h), true, inst.U != 0, false);
}
public static void LdrdLT1(CodeGenContext context, uint encoding)
{
InstPb24w1Ub23w1Wb21w1Rtb12w4Rt2b8w4Imm8b0w8 inst = new(encoding);
InstEmitMemory.LdrdL(context, inst.Rt, inst.Rt2, inst.Imm8, inst.P != 0, inst.U != 0, inst.W != 0);
}
public static void LdrdRA1(CodeGenContext context, uint encoding)
{
InstCondb28w4Pb24w1Ub23w1Wb21w1Rnb16w4Rtb12w4Rmb0w4 inst = new(encoding);
InstEmitMemory.LdrdR(context, inst.Rt, RegisterUtils.GetRt2(inst.Rt), inst.Rn, inst.Rm, inst.P != 0, inst.U != 0, inst.W != 0);
}
public static void LdrexA1(CodeGenContext context, uint encoding)
{
InstCondb28w4Rnb16w4Rtb12w4 inst = new(encoding);
InstEmitMemory.Ldrex(context, inst.Rt, inst.Rn);
}
public static void LdrexT1(CodeGenContext context, uint encoding)
{
InstRnb16w4Rtb12w4Imm8b0w8 inst = new(encoding);
InstEmitMemory.Ldrex(context, inst.Rt, inst.Rn);
}
public static void LdrexbA1(CodeGenContext context, uint encoding)
{
InstCondb28w4Rnb16w4Rtb12w4 inst = new(encoding);
InstEmitMemory.Ldrexb(context, inst.Rt, inst.Rn);
}
public static void LdrexbT1(CodeGenContext context, uint encoding)
{
InstRnb16w4Rtb12w4 inst = new(encoding);
InstEmitMemory.Ldrexb(context, inst.Rt, inst.Rn);
}
public static void LdrexdA1(CodeGenContext context, uint encoding)
{
InstCondb28w4Rnb16w4Rtb12w4 inst = new(encoding);
InstEmitMemory.Ldrexd(context, inst.Rt, RegisterUtils.GetRt2(inst.Rt), inst.Rn);
}
public static void LdrexdT1(CodeGenContext context, uint encoding)
{
InstRnb16w4Rtb12w4Rt2b8w4 inst = new(encoding);
InstEmitMemory.Ldrexd(context, inst.Rt, inst.Rt2, inst.Rn);
}
public static void LdrexhA1(CodeGenContext context, uint encoding)
{
InstCondb28w4Rnb16w4Rtb12w4 inst = new(encoding);
InstEmitMemory.Ldrexh(context, inst.Rt, inst.Rn);
}
public static void LdrexhT1(CodeGenContext context, uint encoding)
{
InstRnb16w4Rtb12w4 inst = new(encoding);
InstEmitMemory.Ldrexh(context, inst.Rt, inst.Rn);
}
public static void LdrhtA1(CodeGenContext context, uint encoding)
{
InstCondb28w4Ub23w1Rnb16w4Rtb12w4Imm4hb8w4Imm4lb0w4 inst = new(encoding);
InstEmitMemory.LdrhtI(context, inst.Rt, inst.Rn, (int)ImmUtils.CombineImmU8(inst.Imm4l, inst.Imm4h), postIndex: true, inst.U != 0);
}
public static void LdrhtA2(CodeGenContext context, uint encoding)
{
InstCondb28w4Ub23w1Rnb16w4Rtb12w4Rmb0w4 inst = new(encoding);
InstEmitMemory.LdrhtR(context, inst.Rt, inst.Rn, inst.Rm, postIndex: true, inst.U != 0);
}
public static void LdrhtT1(CodeGenContext context, uint encoding)
{
InstRnb16w4Rtb12w4Imm8b0w8 inst = new(encoding);
InstEmitMemory.LdrhtI(context, inst.Rt, inst.Rn, (int)inst.Imm8, postIndex: false, true);
}
public static void LdrhIA1(CodeGenContext context, uint encoding)
{
InstCondb28w4Pb24w1Ub23w1Wb21w1Rnb16w4Rtb12w4Imm4hb8w4Imm4lb0w4 inst = new(encoding);
InstEmitMemory.LdrhI(context, inst.Rt, inst.Rn, (int)ImmUtils.CombineImmU8(inst.Imm4l, inst.Imm4h), inst.P != 0, inst.U != 0, inst.W != 0);
}
public static void LdrhIT1(CodeGenContext context, uint encoding)
{
InstImm5b22w5Rnb19w3Rtb16w3 inst = new(encoding);
InstEmitMemory.LdrhI(context, inst.Rt, inst.Rn, (int)inst.Imm5 << 1, true, true, false);
}
public static void LdrhIT2(CodeGenContext context, uint encoding)
{
InstRnb16w4Rtb12w4Imm12b0w12 inst = new(encoding);
InstEmitMemory.LdrhI(context, inst.Rt, inst.Rn, (int)inst.Imm12, true, true, false);
}
public static void LdrhIT3(CodeGenContext context, uint encoding)
{
InstRnb16w4Rtb12w4Pb10w1Ub9w1Wb8w1Imm8b0w8 inst = new(encoding);
InstEmitMemory.LdrhI(context, inst.Rt, inst.Rn, (int)inst.Imm8, inst.P != 0, inst.U != 0, inst.W != 0);
}
public static void LdrhLA1(CodeGenContext context, uint encoding)
{
InstCondb28w4Pb24w1Ub23w1Wb21w1Rtb12w4Imm4hb8w4Imm4lb0w4 inst = new(encoding);
InstEmitMemory.LdrhL(context, inst.Rt, ImmUtils.CombineImmU8(inst.Imm4l, inst.Imm4h), inst.P != 0, inst.U != 0, inst.W != 0);
}
public static void LdrhLT1(CodeGenContext context, uint encoding)
{
InstUb23w1Rtb12w4Imm12b0w12 inst = new(encoding);
InstEmitMemory.LdrhL(context, inst.Rt, inst.Imm12, true, inst.U != 0, false);
}
public static void LdrhRA1(CodeGenContext context, uint encoding)
{
InstCondb28w4Pb24w1Ub23w1Wb21w1Rnb16w4Rtb12w4Rmb0w4 inst = new(encoding);
InstEmitMemory.LdrhR(context, inst.Rt, inst.Rn, inst.Rm, 0, 0, inst.P != 0, inst.U != 0, inst.W != 0);
}
public static void LdrhRT1(CodeGenContext context, uint encoding)
{
InstRmb22w3Rnb19w3Rtb16w3 inst = new(encoding);
InstEmitMemory.LdrhR(context, inst.Rt, inst.Rn, inst.Rm, 0, 0, true, true, false);
}
public static void LdrhRT2(CodeGenContext context, uint encoding)
{
InstRnb16w4Rtb12w4Imm2b4w2Rmb0w4 inst = new(encoding);
InstEmitMemory.LdrhR(context, inst.Rt, inst.Rn, inst.Rm, 0, inst.Imm2, true, true, false);
}
public static void LdrsbtA1(CodeGenContext context, uint encoding)
{
InstCondb28w4Ub23w1Rnb16w4Rtb12w4Imm4hb8w4Imm4lb0w4 inst = new(encoding);
InstEmitMemory.LdrsbtI(context, inst.Rt, inst.Rn, (int)ImmUtils.CombineImmU8(inst.Imm4l, inst.Imm4h), postIndex: true, inst.U != 0);
}
public static void LdrsbtA2(CodeGenContext context, uint encoding)
{
InstCondb28w4Ub23w1Rnb16w4Rtb12w4Rmb0w4 inst = new(encoding);
InstEmitMemory.LdrsbtR(context, inst.Rt, inst.Rn, inst.Rm, postIndex: true, inst.U != 0);
}
public static void LdrsbtT1(CodeGenContext context, uint encoding)
{
InstRnb16w4Rtb12w4Imm8b0w8 inst = new(encoding);
InstEmitMemory.LdrsbtI(context, inst.Rt, inst.Rn, (int)inst.Imm8, postIndex: false, true);
}
public static void LdrsbIA1(CodeGenContext context, uint encoding)
{
InstCondb28w4Pb24w1Ub23w1Wb21w1Rnb16w4Rtb12w4Imm4hb8w4Imm4lb0w4 inst = new(encoding);
InstEmitMemory.LdrsbI(context, inst.Rt, inst.Rn, (int)ImmUtils.CombineImmU8(inst.Imm4l, inst.Imm4h), inst.P != 0, inst.U != 0, inst.W != 0);
}
public static void LdrsbIT1(CodeGenContext context, uint encoding)
{
InstRnb16w4Rtb12w4Imm12b0w12 inst = new(encoding);
InstEmitMemory.LdrsbI(context, inst.Rt, inst.Rn, (int)inst.Imm12, true, true, false);
}
public static void LdrsbIT2(CodeGenContext context, uint encoding)
{
InstRnb16w4Rtb12w4Pb10w1Ub9w1Wb8w1Imm8b0w8 inst = new(encoding);
InstEmitMemory.LdrsbI(context, inst.Rt, inst.Rn, (int)inst.Imm8, inst.P != 0, inst.U != 0, inst.W != 0);
}
public static void LdrsbLA1(CodeGenContext context, uint encoding)
{
InstCondb28w4Pb24w1Ub23w1Wb21w1Rtb12w4Imm4hb8w4Imm4lb0w4 inst = new(encoding);
InstEmitMemory.LdrsbL(context, inst.Rt, ImmUtils.CombineImmU8(inst.Imm4l, inst.Imm4h), inst.P != 0, inst.U != 0, inst.W != 0);
}
public static void LdrsbLT1(CodeGenContext context, uint encoding)
{
InstUb23w1Rtb12w4Imm12b0w12 inst = new(encoding);
InstEmitMemory.LdrsbL(context, inst.Rt, inst.Imm12, true, inst.U != 0, false);
}
public static void LdrsbRA1(CodeGenContext context, uint encoding)
{
InstCondb28w4Pb24w1Ub23w1Wb21w1Rnb16w4Rtb12w4Rmb0w4 inst = new(encoding);
InstEmitMemory.LdrsbR(context, inst.Rt, inst.Rn, inst.Rm, 0, 0, inst.P != 0, inst.U != 0, inst.W != 0);
}
public static void LdrsbRT1(CodeGenContext context, uint encoding)
{
InstRmb22w3Rnb19w3Rtb16w3 inst = new(encoding);
InstEmitMemory.LdrsbR(context, inst.Rt, inst.Rn, inst.Rm, 0, 0, true, true, false);
}
public static void LdrsbRT2(CodeGenContext context, uint encoding)
{
InstRnb16w4Rtb12w4Imm2b4w2Rmb0w4 inst = new(encoding);
InstEmitMemory.LdrsbR(context, inst.Rt, inst.Rn, inst.Rm, 0, inst.Imm2, true, true, false);
}
public static void LdrshtA1(CodeGenContext context, uint encoding)
{
InstCondb28w4Ub23w1Rnb16w4Rtb12w4Imm4hb8w4Imm4lb0w4 inst = new(encoding);
InstEmitMemory.LdrshtI(context, inst.Rt, inst.Rn, (int)ImmUtils.CombineImmU8(inst.Imm4l, inst.Imm4h), postIndex: true, inst.U != 0);
}
public static void LdrshtA2(CodeGenContext context, uint encoding)
{
InstCondb28w4Ub23w1Rnb16w4Rtb12w4Rmb0w4 inst = new(encoding);
InstEmitMemory.LdrshtR(context, inst.Rt, inst.Rn, inst.Rm, postIndex: true, inst.U != 0);
}
public static void LdrshtT1(CodeGenContext context, uint encoding)
{
InstRnb16w4Rtb12w4Imm8b0w8 inst = new(encoding);
InstEmitMemory.LdrshtI(context, inst.Rt, inst.Rn, (int)inst.Imm8, postIndex: false, true);
}
public static void LdrshIA1(CodeGenContext context, uint encoding)
{
InstCondb28w4Pb24w1Ub23w1Wb21w1Rnb16w4Rtb12w4Imm4hb8w4Imm4lb0w4 inst = new(encoding);
InstEmitMemory.LdrshI(context, inst.Rt, inst.Rn, (int)ImmUtils.CombineImmU8(inst.Imm4l, inst.Imm4h), inst.P != 0, inst.U != 0, inst.W != 0);
}
public static void LdrshIT1(CodeGenContext context, uint encoding)
{
InstRnb16w4Rtb12w4Imm12b0w12 inst = new(encoding);
InstEmitMemory.LdrshI(context, inst.Rt, inst.Rn, (int)inst.Imm12, true, true, false);
}
public static void LdrshIT2(CodeGenContext context, uint encoding)
{
InstRnb16w4Rtb12w4Pb10w1Ub9w1Wb8w1Imm8b0w8 inst = new(encoding);
InstEmitMemory.LdrshI(context, inst.Rt, inst.Rn, (int)inst.Imm8, inst.P != 0, inst.U != 0, inst.W != 0);
}
public static void LdrshLA1(CodeGenContext context, uint encoding)
{
InstCondb28w4Pb24w1Ub23w1Wb21w1Rtb12w4Imm4hb8w4Imm4lb0w4 inst = new(encoding);
InstEmitMemory.LdrshL(context, inst.Rt, ImmUtils.CombineImmU8(inst.Imm4l, inst.Imm4h), inst.P != 0, inst.U != 0, inst.W != 0);
}
public static void LdrshLT1(CodeGenContext context, uint encoding)
{
InstUb23w1Rtb12w4Imm12b0w12 inst = new(encoding);
InstEmitMemory.LdrshL(context, inst.Rt, inst.Imm12, true, inst.U != 0, false);
}
public static void LdrshRA1(CodeGenContext context, uint encoding)
{
InstCondb28w4Pb24w1Ub23w1Wb21w1Rnb16w4Rtb12w4Rmb0w4 inst = new(encoding);
InstEmitMemory.LdrshR(context, inst.Rt, inst.Rn, inst.Rm, 0, 0, inst.P != 0, inst.U != 0, inst.W != 0);
}
public static void LdrshRT1(CodeGenContext context, uint encoding)
{
InstRmb22w3Rnb19w3Rtb16w3 inst = new(encoding);
InstEmitMemory.LdrshR(context, inst.Rt, inst.Rn, inst.Rm, 0, 0, true, true, false);
}
public static void LdrshRT2(CodeGenContext context, uint encoding)
{
InstRnb16w4Rtb12w4Imm2b4w2Rmb0w4 inst = new(encoding);
InstEmitMemory.LdrshR(context, inst.Rt, inst.Rn, inst.Rm, 0, inst.Imm2, true, true, false);
}
public static void LdrtA1(CodeGenContext context, uint encoding)
{
InstCondb28w4Ub23w1Rnb16w4Rtb12w4Imm12b0w12 inst = new(encoding);
InstEmitMemory.LdrtI(context, inst.Rt, inst.Rn, (int)inst.Imm12, postIndex: true, inst.U != 0);
}
public static void LdrtA2(CodeGenContext context, uint encoding)
{
InstCondb28w4Ub23w1Rnb16w4Rtb12w4Imm5b7w5Stypeb5w2Rmb0w4 inst = new(encoding);
InstEmitMemory.LdrtR(context, inst.Rt, inst.Rn, inst.Rm, inst.Stype, inst.Imm5, postIndex: true, inst.U != 0);
}
public static void LdrtT1(CodeGenContext context, uint encoding)
{
InstRnb16w4Rtb12w4Imm8b0w8 inst = new(encoding);
InstEmitMemory.LdrtI(context, inst.Rt, inst.Rn, (int)inst.Imm8, postIndex: false, true);
}
public static void LdrIA1(CodeGenContext context, uint encoding)
{
InstCondb28w4Pb24w1Ub23w1Wb21w1Rnb16w4Rtb12w4Imm12b0w12 inst = new(encoding);
InstEmitMemory.LdrI(context, inst.Rt, inst.Rn, (int)inst.Imm12, inst.P != 0, inst.U != 0, inst.W != 0);
}
public static void LdrIT1(CodeGenContext context, uint encoding)
{
InstImm5b22w5Rnb19w3Rtb16w3 inst = new(encoding);
InstEmitMemory.LdrI(context, inst.Rt, inst.Rn, (int)inst.Imm5 << 2, true, true, false);
}
public static void LdrIT2(CodeGenContext context, uint encoding)
{
InstRtb24w3Imm8b16w8 inst = new(encoding);
InstEmitMemory.LdrI(context, inst.Rt, RegisterUtils.SpRegister, (int)inst.Imm8 << 2, true, true, false);
}
public static void LdrIT3(CodeGenContext context, uint encoding)
{
InstRnb16w4Rtb12w4Imm12b0w12 inst = new(encoding);
InstEmitMemory.LdrI(context, inst.Rt, inst.Rn, (int)inst.Imm12, true, true, false);
}
public static void LdrIT4(CodeGenContext context, uint encoding)
{
InstRnb16w4Rtb12w4Pb10w1Ub9w1Wb8w1Imm8b0w8 inst = new(encoding);
InstEmitMemory.LdrI(context, inst.Rt, inst.Rn, (int)inst.Imm8, inst.P != 0, inst.U != 0, inst.W != 0);
}
public static void LdrLA1(CodeGenContext context, uint encoding)
{
InstCondb28w4Pb24w1Ub23w1Wb21w1Rtb12w4Imm12b0w12 inst = new(encoding);
InstEmitMemory.LdrL(context, inst.Rt, inst.Imm12, inst.P != 0, inst.U != 0, inst.W != 0);
}
public static void LdrLT1(CodeGenContext context, uint encoding)
{
InstRtb24w3Imm8b16w8 inst = new(encoding);
InstEmitMemory.LdrL(context, inst.Rt, inst.Imm8 << 2, true, true, false);
}
public static void LdrLT2(CodeGenContext context, uint encoding)
{
InstUb23w1Rtb12w4Imm12b0w12 inst = new(encoding);
InstEmitMemory.LdrL(context, inst.Rt, inst.Imm12, true, inst.U != 0, false);
}
public static void LdrRA1(CodeGenContext context, uint encoding)
{
InstCondb28w4Pb24w1Ub23w1Wb21w1Rnb16w4Rtb12w4Imm5b7w5Stypeb5w2Rmb0w4 inst = new(encoding);
InstEmitMemory.LdrR(context, inst.Rt, inst.Rn, inst.Rm, inst.Stype, inst.Imm5, inst.P != 0, inst.U != 0, inst.W != 0);
}
public static void LdrRT1(CodeGenContext context, uint encoding)
{
InstRmb22w3Rnb19w3Rtb16w3 inst = new(encoding);
InstEmitMemory.LdrR(context, inst.Rt, inst.Rn, inst.Rm, 0, 0, true, true, false);
}
public static void LdrRT2(CodeGenContext context, uint encoding)
{
InstRnb16w4Rtb12w4Imm2b4w2Rmb0w4 inst = new(encoding);
InstEmitMemory.LdrR(context, inst.Rt, inst.Rn, inst.Rm, 0, inst.Imm2, true, true, false);
}
public static void McrA1(CodeGenContext context, uint encoding)
{
InstCondb28w4Opc1b21w3Crnb16w4Rtb12w4Coproc0b8w1Opc2b5w3Crmb0w4 inst = new(encoding);
InstEmitSystem.Mcr(context, encoding, inst.Coproc0 | 0xe, inst.Opc1, inst.Rt, inst.Crn, inst.Crm, inst.Opc2);
}
public static void McrT1(CodeGenContext context, uint encoding)
{
InstOpc1b21w3Crnb16w4Rtb12w4Coproc0b8w1Opc2b5w3Crmb0w4 inst = new(encoding);
InstEmitSystem.Mcr(context, encoding, inst.Coproc0 | 0xe, inst.Opc1, inst.Rt, inst.Crn, inst.Crm, inst.Opc2);
}
public static void McrrA1(CodeGenContext context, uint encoding)
{
InstCondb28w4Rt2b16w4Rtb12w4Coproc0b8w1Opc1b4w4Crmb0w4 inst = new(encoding);
InstEmitSystem.Mcrr(context, encoding, inst.Coproc0 | 0xe, inst.Opc1, inst.Rt, inst.Crm);
}
public static void McrrT1(CodeGenContext context, uint encoding)
{
InstRt2b16w4Rtb12w4Coproc0b8w1Opc1b4w4Crmb0w4 inst = new(encoding);
InstEmitSystem.Mcrr(context, encoding, inst.Coproc0 | 0xe, inst.Opc1, inst.Rt, inst.Crm);
}
public static void MlaA1(CodeGenContext context, uint encoding)
{
InstCondb28w4Sb20w1Rdb16w4Rab12w4Rmb8w4Rnb0w4 inst = new(encoding);
InstEmitMultiply.Mla(context, inst.Rd, inst.Rn, inst.Rm, inst.Ra);
}
public static void MlaT1(CodeGenContext context, uint encoding)
{
InstRnb16w4Rab12w4Rdb8w4Rmb0w4 inst = new(encoding);
InstEmitMultiply.Mla(context, inst.Rd, inst.Rn, inst.Rm, inst.Ra);
}
public static void MlsA1(CodeGenContext context, uint encoding)
{
InstCondb28w4Rdb16w4Rab12w4Rmb8w4Rnb0w4 inst = new(encoding);
InstEmitMultiply.Mls(context, inst.Rd, inst.Rn, inst.Rm, inst.Ra);
}
public static void MlsT1(CodeGenContext context, uint encoding)
{
InstRnb16w4Rab12w4Rdb8w4Rmb0w4 inst = new(encoding);
InstEmitMultiply.Mls(context, inst.Rd, inst.Rn, inst.Rm, inst.Ra);
}
public static void MovtA1(CodeGenContext context, uint encoding)
{
InstCondb28w4Imm4b16w4Rdb12w4Imm12b0w12 inst = new(encoding);
InstEmitMove.Movt(context, inst.Rd, ImmUtils.CombineImmU16(inst.Imm12, inst.Imm4));
}
public static void MovtT1(CodeGenContext context, uint encoding)
{
InstIb26w1Imm4b16w4Imm3b12w3Rdb8w4Imm8b0w8 inst = new(encoding);
InstEmitMove.Movt(context, inst.Rd, ImmUtils.CombineImmU16(inst.Imm8, inst.Imm3, inst.I, inst.Imm4));
}
public static void MovIA1(CodeGenContext context, uint encoding)
{
InstCondb28w4Sb20w1Rdb12w4Imm12b0w12 inst = new(encoding);
InstEmitMove.MovI(context, inst.Rd, ImmUtils.ExpandImm(inst.Imm12), ImmUtils.ExpandedImmRotated(inst.Imm12), inst.S != 0);
}
public static void MovIA2(CodeGenContext context, uint encoding)
{
InstCondb28w4Imm4b16w4Rdb12w4Imm12b0w12 inst = new(encoding);
InstEmitMove.MovI(context, inst.Rd, ImmUtils.CombineImmU16(inst.Imm12, inst.Imm4), false, false);
}
public static void MovIT1(CodeGenContext context, uint encoding)
{
InstRdb24w3Imm8b16w8 inst = new(encoding);
InstEmitMove.MovI(context, inst.Rd, inst.Imm8, false, !context.InITBlock);
}
public static void MovIT2(CodeGenContext context, uint encoding)
{
InstIb26w1Sb20w1Imm3b12w3Rdb8w4Imm8b0w8 inst = new(encoding);
InstEmitMove.MovI(context, inst.Rd, ImmUtils.ExpandImm(inst.Imm8, inst.Imm3, inst.I), ImmUtils.ExpandedImmRotated(inst.Imm8, inst.Imm3, inst.I), inst.S != 0);
}
public static void MovIT3(CodeGenContext context, uint encoding)
{
InstIb26w1Imm4b16w4Imm3b12w3Rdb8w4Imm8b0w8 inst = new(encoding);
InstEmitMove.MovI(context, inst.Rd, ImmUtils.CombineImmU16(inst.Imm8, inst.Imm3, inst.I, inst.Imm4), false, false);
}
public static void MovRA1(CodeGenContext context, uint encoding)
{
InstCondb28w4Sb20w1Rdb12w4Imm5b7w5Stypeb5w2Rmb0w4 inst = new(encoding);
InstEmitMove.MovR(context, inst.Cond, inst.Rd, inst.Rm, inst.Stype, inst.Imm5, inst.S != 0);
}
public static void MovRT1(CodeGenContext context, uint encoding)
{
InstDb23w1Rmb19w4Rdb16w3 inst = new(encoding);
InstEmitMove.MovR(context, inst.Rd | (inst.D << 3), inst.Rm, 0, 0, false);
}
public static void MovRT2(CodeGenContext context, uint encoding)
{
InstOpb27w2Imm5b22w5Rmb19w3Rdb16w3 inst = new(encoding);
InstEmitMove.MovR(context, inst.Rd, inst.Rm, inst.Op, inst.Imm5, !context.InITBlock);
}
public static void MovRT3(CodeGenContext context, uint encoding)
{
InstSb20w1Imm3b12w3Rdb8w4Imm2b6w2Stypeb4w2Rmb0w4 inst = new(encoding);
InstEmitMove.MovR(context, inst.Rd, inst.Rm, inst.Stype, ImmUtils.CombineImmU5(inst.Imm2, inst.Imm3), inst.S != 0);
}
public static void MovRrA1(CodeGenContext context, uint encoding)
{
InstCondb28w4Sb20w1Rdb12w4Rsb8w4Stypeb5w2Rmb0w4 inst = new(encoding);
InstEmitMove.MovRr(context, inst.Rd, inst.Rm, inst.Stype, inst.Rs, inst.S != 0);
}
public static void MovRrT1(CodeGenContext context, uint encoding)
{
InstRsb19w3Rdmb16w3 inst = new(encoding);
InstEmitMove.MovRr(context, inst.Rdm, inst.Rdm, ((encoding >> 7) & 2) | ((encoding >> 6) & 1), inst.Rs, !context.InITBlock);
}
public static void MovRrT2(CodeGenContext context, uint encoding)
{
InstStypeb21w2Sb20w1Rmb16w4Rdb8w4Rsb0w4 inst = new(encoding);
InstEmitMove.MovRr(context, inst.Rd, inst.Rm, inst.Stype, inst.Rs, inst.S != 0);
}
public static void MrcA1(CodeGenContext context, uint encoding)
{
InstCondb28w4Opc1b21w3Crnb16w4Rtb12w4Coproc0b8w1Opc2b5w3Crmb0w4 inst = new(encoding);
InstEmitSystem.Mrc(context, encoding, inst.Coproc0 | 0xe, inst.Opc1, inst.Rt, inst.Crn, inst.Crm, inst.Opc2);
}
public static void MrcT1(CodeGenContext context, uint encoding)
{
InstOpc1b21w3Crnb16w4Rtb12w4Coproc0b8w1Opc2b5w3Crmb0w4 inst = new(encoding);
InstEmitSystem.Mrc(context, encoding, inst.Coproc0 | 0xe, inst.Opc1, inst.Rt, inst.Crn, inst.Crm, inst.Opc2);
}
public static void MrrcA1(CodeGenContext context, uint encoding)
{
InstCondb28w4Rt2b16w4Rtb12w4Coproc0b8w1Opc1b4w4Crmb0w4 inst = new(encoding);
InstEmitSystem.Mrrc(context, encoding, inst.Coproc0 | 0xe, inst.Opc1, inst.Rt, inst.Rt2, inst.Crm);
}
public static void MrrcT1(CodeGenContext context, uint encoding)
{
InstRt2b16w4Rtb12w4Coproc0b8w1Opc1b4w4Crmb0w4 inst = new(encoding);
InstEmitSystem.Mrrc(context, encoding, inst.Coproc0 | 0xe, inst.Opc1, inst.Rt, inst.Rt2, inst.Crm);
}
public static void MrsA1(CodeGenContext context, uint encoding)
{
InstCondb28w4Rb22w1Rdb12w4 inst = new(encoding);
InstEmitSystem.Mrs(context, inst.Rd, inst.R != 0);
}
public static void MrsT1(CodeGenContext context, uint encoding)
{
InstRb20w1Rdb8w4 inst = new(encoding);
InstEmitSystem.Mrs(context, inst.Rd, inst.R != 0);
}
public static void MrsBrA1(CodeGenContext context, uint encoding)
{
InstCondb28w4Rb22w1M1b16w4Rdb12w4Mb8w1 inst = new(encoding);
InstEmitSystem.MrsBr(context, inst.Rd, inst.M1 | (inst.M << 4), inst.R != 0);
}
public static void MrsBrT1(CodeGenContext context, uint encoding)
{
InstRb20w1M1b16w4Rdb8w4Mb4w1 inst = new(encoding);
InstEmitSystem.MrsBr(context, inst.Rd, inst.M1 | (inst.M << 4), inst.R != 0);
}
public static void MsrBrA1(CodeGenContext context, uint encoding)
{
InstCondb28w4Rb22w1M1b16w4Mb8w1Rnb0w4 inst = new(encoding);
InstEmitSystem.MsrBr(context, inst.Rn, inst.M1 | (inst.M << 4), inst.R != 0);
}
public static void MsrBrT1(CodeGenContext context, uint encoding)
{
InstRb20w1Rnb16w4M1b8w4Mb4w1 inst = new(encoding);
InstEmitSystem.MsrBr(context, inst.Rn, inst.M1 | (inst.M << 4), inst.R != 0);
}
public static void MsrIA1(CodeGenContext context, uint encoding)
{
InstCondb28w4Rb22w1Maskb16w4Imm12b0w12 inst = new(encoding);
InstEmitSystem.MsrI(context, inst.Imm12, inst.Mask, inst.R != 0);
}
public static void MsrRA1(CodeGenContext context, uint encoding)
{
InstCondb28w4Rb22w1Maskb16w4Rnb0w4 inst = new(encoding);
InstEmitSystem.MsrR(context, inst.Rn, inst.Mask, inst.R != 0);
}
public static void MsrRT1(CodeGenContext context, uint encoding)
{
InstRb20w1Rnb16w4Maskb8w4 inst = new(encoding);
InstEmitSystem.MsrR(context, inst.Rn, inst.Mask, inst.R != 0);
}
public static void MulA1(CodeGenContext context, uint encoding)
{
InstCondb28w4Sb20w1Rdb16w4Rmb8w4Rnb0w4 inst = new(encoding);
InstEmitMultiply.Mul(context, inst.Rd, inst.Rn, inst.Rm, inst.S != 0);
}
public static void MulT1(CodeGenContext context, uint encoding)
{
InstRnb19w3Rdmb16w3 inst = new(encoding);
InstEmitMultiply.Mul(context, inst.Rdm, inst.Rn, inst.Rdm, !context.InITBlock);
}
public static void MulT2(CodeGenContext context, uint encoding)
{
InstRnb16w4Rdb8w4Rmb0w4 inst = new(encoding);
InstEmitMultiply.Mul(context, inst.Rd, inst.Rn, inst.Rm, false);
}
public static void MvnIA1(CodeGenContext context, uint encoding)
{
InstCondb28w4Sb20w1Rdb12w4Imm12b0w12 inst = new(encoding);
InstEmitMove.MvnI(context, inst.Rd, ImmUtils.ExpandImm(inst.Imm12), ImmUtils.ExpandedImmRotated(inst.Imm12), inst.S != 0);
}
public static void MvnIT1(CodeGenContext context, uint encoding)
{
InstIb26w1Sb20w1Imm3b12w3Rdb8w4Imm8b0w8 inst = new(encoding);
InstEmitMove.MvnI(context, inst.Rd, ImmUtils.ExpandImm(inst.Imm8, inst.Imm3, inst.I), ImmUtils.ExpandedImmRotated(inst.Imm8, inst.Imm3, inst.I), inst.S != 0);
}
public static void MvnRA1(CodeGenContext context, uint encoding)
{
InstCondb28w4Sb20w1Rdb12w4Imm5b7w5Stypeb5w2Rmb0w4 inst = new(encoding);
InstEmitMove.MvnR(context, inst.Rd, inst.Rm, inst.Stype, inst.Imm5, inst.S != 0);
}
public static void MvnRT1(CodeGenContext context, uint encoding)
{
InstRmb19w3Rdb16w3 inst = new(encoding);
InstEmitMove.MvnR(context, inst.Rd, inst.Rm, 0, 0, !context.InITBlock);
}
public static void MvnRT2(CodeGenContext context, uint encoding)
{
InstSb20w1Imm3b12w3Rdb8w4Imm2b6w2Stypeb4w2Rmb0w4 inst = new(encoding);
InstEmitMove.MvnR(context, inst.Rd, inst.Rm, inst.Stype, ImmUtils.CombineImmU5(inst.Imm2, inst.Imm3), inst.S != 0);
}
public static void MvnRrA1(CodeGenContext context, uint encoding)
{
InstCondb28w4Sb20w1Rdb12w4Rsb8w4Stypeb5w2Rmb0w4 inst = new(encoding);
InstEmitMove.MvnRr(context, inst.Rd, inst.Rm, inst.Stype, inst.Rs, inst.S != 0);
}
public static void NopA1(CodeGenContext context, uint encoding)
{
}
public static void NopT1(CodeGenContext context, uint encoding)
{
}
public static void NopT2(CodeGenContext context, uint encoding)
{
}
public static void OrnIT1(CodeGenContext context, uint encoding)
{
InstIb26w1Sb20w1Rnb16w4Imm3b12w3Rdb8w4Imm8b0w8 inst = new(encoding);
InstEmitAlu.OrnI(context, inst.Rd, inst.Rn, ImmUtils.ExpandImm(inst.Imm8, inst.Imm3, inst.I), ImmUtils.ExpandedImmRotated(inst.Imm8, inst.Imm3, inst.I), inst.S != 0);
}
public static void OrnRT1(CodeGenContext context, uint encoding)
{
InstSb20w1Rnb16w4Imm3b12w3Rdb8w4Imm2b6w2Stypeb4w2Rmb0w4 inst = new(encoding);
InstEmitAlu.OrnR(context, inst.Rd, inst.Rn, inst.Rm, inst.Stype, ImmUtils.CombineImmU5(inst.Imm2, inst.Imm3), inst.S != 0);
}
public static void OrrIA1(CodeGenContext context, uint encoding)
{
InstCondb28w4Sb20w1Rnb16w4Rdb12w4Imm12b0w12 inst = new(encoding);
InstEmitAlu.OrrI(context, inst.Rd, inst.Rn, ImmUtils.ExpandImm(inst.Imm12), ImmUtils.ExpandedImmRotated(inst.Imm12), inst.S != 0);
}
public static void OrrIT1(CodeGenContext context, uint encoding)
{
InstIb26w1Sb20w1Rnb16w4Imm3b12w3Rdb8w4Imm8b0w8 inst = new(encoding);
InstEmitAlu.OrrI(context, inst.Rd, inst.Rn, ImmUtils.ExpandImm(inst.Imm8, inst.Imm3, inst.I), ImmUtils.ExpandedImmRotated(inst.Imm8, inst.Imm3, inst.I), inst.S != 0);
}
public static void OrrRA1(CodeGenContext context, uint encoding)
{
InstCondb28w4Sb20w1Rnb16w4Rdb12w4Imm5b7w5Stypeb5w2Rmb0w4 inst = new(encoding);
InstEmitAlu.OrrR(context, inst.Rd, inst.Rn, inst.Rm, inst.Stype, inst.Imm5, inst.S != 0);
}
public static void OrrRT1(CodeGenContext context, uint encoding)
{
InstRmb19w3Rdnb16w3 inst = new(encoding);
InstEmitAlu.OrrR(context, inst.Rdn, inst.Rdn, inst.Rm, 0, 0, !context.InITBlock);
}
public static void OrrRT2(CodeGenContext context, uint encoding)
{
InstSb20w1Rnb16w4Imm3b12w3Rdb8w4Imm2b6w2Stypeb4w2Rmb0w4 inst = new(encoding);
InstEmitAlu.OrrR(context, inst.Rd, inst.Rn, inst.Rm, inst.Stype, ImmUtils.CombineImmU5(inst.Imm2, inst.Imm3), inst.S != 0);
}
public static void OrrRrA1(CodeGenContext context, uint encoding)
{
InstCondb28w4Sb20w1Rnb16w4Rdb12w4Rsb8w4Stypeb5w2Rmb0w4 inst = new(encoding);
InstEmitAlu.OrrRr(context, inst.Rd, inst.Rn, inst.Rm, inst.Stype, inst.Rs, inst.S != 0);
}
public static void PkhA1(CodeGenContext context, uint encoding)
{
InstCondb28w4Rnb16w4Rdb12w4Imm5b7w5Tbb6w1Rmb0w4 inst = new(encoding);
InstEmitMove.Pkh(context, inst.Rd, inst.Rn, inst.Rm, inst.Tb != 0, inst.Imm5);
}
public static void PkhT1(CodeGenContext context, uint encoding)
{
InstRnb16w4Imm3b12w3Rdb8w4Imm2b6w2Tbb5w1Rmb0w4 inst = new(encoding);
InstEmitMove.Pkh(context, inst.Rd, inst.Rn, inst.Rm, inst.Tb != 0, ImmUtils.CombineImmU5(inst.Imm2, inst.Imm3));
}
public static void PldIA1(CodeGenContext context, uint encoding)
{
InstUb23w1Rb22w1Rnb16w4Imm12b0w12 inst = new(encoding);
InstEmitMemory.PldI(context, inst.Rn, inst.Imm12, inst.U != 0, inst.R != 0);
}
public static void PldIT1(CodeGenContext context, uint encoding)
{
InstWb21w1Rnb16w4Imm12b0w12 inst = new(encoding);
InstEmitMemory.PldI(context, inst.Rn, inst.Imm12, true, inst.W == 0);
}
public static void PldIT2(CodeGenContext context, uint encoding)
{
InstWb21w1Rnb16w4Imm8b0w8 inst = new(encoding);
InstEmitMemory.PldI(context, inst.Rn, inst.Imm8, false, inst.W == 0);
}
public static void PldLA1(CodeGenContext context, uint encoding)
{
InstUb23w1Imm12b0w12 inst = new(encoding);
InstEmitMemory.PldL(context, inst.Imm12, inst.U != 0);
}
public static void PldLT1(CodeGenContext context, uint encoding)
{
InstUb23w1Imm12b0w12 inst = new(encoding);
InstEmitMemory.PldL(context, inst.Imm12, inst.U != 0);
}
public static void PldRA1(CodeGenContext context, uint encoding)
{
InstUb23w1Rb22w1Rnb16w4Imm5b7w5Stypeb5w2Rmb0w4 inst = new(encoding);
InstEmitMemory.PldR(context, inst.Rn, inst.Rm, inst.Stype, inst.Imm5, inst.U != 0, inst.R != 0);
}
public static void PldRT1(CodeGenContext context, uint encoding)
{
InstWb21w1Rnb16w4Imm2b4w2Rmb0w4 inst = new(encoding);
InstEmitMemory.PldR(context, inst.Rn, inst.Rm, 0, inst.Imm2, true, inst.W == 0);
}
public static void PliIA1(CodeGenContext context, uint encoding)
{
InstUb23w1Rnb16w4Imm12b0w12 inst = new(encoding);
InstEmitMemory.PliI(context, inst.Rn, inst.Imm12, inst.U != 0);
}
public static void PliIT1(CodeGenContext context, uint encoding)
{
InstRnb16w4Imm12b0w12 inst = new(encoding);
InstEmitMemory.PliI(context, inst.Rn, inst.Imm12, true);
}
public static void PliIT2(CodeGenContext context, uint encoding)
{
InstRnb16w4Imm8b0w8 inst = new(encoding);
InstEmitMemory.PliI(context, inst.Rn, inst.Imm8, false);
}
public static void PliIT3(CodeGenContext context, uint encoding)
{
InstUb23w1Imm12b0w12 inst = new(encoding);
InstEmitMemory.PliL(context, inst.Imm12, inst.U != 0);
}
public static void PliRA1(CodeGenContext context, uint encoding)
{
InstUb23w1Rnb16w4Imm5b7w5Stypeb5w2Rmb0w4 inst = new(encoding);
InstEmitMemory.PliR(context, inst.Rn, inst.Rm, inst.Stype, inst.Imm5, inst.U != 0);
}
public static void PliRT1(CodeGenContext context, uint encoding)
{
InstRnb16w4Imm2b4w2Rmb0w4 inst = new(encoding);
InstEmitMemory.PliR(context, inst.Rn, inst.Rm, 0, inst.Imm2, true);
}
public static void PopT1(CodeGenContext context, uint encoding)
{
InstPb24w1RegisterListb16w8 inst = new(encoding);
InstEmitMemory.Ldm(context, RegisterUtils.SpRegister, inst.RegisterList | (inst.P << RegisterUtils.PcRegister), true);
}
public static void PssbbA1(CodeGenContext context, uint encoding)
{
throw new NotImplementedException();
}
public static void PssbbT1(CodeGenContext context, uint encoding)
{
throw new NotImplementedException();
}
public static void PushT1(CodeGenContext context, uint encoding)
{
InstMb24w1RegisterListb16w8 inst = new(encoding);
InstEmitMemory.Stmdb(context, RegisterUtils.SpRegister, inst.RegisterList | (inst.M << RegisterUtils.LrRegister), true);
}
public static void QaddA1(CodeGenContext context, uint encoding)
{
InstCondb28w4Rnb16w4Rdb12w4Rmb0w4 inst = new(encoding);
InstEmitSaturate.Qadd(context, inst.Rd, inst.Rn, inst.Rm);
}
public static void QaddT1(CodeGenContext context, uint encoding)
{
InstRnb16w4Rdb8w4Rmb0w4 inst = new(encoding);
InstEmitSaturate.Qadd(context, inst.Rd, inst.Rn, inst.Rm);
}
public static void Qadd16A1(CodeGenContext context, uint encoding)
{
InstCondb28w4Rnb16w4Rdb12w4Rmb0w4 inst = new(encoding);
InstEmitSaturate.Qadd16(context, inst.Rd, inst.Rn, inst.Rm);
}
public static void Qadd16T1(CodeGenContext context, uint encoding)
{
InstRnb16w4Rdb8w4Rmb0w4 inst = new(encoding);
InstEmitSaturate.Qadd16(context, inst.Rd, inst.Rn, inst.Rm);
}
public static void Qadd8A1(CodeGenContext context, uint encoding)
{
InstCondb28w4Rnb16w4Rdb12w4Rmb0w4 inst = new(encoding);
InstEmitSaturate.Qadd8(context, inst.Rd, inst.Rn, inst.Rm);
}
public static void Qadd8T1(CodeGenContext context, uint encoding)
{
InstRnb16w4Rdb8w4Rmb0w4 inst = new(encoding);
InstEmitSaturate.Qadd8(context, inst.Rd, inst.Rn, inst.Rm);
}
public static void QasxA1(CodeGenContext context, uint encoding)
{
InstCondb28w4Rnb16w4Rdb12w4Rmb0w4 inst = new(encoding);
InstEmitSaturate.Qasx(context, inst.Rd, inst.Rn, inst.Rm);
}
public static void QasxT1(CodeGenContext context, uint encoding)
{
InstRnb16w4Rdb8w4Rmb0w4 inst = new(encoding);
InstEmitSaturate.Qasx(context, inst.Rd, inst.Rn, inst.Rm);
}
public static void QdaddA1(CodeGenContext context, uint encoding)
{
InstCondb28w4Rnb16w4Rdb12w4Rmb0w4 inst = new(encoding);
InstEmitSaturate.Qdadd(context, inst.Rd, inst.Rn, inst.Rm);
}
public static void QdaddT1(CodeGenContext context, uint encoding)
{
InstRnb16w4Rdb8w4Rmb0w4 inst = new(encoding);
InstEmitSaturate.Qdadd(context, inst.Rd, inst.Rn, inst.Rm);
}
public static void QdsubA1(CodeGenContext context, uint encoding)
{
InstCondb28w4Rnb16w4Rdb12w4Rmb0w4 inst = new(encoding);
InstEmitSaturate.Qdsub(context, inst.Rd, inst.Rn, inst.Rm);
}
public static void QdsubT1(CodeGenContext context, uint encoding)
{
InstRnb16w4Rdb8w4Rmb0w4 inst = new(encoding);
InstEmitSaturate.Qdsub(context, inst.Rd, inst.Rn, inst.Rm);
}
public static void QsaxA1(CodeGenContext context, uint encoding)
{
InstCondb28w4Rnb16w4Rdb12w4Rmb0w4 inst = new(encoding);
InstEmitSaturate.Qsax(context, inst.Rd, inst.Rn, inst.Rm);
}
public static void QsaxT1(CodeGenContext context, uint encoding)
{
InstRnb16w4Rdb8w4Rmb0w4 inst = new(encoding);
InstEmitSaturate.Qsax(context, inst.Rd, inst.Rn, inst.Rm);
}
public static void QsubA1(CodeGenContext context, uint encoding)
{
InstCondb28w4Rnb16w4Rdb12w4Rmb0w4 inst = new(encoding);
InstEmitSaturate.Qsub(context, inst.Rd, inst.Rn, inst.Rm);
}
public static void QsubT1(CodeGenContext context, uint encoding)
{
InstRnb16w4Rdb8w4Rmb0w4 inst = new(encoding);
InstEmitSaturate.Qsub(context, inst.Rd, inst.Rn, inst.Rm);
}
public static void Qsub16A1(CodeGenContext context, uint encoding)
{
InstCondb28w4Rnb16w4Rdb12w4Rmb0w4 inst = new(encoding);
InstEmitSaturate.Qsub16(context, inst.Rd, inst.Rn, inst.Rm);
}
public static void Qsub16T1(CodeGenContext context, uint encoding)
{
InstRnb16w4Rdb8w4Rmb0w4 inst = new(encoding);
InstEmitSaturate.Qsub16(context, inst.Rd, inst.Rn, inst.Rm);
}
public static void Qsub8A1(CodeGenContext context, uint encoding)
{
InstCondb28w4Rnb16w4Rdb12w4Rmb0w4 inst = new(encoding);
InstEmitSaturate.Qsub8(context, inst.Rd, inst.Rn, inst.Rm);
}
public static void Qsub8T1(CodeGenContext context, uint encoding)
{
InstRnb16w4Rdb8w4Rmb0w4 inst = new(encoding);
InstEmitSaturate.Qsub8(context, inst.Rd, inst.Rn, inst.Rm);
}
public static void RbitA1(CodeGenContext context, uint encoding)
{
InstCondb28w4Rdb12w4Rmb0w4 inst = new(encoding);
InstEmitBit.Rbit(context, inst.Rd, inst.Rm);
}
public static void RbitT1(CodeGenContext context, uint encoding)
{
InstRnb16w4Rdb8w4Rmb0w4 inst = new(encoding);
InstEmitBit.Rbit(context, inst.Rd, inst.Rm);
}
public static void RevA1(CodeGenContext context, uint encoding)
{
InstCondb28w4Rdb12w4Rmb0w4 inst = new(encoding);
InstEmitBit.Rev(context, inst.Rd, inst.Rm);
}
public static void RevT1(CodeGenContext context, uint encoding)
{
InstRmb19w3Rdb16w3 inst = new(encoding);
InstEmitBit.Rev(context, inst.Rd, inst.Rm);
}
public static void RevT2(CodeGenContext context, uint encoding)
{
InstRnb16w4Rdb8w4Rmb0w4 inst = new(encoding);
InstEmitBit.Rev(context, inst.Rd, inst.Rm);
}
public static void Rev16A1(CodeGenContext context, uint encoding)
{
InstCondb28w4Rdb12w4Rmb0w4 inst = new(encoding);
InstEmitBit.Rev16(context, inst.Rd, inst.Rm);
}
public static void Rev16T1(CodeGenContext context, uint encoding)
{
InstRmb19w3Rdb16w3 inst = new(encoding);
InstEmitBit.Rev16(context, inst.Rd, inst.Rm);
}
public static void Rev16T2(CodeGenContext context, uint encoding)
{
InstRnb16w4Rdb8w4Rmb0w4 inst = new(encoding);
InstEmitBit.Rev16(context, inst.Rd, inst.Rm);
}
public static void RevshA1(CodeGenContext context, uint encoding)
{
InstCondb28w4Rdb12w4Rmb0w4 inst = new(encoding);
InstEmitBit.Revsh(context, inst.Rd, inst.Rm);
}
public static void RevshT1(CodeGenContext context, uint encoding)
{
InstRmb19w3Rdb16w3 inst = new(encoding);
InstEmitBit.Revsh(context, inst.Rd, inst.Rm);
}
public static void RevshT2(CodeGenContext context, uint encoding)
{
InstRnb16w4Rdb8w4Rmb0w4 inst = new(encoding);
InstEmitBit.Revsh(context, inst.Rd, inst.Rm);
}
public static void RfeA1(CodeGenContext context, uint encoding)
{
InstEmitSystem.PrivilegedInstruction(context, encoding);
}
public static void RfeT1(CodeGenContext context, uint encoding)
{
InstEmitSystem.PrivilegedInstruction(context, encoding);
}
public static void RfeT2(CodeGenContext context, uint encoding)
{
InstEmitSystem.PrivilegedInstruction(context, encoding);
}
public static void RsbIA1(CodeGenContext context, uint encoding)
{
InstCondb28w4Sb20w1Rnb16w4Rdb12w4Imm12b0w12 inst = new(encoding);
InstEmitAlu.RsbI(context, inst.Rd, inst.Rn, ImmUtils.ExpandImm(inst.Imm12), inst.S != 0);
}
public static void RsbIT1(CodeGenContext context, uint encoding)
{
InstRnb19w3Rdb16w3 inst = new(encoding);
InstEmitAlu.RsbI(context, inst.Rd, inst.Rn, 0, !context.InITBlock);
}
public static void RsbIT2(CodeGenContext context, uint encoding)
{
InstIb26w1Sb20w1Rnb16w4Imm3b12w3Rdb8w4Imm8b0w8 inst = new(encoding);
InstEmitAlu.RsbI(context, inst.Rd, inst.Rn, ImmUtils.ExpandImm(inst.Imm8, inst.Imm3, inst.I), inst.S != 0);
}
public static void RsbRA1(CodeGenContext context, uint encoding)
{
InstCondb28w4Sb20w1Rnb16w4Rdb12w4Imm5b7w5Stypeb5w2Rmb0w4 inst = new(encoding);
InstEmitAlu.RsbR(context, inst.Rd, inst.Rn, inst.Rm, inst.Stype, inst.Imm5, inst.S != 0);
}
public static void RsbRT1(CodeGenContext context, uint encoding)
{
InstSb20w1Rnb16w4Imm3b12w3Rdb8w4Imm2b6w2Stypeb4w2Rmb0w4 inst = new(encoding);
InstEmitAlu.RsbR(context, inst.Rd, inst.Rn, inst.Rm, inst.Stype, ImmUtils.CombineImmU5(inst.Imm2, inst.Imm3), inst.S != 0);
}
public static void RsbRrA1(CodeGenContext context, uint encoding)
{
InstCondb28w4Sb20w1Rnb16w4Rdb12w4Rsb8w4Stypeb5w2Rmb0w4 inst = new(encoding);
InstEmitAlu.RsbRr(context, inst.Rd, inst.Rn, inst.Rm, inst.Stype, inst.Rs, inst.S != 0);
}
public static void RscIA1(CodeGenContext context, uint encoding)
{
InstCondb28w4Sb20w1Rnb16w4Rdb12w4Imm12b0w12 inst = new(encoding);
InstEmitAlu.RscI(context, inst.Rd, inst.Rn, ImmUtils.ExpandImm(inst.Imm12), inst.S != 0);
}
public static void RscRA1(CodeGenContext context, uint encoding)
{
InstCondb28w4Sb20w1Rnb16w4Rdb12w4Imm5b7w5Stypeb5w2Rmb0w4 inst = new(encoding);
InstEmitAlu.RscR(context, inst.Rd, inst.Rn, inst.Rm, inst.Stype, inst.Imm5, inst.S != 0);
}
public static void RscRrA1(CodeGenContext context, uint encoding)
{
InstCondb28w4Sb20w1Rnb16w4Rdb12w4Rsb8w4Stypeb5w2Rmb0w4 inst = new(encoding);
InstEmitAlu.RscRr(context, inst.Rd, inst.Rn, inst.Rm, inst.Stype, inst.Rs, inst.S != 0);
}
public static void Sadd16A1(CodeGenContext context, uint encoding)
{
InstCondb28w4Rnb16w4Rdb12w4Rmb0w4 inst = new(encoding);
InstEmitGE.Sadd16(context, inst.Rd, inst.Rn, inst.Rm);
}
public static void Sadd16T1(CodeGenContext context, uint encoding)
{
InstRnb16w4Rdb8w4Rmb0w4 inst = new(encoding);
InstEmitGE.Sadd16(context, inst.Rd, inst.Rn, inst.Rm);
}
public static void Sadd8A1(CodeGenContext context, uint encoding)
{
InstCondb28w4Rnb16w4Rdb12w4Rmb0w4 inst = new(encoding);
InstEmitGE.Sadd8(context, inst.Rd, inst.Rn, inst.Rm);
}
public static void Sadd8T1(CodeGenContext context, uint encoding)
{
InstRnb16w4Rdb8w4Rmb0w4 inst = new(encoding);
InstEmitGE.Sadd8(context, inst.Rd, inst.Rn, inst.Rm);
}
public static void SasxA1(CodeGenContext context, uint encoding)
{
InstCondb28w4Rnb16w4Rdb12w4Rmb0w4 inst = new(encoding);
InstEmitGE.Sasx(context, inst.Rd, inst.Rn, inst.Rm);
}
public static void SasxT1(CodeGenContext context, uint encoding)
{
InstRnb16w4Rdb8w4Rmb0w4 inst = new(encoding);
InstEmitGE.Sasx(context, inst.Rd, inst.Rn, inst.Rm);
}
public static void SbA1(CodeGenContext context, uint encoding)
{
throw new NotImplementedException();
}
public static void SbT1(CodeGenContext context, uint encoding)
{
throw new NotImplementedException();
}
public static void SbcIA1(CodeGenContext context, uint encoding)
{
InstCondb28w4Sb20w1Rnb16w4Rdb12w4Imm12b0w12 inst = new(encoding);
InstEmitAlu.SbcI(context, inst.Rd, inst.Rn, ImmUtils.ExpandImm(inst.Imm12), inst.S != 0);
}
public static void SbcIT1(CodeGenContext context, uint encoding)
{
InstIb26w1Sb20w1Rnb16w4Imm3b12w3Rdb8w4Imm8b0w8 inst = new(encoding);
InstEmitAlu.SbcI(context, inst.Rd, inst.Rn, ImmUtils.ExpandImm(inst.Imm8, inst.Imm3, inst.I), inst.S != 0);
}
public static void SbcRA1(CodeGenContext context, uint encoding)
{
InstCondb28w4Sb20w1Rnb16w4Rdb12w4Imm5b7w5Stypeb5w2Rmb0w4 inst = new(encoding);
InstEmitAlu.SbcR(context, inst.Rd, inst.Rn, inst.Rm, inst.Stype, inst.Imm5, inst.S != 0);
}
public static void SbcRT1(CodeGenContext context, uint encoding)
{
InstRmb19w3Rdnb16w3 inst = new(encoding);
InstEmitAlu.SbcR(context, inst.Rdn, inst.Rdn, inst.Rm, 0, 0, !context.InITBlock);
}
public static void SbcRT2(CodeGenContext context, uint encoding)
{
InstSb20w1Rnb16w4Imm3b12w3Rdb8w4Imm2b6w2Stypeb4w2Rmb0w4 inst = new(encoding);
InstEmitAlu.SbcR(context, inst.Rd, inst.Rn, inst.Rm, inst.Stype, ImmUtils.CombineImmU5(inst.Imm2, inst.Imm3), inst.S != 0);
}
public static void SbcRrA1(CodeGenContext context, uint encoding)
{
InstCondb28w4Sb20w1Rnb16w4Rdb12w4Rsb8w4Stypeb5w2Rmb0w4 inst = new(encoding);
InstEmitAlu.SbcRr(context, inst.Rd, inst.Rn, inst.Rm, inst.Stype, inst.Rs, inst.S != 0);
}
public static void SbfxA1(CodeGenContext context, uint encoding)
{
InstCondb28w4Widthm1b16w5Rdb12w4Lsbb7w5Rnb0w4 inst = new(encoding);
InstEmitBit.Sbfx(context, inst.Rd, inst.Rn, inst.Lsb, inst.Widthm1);
}
public static void SbfxT1(CodeGenContext context, uint encoding)
{
InstRnb16w4Imm3b12w3Rdb8w4Imm2b6w2Widthm1b0w5 inst = new(encoding);
InstEmitBit.Sbfx(context, inst.Rd, inst.Rn, ImmUtils.CombineImmU5(inst.Imm2, inst.Imm3), inst.Widthm1);
}
public static void SdivA1(CodeGenContext context, uint encoding)
{
InstCondb28w4Rdb16w4Rmb8w4Rnb0w4 inst = new(encoding);
InstEmitDivide.Sdiv(context, inst.Rd, inst.Rn, inst.Rm);
}
public static void SdivT1(CodeGenContext context, uint encoding)
{
InstRnb16w4Rdb8w4Rmb0w4 inst = new(encoding);
InstEmitDivide.Sdiv(context, inst.Rd, inst.Rn, inst.Rm);
}
public static void SelA1(CodeGenContext context, uint encoding)
{
InstCondb28w4Rnb16w4Rdb12w4Rmb0w4 inst = new(encoding);
InstEmitGE.Sel(context, inst.Rd, inst.Rn, inst.Rm);
}
public static void SelT1(CodeGenContext context, uint encoding)
{
InstRnb16w4Rdb8w4Rmb0w4 inst = new(encoding);
InstEmitGE.Sel(context, inst.Rd, inst.Rn, inst.Rm);
}
public static void SetendA1(CodeGenContext context, uint encoding)
{
InstEb9w1 inst = new(encoding);
InstEmitSystem.Setend(context, inst.E != 0);
}
public static void SetendT1(CodeGenContext context, uint encoding)
{
InstEb19w1 inst = new(encoding);
InstEmitSystem.Setend(context, inst.E != 0);
}
public static void SetpanA1(CodeGenContext context, uint encoding)
{
_ = new InstImm1b9w1(encoding);
throw new NotImplementedException();
}
public static void SetpanT1(CodeGenContext context, uint encoding)
{
_ = new InstImm1b19w1(encoding);
throw new NotImplementedException();
}
public static void SevA1(CodeGenContext context, uint encoding)
{
context.Arm64Assembler.Sev();
}
public static void SevT1(CodeGenContext context, uint encoding)
{
context.Arm64Assembler.Sev();
}
public static void SevT2(CodeGenContext context, uint encoding)
{
context.Arm64Assembler.Sev();
}
public static void SevlA1(CodeGenContext context, uint encoding)
{
context.Arm64Assembler.Sevl();
}
public static void SevlT1(CodeGenContext context, uint encoding)
{
context.Arm64Assembler.Sevl();
}
public static void SevlT2(CodeGenContext context, uint encoding)
{
context.Arm64Assembler.Sevl();
}
public static void Sha1cA1(CodeGenContext context, uint encoding)
{
InstDb22w1Vnb16w4Vdb12w4Nb7w1Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonHash.Sha1c(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vn, inst.N), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.Q);
}
public static void Sha1cT1(CodeGenContext context, uint encoding)
{
InstDb22w1Vnb16w4Vdb12w4Nb7w1Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonHash.Sha1c(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vn, inst.N), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.Q);
}
public static void Sha1hA1(CodeGenContext context, uint encoding)
{
InstDb22w1Sizeb18w2Vdb12w4Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonHash.Sha1h(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.Size);
}
public static void Sha1hT1(CodeGenContext context, uint encoding)
{
InstDb22w1Sizeb18w2Vdb12w4Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonHash.Sha1h(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.Size);
}
public static void Sha1mA1(CodeGenContext context, uint encoding)
{
InstDb22w1Vnb16w4Vdb12w4Nb7w1Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonHash.Sha1m(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vn, inst.N), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.Q);
}
public static void Sha1mT1(CodeGenContext context, uint encoding)
{
InstDb22w1Vnb16w4Vdb12w4Nb7w1Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonHash.Sha1m(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vn, inst.N), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.Q);
}
public static void Sha1pA1(CodeGenContext context, uint encoding)
{
InstDb22w1Vnb16w4Vdb12w4Nb7w1Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonHash.Sha1p(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vn, inst.N), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.Q);
}
public static void Sha1pT1(CodeGenContext context, uint encoding)
{
InstDb22w1Vnb16w4Vdb12w4Nb7w1Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonHash.Sha1p(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vn, inst.N), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.Q);
}
public static void Sha1su0A1(CodeGenContext context, uint encoding)
{
InstDb22w1Vnb16w4Vdb12w4Nb7w1Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonHash.Sha1su0(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vn, inst.N), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.Q);
}
public static void Sha1su0T1(CodeGenContext context, uint encoding)
{
InstDb22w1Vnb16w4Vdb12w4Nb7w1Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonHash.Sha1su0(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vn, inst.N), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.Q);
}
public static void Sha1su1A1(CodeGenContext context, uint encoding)
{
InstDb22w1Sizeb18w2Vdb12w4Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonHash.Sha1su1(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.Size);
}
public static void Sha1su1T1(CodeGenContext context, uint encoding)
{
InstDb22w1Sizeb18w2Vdb12w4Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonHash.Sha1su1(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.Size);
}
public static void Sha256hA1(CodeGenContext context, uint encoding)
{
InstDb22w1Vnb16w4Vdb12w4Nb7w1Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonHash.Sha256h(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vn, inst.N), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.Q);
}
public static void Sha256hT1(CodeGenContext context, uint encoding)
{
InstDb22w1Vnb16w4Vdb12w4Nb7w1Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonHash.Sha256h(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vn, inst.N), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.Q);
}
public static void Sha256h2A1(CodeGenContext context, uint encoding)
{
InstDb22w1Vnb16w4Vdb12w4Nb7w1Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonHash.Sha256h2(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vn, inst.N), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.Q);
}
public static void Sha256h2T1(CodeGenContext context, uint encoding)
{
InstDb22w1Vnb16w4Vdb12w4Nb7w1Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonHash.Sha256h2(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vn, inst.N), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.Q);
}
public static void Sha256su0A1(CodeGenContext context, uint encoding)
{
InstDb22w1Sizeb18w2Vdb12w4Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonHash.Sha256su0(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.Size);
}
public static void Sha256su0T1(CodeGenContext context, uint encoding)
{
InstDb22w1Sizeb18w2Vdb12w4Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonHash.Sha256su0(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.Size);
}
public static void Sha256su1A1(CodeGenContext context, uint encoding)
{
InstDb22w1Vnb16w4Vdb12w4Nb7w1Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonHash.Sha256su1(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vn, inst.N), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.Q);
}
public static void Sha256su1T1(CodeGenContext context, uint encoding)
{
InstDb22w1Vnb16w4Vdb12w4Nb7w1Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonHash.Sha256su1(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vn, inst.N), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.Q);
}
public static void Shadd16A1(CodeGenContext context, uint encoding)
{
InstCondb28w4Rnb16w4Rdb12w4Rmb0w4 inst = new(encoding);
InstEmitHalve.Shadd16(context, inst.Rd, inst.Rn, inst.Rm);
}
public static void Shadd16T1(CodeGenContext context, uint encoding)
{
InstRnb16w4Rdb8w4Rmb0w4 inst = new(encoding);
InstEmitHalve.Shadd16(context, inst.Rd, inst.Rn, inst.Rm);
}
public static void Shadd8A1(CodeGenContext context, uint encoding)
{
InstCondb28w4Rnb16w4Rdb12w4Rmb0w4 inst = new(encoding);
InstEmitHalve.Shadd8(context, inst.Rd, inst.Rn, inst.Rm);
}
public static void Shadd8T1(CodeGenContext context, uint encoding)
{
InstRnb16w4Rdb8w4Rmb0w4 inst = new(encoding);
InstEmitHalve.Shadd8(context, inst.Rd, inst.Rn, inst.Rm);
}
public static void ShasxA1(CodeGenContext context, uint encoding)
{
InstCondb28w4Rnb16w4Rdb12w4Rmb0w4 inst = new(encoding);
InstEmitHalve.Shasx(context, inst.Rd, inst.Rn, inst.Rm);
}
public static void ShasxT1(CodeGenContext context, uint encoding)
{
InstRnb16w4Rdb8w4Rmb0w4 inst = new(encoding);
InstEmitHalve.Shasx(context, inst.Rd, inst.Rn, inst.Rm);
}
public static void ShsaxA1(CodeGenContext context, uint encoding)
{
InstCondb28w4Rnb16w4Rdb12w4Rmb0w4 inst = new(encoding);
InstEmitHalve.Shsax(context, inst.Rd, inst.Rn, inst.Rm);
}
public static void ShsaxT1(CodeGenContext context, uint encoding)
{
InstRnb16w4Rdb8w4Rmb0w4 inst = new(encoding);
InstEmitHalve.Shsax(context, inst.Rd, inst.Rn, inst.Rm);
}
public static void Shsub16A1(CodeGenContext context, uint encoding)
{
InstCondb28w4Rnb16w4Rdb12w4Rmb0w4 inst = new(encoding);
InstEmitHalve.Shsub16(context, inst.Rd, inst.Rn, inst.Rm);
}
public static void Shsub16T1(CodeGenContext context, uint encoding)
{
InstRnb16w4Rdb8w4Rmb0w4 inst = new(encoding);
InstEmitHalve.Shsub16(context, inst.Rd, inst.Rn, inst.Rm);
}
public static void Shsub8A1(CodeGenContext context, uint encoding)
{
InstCondb28w4Rnb16w4Rdb12w4Rmb0w4 inst = new(encoding);
InstEmitHalve.Shsub8(context, inst.Rd, inst.Rn, inst.Rm);
}
public static void Shsub8T1(CodeGenContext context, uint encoding)
{
InstRnb16w4Rdb8w4Rmb0w4 inst = new(encoding);
InstEmitHalve.Shsub8(context, inst.Rd, inst.Rn, inst.Rm);
}
public static void SmcA1(CodeGenContext context, uint encoding)
{
InstEmitSystem.PrivilegedInstruction(context, encoding);
}
public static void SmcT1(CodeGenContext context, uint encoding)
{
InstEmitSystem.PrivilegedInstruction(context, encoding);
}
public static void SmlabbA1(CodeGenContext context, uint encoding)
{
InstCondb28w4Rdb16w4Rab12w4Rmb8w4Mb6w1Nb5w1Rnb0w4 inst = new(encoding);
InstEmitMultiply.Smlabb(context, inst.Rd, inst.Rn, inst.Rm, inst.Ra, inst.N != 0, inst.M != 0);
}
public static void SmlabbT1(CodeGenContext context, uint encoding)
{
InstRnb16w4Rab12w4Rdb8w4Nb5w1Mb4w1Rmb0w4 inst = new(encoding);
InstEmitMultiply.Smlabb(context, inst.Rd, inst.Rn, inst.Rm, inst.Ra, inst.N != 0, inst.M != 0);
}
public static void SmladA1(CodeGenContext context, uint encoding)
{
InstCondb28w4Rdb16w4Rab12w4Rmb8w4Mb5w1Rnb0w4 inst = new(encoding);
InstEmitMultiply.Smlad(context, inst.Rd, inst.Rn, inst.Rm, inst.Ra, inst.M != 0);
}
public static void SmladT1(CodeGenContext context, uint encoding)
{
InstRnb16w4Rab12w4Rdb8w4Mb4w1Rmb0w4 inst = new(encoding);
InstEmitMultiply.Smlad(context, inst.Rd, inst.Rn, inst.Rm, inst.Ra, inst.M != 0);
}
public static void SmlalA1(CodeGenContext context, uint encoding)
{
InstCondb28w4Sb20w1Rdhib16w4Rdlob12w4Rmb8w4Rnb0w4 inst = new(encoding);
InstEmitMultiply.Smlal(context, inst.Rdlo, inst.Rdhi, inst.Rn, inst.Rm, inst.S != 0);
}
public static void SmlalT1(CodeGenContext context, uint encoding)
{
InstRnb16w4Rdlob12w4Rdhib8w4Rmb0w4 inst = new(encoding);
InstEmitMultiply.Smlal(context, inst.Rdlo, inst.Rdhi, inst.Rn, inst.Rm, false);
}
public static void SmlalbbA1(CodeGenContext context, uint encoding)
{
InstCondb28w4Rdhib16w4Rdlob12w4Rmb8w4Mb6w1Nb5w1Rnb0w4 inst = new(encoding);
InstEmitMultiply.Smlalbb(context, inst.Rdlo, inst.Rdhi, inst.Rn, inst.Rm, inst.N != 0, inst.M != 0);
}
public static void SmlalbbT1(CodeGenContext context, uint encoding)
{
InstRnb16w4Rdlob12w4Rdhib8w4Nb5w1Mb4w1Rmb0w4 inst = new(encoding);
InstEmitMultiply.Smlalbb(context, inst.Rdlo, inst.Rdhi, inst.Rn, inst.Rm, inst.N != 0, inst.M != 0);
}
public static void SmlaldA1(CodeGenContext context, uint encoding)
{
InstCondb28w4Rdhib16w4Rdlob12w4Rmb8w4Mb5w1Rnb0w4 inst = new(encoding);
InstEmitMultiply.Smlald(context, inst.Rdlo, inst.Rdhi, inst.Rn, inst.Rm, inst.M != 0);
}
public static void SmlaldT1(CodeGenContext context, uint encoding)
{
InstRnb16w4Rdlob12w4Rdhib8w4Mb4w1Rmb0w4 inst = new(encoding);
InstEmitMultiply.Smlald(context, inst.Rdlo, inst.Rdhi, inst.Rn, inst.Rm, inst.M != 0);
}
public static void SmlawbA1(CodeGenContext context, uint encoding)
{
InstCondb28w4Rdb16w4Rab12w4Rmb8w4Mb6w1Rnb0w4 inst = new(encoding);
InstEmitMultiply.Smlawb(context, inst.Rd, inst.Rn, inst.Rm, inst.Ra, inst.M != 0);
}
public static void SmlawbT1(CodeGenContext context, uint encoding)
{
InstRnb16w4Rab12w4Rdb8w4Mb4w1Rmb0w4 inst = new(encoding);
InstEmitMultiply.Smlawb(context, inst.Rd, inst.Rn, inst.Rm, inst.Ra, inst.M != 0);
}
public static void SmlsdA1(CodeGenContext context, uint encoding)
{
InstCondb28w4Rdb16w4Rab12w4Rmb8w4Mb5w1Rnb0w4 inst = new(encoding);
InstEmitMultiply.Smlsd(context, inst.Rd, inst.Rn, inst.Rm, inst.Ra, inst.M != 0);
}
public static void SmlsdT1(CodeGenContext context, uint encoding)
{
InstRnb16w4Rab12w4Rdb8w4Mb4w1Rmb0w4 inst = new(encoding);
InstEmitMultiply.Smlsd(context, inst.Rd, inst.Rn, inst.Rm, inst.Ra, inst.M != 0);
}
public static void SmlsldA1(CodeGenContext context, uint encoding)
{
InstCondb28w4Rdhib16w4Rdlob12w4Rmb8w4Mb5w1Rnb0w4 inst = new(encoding);
InstEmitMultiply.Smlsld(context, inst.Rdlo, inst.Rdhi, inst.Rn, inst.Rm, inst.M != 0);
}
public static void SmlsldT1(CodeGenContext context, uint encoding)
{
InstRnb16w4Rdlob12w4Rdhib8w4Mb4w1Rmb0w4 inst = new(encoding);
InstEmitMultiply.Smlsld(context, inst.Rdlo, inst.Rdhi, inst.Rn, inst.Rm, inst.M != 0);
}
public static void SmmlaA1(CodeGenContext context, uint encoding)
{
InstCondb28w4Rdb16w4Rab12w4Rmb8w4Rb5w1Rnb0w4 inst = new(encoding);
InstEmitMultiply.Smmla(context, inst.Rd, inst.Rn, inst.Rm, inst.Ra, inst.R != 0);
}
public static void SmmlaT1(CodeGenContext context, uint encoding)
{
InstRnb16w4Rab12w4Rdb8w4Rb4w1Rmb0w4 inst = new(encoding);
InstEmitMultiply.Smmla(context, inst.Rd, inst.Rn, inst.Rm, inst.Ra, inst.R != 0);
}
public static void SmmlsA1(CodeGenContext context, uint encoding)
{
InstCondb28w4Rdb16w4Rab12w4Rmb8w4Rb5w1Rnb0w4 inst = new(encoding);
InstEmitMultiply.Smmls(context, inst.Rd, inst.Rn, inst.Rm, inst.Ra, inst.R != 0);
}
public static void SmmlsT1(CodeGenContext context, uint encoding)
{
InstRnb16w4Rab12w4Rdb8w4Rb4w1Rmb0w4 inst = new(encoding);
InstEmitMultiply.Smmls(context, inst.Rd, inst.Rn, inst.Rm, inst.Ra, inst.R != 0);
}
public static void SmmulA1(CodeGenContext context, uint encoding)
{
InstCondb28w4Rdb16w4Rmb8w4Rb5w1Rnb0w4 inst = new(encoding);
InstEmitMultiply.Smmul(context, inst.Rd, inst.Rn, inst.Rm, inst.R != 0);
}
public static void SmmulT1(CodeGenContext context, uint encoding)
{
InstRnb16w4Rdb8w4Rb4w1Rmb0w4 inst = new(encoding);
InstEmitMultiply.Smmul(context, inst.Rd, inst.Rn, inst.Rm, inst.R != 0);
}
public static void SmuadA1(CodeGenContext context, uint encoding)
{
InstCondb28w4Rdb16w4Rmb8w4Mb5w1Rnb0w4 inst = new(encoding);
InstEmitMultiply.Smuad(context, inst.Rd, inst.Rn, inst.Rm, inst.M != 0);
}
public static void SmuadT1(CodeGenContext context, uint encoding)
{
InstRnb16w4Rdb8w4Mb4w1Rmb0w4 inst = new(encoding);
InstEmitMultiply.Smuad(context, inst.Rd, inst.Rn, inst.Rm, inst.M != 0);
}
public static void SmulbbA1(CodeGenContext context, uint encoding)
{
InstCondb28w4Rdb16w4Rmb8w4Mb6w1Nb5w1Rnb0w4 inst = new(encoding);
InstEmitMultiply.Smulbb(context, inst.Rd, inst.Rn, inst.Rm, inst.N != 0, inst.M != 0);
}
public static void SmulbbT1(CodeGenContext context, uint encoding)
{
InstRnb16w4Rdb8w4Nb5w1Mb4w1Rmb0w4 inst = new(encoding);
InstEmitMultiply.Smulbb(context, inst.Rd, inst.Rn, inst.Rm, inst.N != 0, inst.M != 0);
}
public static void SmullA1(CodeGenContext context, uint encoding)
{
InstCondb28w4Sb20w1Rdhib16w4Rdlob12w4Rmb8w4Rnb0w4 inst = new(encoding);
InstEmitMultiply.Smull(context, inst.Rdlo, inst.Rdhi, inst.Rn, inst.Rm, inst.S != 0);
}
public static void SmullT1(CodeGenContext context, uint encoding)
{
InstRnb16w4Rdlob12w4Rdhib8w4Rmb0w4 inst = new(encoding);
InstEmitMultiply.Smull(context, inst.Rdlo, inst.Rdhi, inst.Rn, inst.Rm, false);
}
public static void SmulwbA1(CodeGenContext context, uint encoding)
{
InstCondb28w4Rdb16w4Rmb8w4Mb6w1Rnb0w4 inst = new(encoding);
InstEmitMultiply.Smulwb(context, inst.Rd, inst.Rn, inst.Rm, inst.M != 0);
}
public static void SmulwbT1(CodeGenContext context, uint encoding)
{
InstRnb16w4Rdb8w4Mb4w1Rmb0w4 inst = new(encoding);
InstEmitMultiply.Smulwb(context, inst.Rd, inst.Rn, inst.Rm, inst.M != 0);
}
public static void SmusdA1(CodeGenContext context, uint encoding)
{
InstCondb28w4Rdb16w4Rmb8w4Mb5w1Rnb0w4 inst = new(encoding);
InstEmitMultiply.Smusd(context, inst.Rd, inst.Rn, inst.Rm, inst.M != 0);
}
public static void SmusdT1(CodeGenContext context, uint encoding)
{
InstRnb16w4Rdb8w4Mb4w1Rmb0w4 inst = new(encoding);
InstEmitMultiply.Smusd(context, inst.Rd, inst.Rn, inst.Rm, inst.M != 0);
}
public static void SrsA1(CodeGenContext context, uint encoding)
{
InstEmitSystem.PrivilegedInstruction(context, encoding);
}
public static void SrsT1(CodeGenContext context, uint encoding)
{
InstEmitSystem.PrivilegedInstruction(context, encoding);
}
public static void SrsT2(CodeGenContext context, uint encoding)
{
InstEmitSystem.PrivilegedInstruction(context, encoding);
}
public static void SsatA1(CodeGenContext context, uint encoding)
{
InstCondb28w4SatImmb16w5Rdb12w4Imm5b7w5Shb6w1Rnb0w4 inst = new(encoding);
InstEmitSaturate.Ssat(context, inst.Rd, inst.SatImm, inst.Rn, inst.Sh != 0, inst.Imm5);
}
public static void SsatT1(CodeGenContext context, uint encoding)
{
InstShb21w1Rnb16w4Imm3b12w3Rdb8w4Imm2b6w2SatImmb0w5 inst = new(encoding);
InstEmitSaturate.Ssat(context, inst.Rd, inst.SatImm, inst.Rn, inst.Sh != 0, ImmUtils.CombineImmU5(inst.Imm2, inst.Imm3));
}
public static void Ssat16A1(CodeGenContext context, uint encoding)
{
InstCondb28w4SatImmb16w4Rdb12w4Rnb0w4 inst = new(encoding);
InstEmitSaturate.Ssat16(context, inst.Rd, inst.SatImm, inst.Rn);
}
public static void Ssat16T1(CodeGenContext context, uint encoding)
{
InstRnb16w4Rdb8w4SatImmb0w4 inst = new(encoding);
InstEmitSaturate.Ssat16(context, inst.Rd, inst.SatImm, inst.Rn);
}
public static void SsaxA1(CodeGenContext context, uint encoding)
{
InstCondb28w4Rnb16w4Rdb12w4Rmb0w4 inst = new(encoding);
InstEmitGE.Ssax(context, inst.Rd, inst.Rn, inst.Rm);
}
public static void SsaxT1(CodeGenContext context, uint encoding)
{
InstRnb16w4Rdb8w4Rmb0w4 inst = new(encoding);
InstEmitGE.Ssax(context, inst.Rd, inst.Rn, inst.Rm);
}
public static void SsbbA1(CodeGenContext context, uint encoding)
{
throw new NotImplementedException();
}
public static void SsbbT1(CodeGenContext context, uint encoding)
{
throw new NotImplementedException();
}
public static void Ssub16A1(CodeGenContext context, uint encoding)
{
InstCondb28w4Rnb16w4Rdb12w4Rmb0w4 inst = new(encoding);
InstEmitGE.Ssub16(context, inst.Rd, inst.Rn, inst.Rm);
}
public static void Ssub16T1(CodeGenContext context, uint encoding)
{
InstRnb16w4Rdb8w4Rmb0w4 inst = new(encoding);
InstEmitGE.Ssub16(context, inst.Rd, inst.Rn, inst.Rm);
}
public static void Ssub8A1(CodeGenContext context, uint encoding)
{
InstCondb28w4Rnb16w4Rdb12w4Rmb0w4 inst = new(encoding);
InstEmitGE.Ssub8(context, inst.Rd, inst.Rn, inst.Rm);
}
public static void Ssub8T1(CodeGenContext context, uint encoding)
{
InstRnb16w4Rdb8w4Rmb0w4 inst = new(encoding);
InstEmitGE.Ssub8(context, inst.Rd, inst.Rn, inst.Rm);
}
public static void StcA1(CodeGenContext context, uint encoding)
{
InstCondb28w4Pb24w1Ub23w1Wb21w1Rnb16w4Imm8b0w8 inst = new(encoding);
InstEmitMemory.Stc(context, inst.Rn, (int)inst.Imm8 << 2, inst.P != 0, inst.U != 0, inst.W != 0);
}
public static void StcT1(CodeGenContext context, uint encoding)
{
InstPb24w1Ub23w1Wb21w1Rnb16w4Imm8b0w8 inst = new(encoding);
InstEmitMemory.Stc(context, inst.Rn, (int)inst.Imm8 << 2, inst.P != 0, inst.U != 0, inst.W != 0);
}
public static void StlA1(CodeGenContext context, uint encoding)
{
InstCondb28w4Rnb16w4Rtb0w4 inst = new(encoding);
InstEmitMemory.Stl(context, inst.Rt, inst.Rn);
}
public static void StlT1(CodeGenContext context, uint encoding)
{
InstRnb16w4Rtb12w4 inst = new(encoding);
InstEmitMemory.Stl(context, inst.Rt, inst.Rn);
}
public static void StlbA1(CodeGenContext context, uint encoding)
{
InstCondb28w4Rnb16w4Rtb0w4 inst = new(encoding);
InstEmitMemory.Stlb(context, inst.Rt, inst.Rn);
}
public static void StlbT1(CodeGenContext context, uint encoding)
{
InstRnb16w4Rtb12w4 inst = new(encoding);
InstEmitMemory.Stlb(context, inst.Rt, inst.Rn);
}
public static void StlexA1(CodeGenContext context, uint encoding)
{
InstCondb28w4Rnb16w4Rdb12w4Rtb0w4 inst = new(encoding);
InstEmitMemory.Stlex(context, inst.Rd, inst.Rt, inst.Rn);
}
public static void StlexT1(CodeGenContext context, uint encoding)
{
InstRnb16w4Rtb12w4Rdb0w4 inst = new(encoding);
InstEmitMemory.Stlex(context, inst.Rd, inst.Rt, inst.Rn);
}
public static void StlexbA1(CodeGenContext context, uint encoding)
{
InstCondb28w4Rnb16w4Rdb12w4Rtb0w4 inst = new(encoding);
InstEmitMemory.Stlexb(context, inst.Rd, inst.Rt, inst.Rn);
}
public static void StlexbT1(CodeGenContext context, uint encoding)
{
InstRnb16w4Rtb12w4Rdb0w4 inst = new(encoding);
InstEmitMemory.Stlexb(context, inst.Rd, inst.Rt, inst.Rn);
}
public static void StlexdA1(CodeGenContext context, uint encoding)
{
InstCondb28w4Rnb16w4Rdb12w4Rtb0w4 inst = new(encoding);
InstEmitMemory.Stlexd(context, inst.Rd, inst.Rt, RegisterUtils.GetRt2(inst.Rt), inst.Rn);
}
public static void StlexdT1(CodeGenContext context, uint encoding)
{
InstRnb16w4Rtb12w4Rt2b8w4Rdb0w4 inst = new(encoding);
InstEmitMemory.Stlexd(context, inst.Rd, inst.Rt, inst.Rt2, inst.Rn);
}
public static void StlexhA1(CodeGenContext context, uint encoding)
{
InstCondb28w4Rnb16w4Rdb12w4Rtb0w4 inst = new(encoding);
InstEmitMemory.Stlexh(context, inst.Rd, inst.Rt, inst.Rn);
}
public static void StlexhT1(CodeGenContext context, uint encoding)
{
InstRnb16w4Rtb12w4Rdb0w4 inst = new(encoding);
InstEmitMemory.Stlexh(context, inst.Rd, inst.Rt, inst.Rn);
}
public static void StlhA1(CodeGenContext context, uint encoding)
{
InstCondb28w4Rnb16w4Rtb0w4 inst = new(encoding);
InstEmitMemory.Stlh(context, inst.Rt, inst.Rn);
}
public static void StlhT1(CodeGenContext context, uint encoding)
{
InstRnb16w4Rtb12w4 inst = new(encoding);
InstEmitMemory.Stlh(context, inst.Rt, inst.Rn);
}
public static void StmA1(CodeGenContext context, uint encoding)
{
InstCondb28w4Wb21w1Rnb16w4RegisterListb0w16 inst = new(encoding);
InstEmitMemory.Stm(context, inst.Rn, inst.RegisterList, inst.W != 0);
}
public static void StmT1(CodeGenContext context, uint encoding)
{
InstRnb24w3RegisterListb16w8 inst = new(encoding);
InstEmitMemory.Stm(context, inst.Rn, inst.RegisterList, false);
}
public static void StmT2(CodeGenContext context, uint encoding)
{
InstWb21w1Rnb16w4Mb14w1RegisterListb0w14 inst = new(encoding);
InstEmitMemory.Stm(context, inst.Rn, ImmUtils.CombineRegisterList(inst.RegisterList, inst.M), inst.W != 0);
}
public static void StmdaA1(CodeGenContext context, uint encoding)
{
InstCondb28w4Wb21w1Rnb16w4RegisterListb0w16 inst = new(encoding);
InstEmitMemory.Stmda(context, inst.Rn, inst.RegisterList, inst.W != 0);
}
public static void StmdbA1(CodeGenContext context, uint encoding)
{
InstCondb28w4Wb21w1Rnb16w4RegisterListb0w16 inst = new(encoding);
InstEmitMemory.Stmdb(context, inst.Rn, inst.RegisterList, inst.W != 0);
}
public static void StmdbT1(CodeGenContext context, uint encoding)
{
InstWb21w1Rnb16w4Mb14w1RegisterListb0w14 inst = new(encoding);
InstEmitMemory.Stmdb(context, inst.Rn, ImmUtils.CombineRegisterList(inst.RegisterList, inst.M), inst.W != 0);
}
public static void StmibA1(CodeGenContext context, uint encoding)
{
InstCondb28w4Wb21w1Rnb16w4RegisterListb0w16 inst = new(encoding);
InstEmitMemory.Stmib(context, inst.Rn, inst.RegisterList, inst.W != 0);
}
public static void StmUA1(CodeGenContext context, uint encoding)
{
InstEmitSystem.PrivilegedInstruction(context, encoding);
}
public static void StrbtA1(CodeGenContext context, uint encoding)
{
InstCondb28w4Ub23w1Rnb16w4Rtb12w4Imm12b0w12 inst = new(encoding);
InstEmitMemory.StrbtI(context, inst.Rt, inst.Rn, (int)inst.Imm12, postIndex: true, inst.U != 0);
}
public static void StrbtA2(CodeGenContext context, uint encoding)
{
InstCondb28w4Ub23w1Rnb16w4Rtb12w4Imm5b7w5Stypeb5w2Rmb0w4 inst = new(encoding);
InstEmitMemory.StrbtR(context, inst.Rt, inst.Rn, inst.Rm, inst.Stype, inst.Imm5, postIndex: true, inst.U != 0);
}
public static void StrbtT1(CodeGenContext context, uint encoding)
{
InstRnb16w4Rtb12w4Imm8b0w8 inst = new(encoding);
InstEmitMemory.StrbtI(context, inst.Rt, inst.Rn, (int)inst.Imm8, postIndex: false, true);
}
public static void StrbIA1(CodeGenContext context, uint encoding)
{
InstCondb28w4Pb24w1Ub23w1Wb21w1Rnb16w4Rtb12w4Imm12b0w12 inst = new(encoding);
InstEmitMemory.StrbI(context, inst.Rt, inst.Rn, (int)inst.Imm12, inst.P != 0, inst.U != 0, inst.W != 0);
}
public static void StrbIT1(CodeGenContext context, uint encoding)
{
InstImm5b22w5Rnb19w3Rtb16w3 inst = new(encoding);
InstEmitMemory.StrbI(context, inst.Rt, inst.Rn, (int)inst.Imm5, true, true, false);
}
public static void StrbIT2(CodeGenContext context, uint encoding)
{
InstRnb16w4Rtb12w4Imm12b0w12 inst = new(encoding);
InstEmitMemory.StrbI(context, inst.Rt, inst.Rn, (int)inst.Imm12, true, true, false);
}
public static void StrbIT3(CodeGenContext context, uint encoding)
{
InstRnb16w4Rtb12w4Pb10w1Ub9w1Wb8w1Imm8b0w8 inst = new(encoding);
InstEmitMemory.StrbI(context, inst.Rt, inst.Rn, (int)inst.Imm8, inst.P != 0, inst.U != 0, inst.W != 0);
}
public static void StrbRA1(CodeGenContext context, uint encoding)
{
InstCondb28w4Pb24w1Ub23w1Wb21w1Rnb16w4Rtb12w4Imm5b7w5Stypeb5w2Rmb0w4 inst = new(encoding);
InstEmitMemory.StrbR(context, inst.Rt, inst.Rn, inst.Rm, inst.Stype, inst.Imm5, inst.P != 0, inst.U != 0, inst.W != 0);
}
public static void StrbRT1(CodeGenContext context, uint encoding)
{
InstRmb22w3Rnb19w3Rtb16w3 inst = new(encoding);
InstEmitMemory.StrbR(context, inst.Rt, inst.Rn, inst.Rm, 0, 0, true, true, false);
}
public static void StrbRT2(CodeGenContext context, uint encoding)
{
InstRnb16w4Rtb12w4Imm2b4w2Rmb0w4 inst = new(encoding);
InstEmitMemory.StrbR(context, inst.Rt, inst.Rn, inst.Rm, 0, inst.Imm2, true, true, false);
}
public static void StrdIA1(CodeGenContext context, uint encoding)
{
InstCondb28w4Pb24w1Ub23w1Wb21w1Rnb16w4Rtb12w4Imm4hb8w4Imm4lb0w4 inst = new(encoding);
InstEmitMemory.StrdI(context, inst.Rt, RegisterUtils.GetRt2(inst.Rt), inst.Rn, ImmUtils.CombineImmU8(inst.Imm4l, inst.Imm4h), inst.P != 0, inst.U != 0, inst.W != 0);
}
public static void StrdIT1(CodeGenContext context, uint encoding)
{
InstPb24w1Ub23w1Wb21w1Rnb16w4Rtb12w4Rt2b8w4Imm8b0w8 inst = new(encoding);
InstEmitMemory.StrdI(context, inst.Rt, inst.Rt2, inst.Rn, inst.Imm8 << 2, inst.P != 0, inst.U != 0, inst.W != 0);
}
public static void StrdRA1(CodeGenContext context, uint encoding)
{
InstCondb28w4Pb24w1Ub23w1Wb21w1Rnb16w4Rtb12w4Rmb0w4 inst = new(encoding);
InstEmitMemory.StrdR(context, inst.Rt, RegisterUtils.GetRt2(inst.Rt), inst.Rn, inst.Rm, inst.P != 0, inst.U != 0, inst.W != 0);
}
public static void StrexA1(CodeGenContext context, uint encoding)
{
InstCondb28w4Rnb16w4Rdb12w4Rtb0w4 inst = new(encoding);
InstEmitMemory.Strex(context, inst.Rd, inst.Rt, inst.Rn);
}
public static void StrexT1(CodeGenContext context, uint encoding)
{
InstRnb16w4Rtb12w4Rdb8w4Imm8b0w8 inst = new(encoding);
InstEmitMemory.Strex(context, inst.Rd, inst.Rt, inst.Rn);
}
public static void StrexbA1(CodeGenContext context, uint encoding)
{
InstCondb28w4Rnb16w4Rdb12w4Rtb0w4 inst = new(encoding);
InstEmitMemory.Strexb(context, inst.Rd, inst.Rt, inst.Rn);
}
public static void StrexbT1(CodeGenContext context, uint encoding)
{
InstRnb16w4Rtb12w4Rdb0w4 inst = new(encoding);
InstEmitMemory.Strexb(context, inst.Rd, inst.Rt, inst.Rn);
}
public static void StrexdA1(CodeGenContext context, uint encoding)
{
InstCondb28w4Rnb16w4Rdb12w4Rtb0w4 inst = new(encoding);
InstEmitMemory.Strexd(context, inst.Rd, inst.Rt, RegisterUtils.GetRt2(inst.Rt), inst.Rn);
}
public static void StrexdT1(CodeGenContext context, uint encoding)
{
InstRnb16w4Rtb12w4Rt2b8w4Rdb0w4 inst = new(encoding);
InstEmitMemory.Strexd(context, inst.Rd, inst.Rt, inst.Rt2, inst.Rn);
}
public static void StrexhA1(CodeGenContext context, uint encoding)
{
InstCondb28w4Rnb16w4Rdb12w4Rtb0w4 inst = new(encoding);
InstEmitMemory.Strexh(context, inst.Rd, inst.Rt, inst.Rn);
}
public static void StrexhT1(CodeGenContext context, uint encoding)
{
InstRnb16w4Rtb12w4Rdb0w4 inst = new(encoding);
InstEmitMemory.Strexh(context, inst.Rd, inst.Rt, inst.Rn);
}
public static void StrhtA1(CodeGenContext context, uint encoding)
{
InstCondb28w4Ub23w1Rnb16w4Rtb12w4Imm4hb8w4Imm4lb0w4 inst = new(encoding);
InstEmitMemory.StrhtI(context, inst.Rt, inst.Rn, (int)ImmUtils.CombineImmU8(inst.Imm4l, inst.Imm4h), postIndex: true, inst.U != 0);
}
public static void StrhtA2(CodeGenContext context, uint encoding)
{
InstCondb28w4Ub23w1Rnb16w4Rtb12w4Rmb0w4 inst = new(encoding);
InstEmitMemory.StrhtR(context, inst.Rt, inst.Rn, inst.Rm, postIndex: true, inst.U != 0);
}
public static void StrhtT1(CodeGenContext context, uint encoding)
{
InstRnb16w4Rtb12w4Imm8b0w8 inst = new(encoding);
InstEmitMemory.StrhtI(context, inst.Rt, inst.Rn, (int)inst.Imm8, postIndex: false, true);
}
public static void StrhIA1(CodeGenContext context, uint encoding)
{
InstCondb28w4Pb24w1Ub23w1Wb21w1Rnb16w4Rtb12w4Imm4hb8w4Imm4lb0w4 inst = new(encoding);
InstEmitMemory.StrhI(context, inst.Rt, inst.Rn, (int)ImmUtils.CombineImmU8(inst.Imm4l, inst.Imm4h), inst.P != 0, inst.U != 0, inst.W != 0);
}
public static void StrhIT1(CodeGenContext context, uint encoding)
{
InstImm5b22w5Rnb19w3Rtb16w3 inst = new(encoding);
InstEmitMemory.StrhI(context, inst.Rt, inst.Rn, (int)inst.Imm5 << 1, true, true, false);
}
public static void StrhIT2(CodeGenContext context, uint encoding)
{
InstRnb16w4Rtb12w4Imm12b0w12 inst = new(encoding);
InstEmitMemory.StrhI(context, inst.Rt, inst.Rn, (int)inst.Imm12, true, true, false);
}
public static void StrhIT3(CodeGenContext context, uint encoding)
{
InstRnb16w4Rtb12w4Pb10w1Ub9w1Wb8w1Imm8b0w8 inst = new(encoding);
InstEmitMemory.StrhI(context, inst.Rt, inst.Rn, (int)inst.Imm8, inst.P != 0, inst.U != 0, inst.W != 0);
}
public static void StrhRA1(CodeGenContext context, uint encoding)
{
InstCondb28w4Pb24w1Ub23w1Wb21w1Rnb16w4Rtb12w4Rmb0w4 inst = new(encoding);
InstEmitMemory.StrhR(context, inst.Rt, inst.Rn, inst.Rm, 0, 0, inst.P != 0, inst.U != 0, inst.W != 0);
}
public static void StrhRT1(CodeGenContext context, uint encoding)
{
InstRmb22w3Rnb19w3Rtb16w3 inst = new(encoding);
InstEmitMemory.StrhR(context, inst.Rt, inst.Rn, inst.Rm, 0, 0, true, true, false);
}
public static void StrhRT2(CodeGenContext context, uint encoding)
{
InstRnb16w4Rtb12w4Imm2b4w2Rmb0w4 inst = new(encoding);
InstEmitMemory.StrhR(context, inst.Rt, inst.Rn, inst.Rm, 0, inst.Imm2, true, true, false);
}
public static void StrtA1(CodeGenContext context, uint encoding)
{
InstCondb28w4Ub23w1Rnb16w4Rtb12w4Imm12b0w12 inst = new(encoding);
InstEmitMemory.StrtI(context, inst.Rt, inst.Rn, (int)inst.Imm12, postIndex: true, inst.U != 0);
}
public static void StrtA2(CodeGenContext context, uint encoding)
{
InstCondb28w4Ub23w1Rnb16w4Rtb12w4Imm5b7w5Stypeb5w2Rmb0w4 inst = new(encoding);
InstEmitMemory.StrtR(context, inst.Rt, inst.Rn, inst.Rm, inst.Stype, inst.Imm5, postIndex: true, inst.U != 0);
}
public static void StrtT1(CodeGenContext context, uint encoding)
{
InstRnb16w4Rtb12w4Imm8b0w8 inst = new(encoding);
InstEmitMemory.StrtI(context, inst.Rt, inst.Rn, (int)inst.Imm8, postIndex: false, true);
}
public static void StrIA1(CodeGenContext context, uint encoding)
{
InstCondb28w4Pb24w1Ub23w1Wb21w1Rnb16w4Rtb12w4Imm12b0w12 inst = new(encoding);
InstEmitMemory.StrI(context, inst.Rt, inst.Rn, (int)inst.Imm12, inst.P != 0, inst.U != 0, inst.W != 0);
}
public static void StrIT1(CodeGenContext context, uint encoding)
{
InstImm5b22w5Rnb19w3Rtb16w3 inst = new(encoding);
InstEmitMemory.StrI(context, inst.Rt, inst.Rn, (int)inst.Imm5 << 2, true, true, false);
}
public static void StrIT2(CodeGenContext context, uint encoding)
{
InstRtb24w3Imm8b16w8 inst = new(encoding);
InstEmitMemory.StrI(context, inst.Rt, RegisterUtils.SpRegister, (int)inst.Imm8 << 2, true, true, false);
}
public static void StrIT3(CodeGenContext context, uint encoding)
{
InstRnb16w4Rtb12w4Imm12b0w12 inst = new(encoding);
InstEmitMemory.StrI(context, inst.Rt, inst.Rn, (int)inst.Imm12, true, true, false);
}
public static void StrIT4(CodeGenContext context, uint encoding)
{
InstRnb16w4Rtb12w4Pb10w1Ub9w1Wb8w1Imm8b0w8 inst = new(encoding);
InstEmitMemory.StrI(context, inst.Rt, inst.Rn, (int)inst.Imm8, inst.P != 0, inst.U != 0, inst.W != 0);
}
public static void StrRA1(CodeGenContext context, uint encoding)
{
InstCondb28w4Pb24w1Ub23w1Wb21w1Rnb16w4Rtb12w4Imm5b7w5Stypeb5w2Rmb0w4 inst = new(encoding);
InstEmitMemory.StrR(context, inst.Rt, inst.Rn, inst.Rm, inst.Stype, inst.Imm5, inst.P != 0, inst.U != 0, inst.W != 0);
}
public static void StrRT1(CodeGenContext context, uint encoding)
{
InstRmb22w3Rnb19w3Rtb16w3 inst = new(encoding);
InstEmitMemory.StrR(context, inst.Rt, inst.Rn, inst.Rm, 0, 0, true, true, false);
}
public static void StrRT2(CodeGenContext context, uint encoding)
{
InstRnb16w4Rtb12w4Imm2b4w2Rmb0w4 inst = new(encoding);
InstEmitMemory.StrR(context, inst.Rt, inst.Rn, inst.Rm, 0, inst.Imm2, true, true, false);
}
public static void SubIA1(CodeGenContext context, uint encoding)
{
InstCondb28w4Sb20w1Rnb16w4Rdb12w4Imm12b0w12 inst = new(encoding);
InstEmitAlu.SubI(context, inst.Rd, inst.Rn, ImmUtils.ExpandImm(inst.Imm12), inst.S != 0);
}
public static void SubIT1(CodeGenContext context, uint encoding)
{
InstImm3b22w3Rnb19w3Rdb16w3 inst = new(encoding);
InstEmitAlu.SubI(context, inst.Rd, inst.Rn, inst.Imm3, !context.InITBlock);
}
public static void SubIT2(CodeGenContext context, uint encoding)
{
InstRdnb24w3Imm8b16w8 inst = new(encoding);
InstEmitAlu.SubI(context, inst.Rdn, inst.Rdn, inst.Imm8, !context.InITBlock);
}
public static void SubIT3(CodeGenContext context, uint encoding)
{
InstIb26w1Sb20w1Rnb16w4Imm3b12w3Rdb8w4Imm8b0w8 inst = new(encoding);
InstEmitAlu.SubI(context, inst.Rd, inst.Rn, ImmUtils.ExpandImm(inst.Imm8, inst.Imm3, inst.I), inst.S != 0);
}
public static void SubIT4(CodeGenContext context, uint encoding)
{
InstIb26w1Rnb16w4Imm3b12w3Rdb8w4Imm8b0w8 inst = new(encoding);
InstEmitAlu.SubI(context, inst.Rd, inst.Rn, ImmUtils.CombineImmU12(inst.Imm8, inst.Imm3, inst.I), false);
}
public static void SubIT5(CodeGenContext context, uint encoding)
{
InstRnb16w4Imm8b0w8 inst = new(encoding);
InstEmitAlu.SubI(context, RegisterUtils.PcRegister, inst.Rn, inst.Imm8, true);
}
public static void SubRA1(CodeGenContext context, uint encoding)
{
InstCondb28w4Sb20w1Rnb16w4Rdb12w4Imm5b7w5Stypeb5w2Rmb0w4 inst = new(encoding);
InstEmitAlu.SubR(context, inst.Rd, inst.Rn, inst.Rm, inst.Stype, inst.Imm5, inst.S != 0);
}
public static void SubRT1(CodeGenContext context, uint encoding)
{
InstRmb22w3Rnb19w3Rdb16w3 inst = new(encoding);
InstEmitAlu.SubR(context, inst.Rd, inst.Rn, inst.Rm, 0, 0, !context.InITBlock);
}
public static void SubRT2(CodeGenContext context, uint encoding)
{
InstSb20w1Rnb16w4Imm3b12w3Rdb8w4Imm2b6w2Stypeb4w2Rmb0w4 inst = new(encoding);
InstEmitAlu.SubR(context, inst.Rd, inst.Rn, inst.Rm, inst.Stype, ImmUtils.CombineImmU5(inst.Imm2, inst.Imm3), !context.InITBlock);
}
public static void SubRrA1(CodeGenContext context, uint encoding)
{
InstCondb28w4Sb20w1Rnb16w4Rdb12w4Rsb8w4Stypeb5w2Rmb0w4 inst = new(encoding);
InstEmitAlu.SubRr(context, inst.Rd, inst.Rn, inst.Rm, inst.Stype, inst.Rs, inst.S != 0);
}
public static void SubSpIA1(CodeGenContext context, uint encoding)
{
InstCondb28w4Sb20w1Rdb12w4Imm12b0w12 inst = new(encoding);
InstEmitAlu.SubI(context, inst.Rd, RegisterUtils.SpRegister, ImmUtils.ExpandImm(inst.Imm12), inst.S != 0);
}
public static void SubSpIT1(CodeGenContext context, uint encoding)
{
InstImm7b16w7 inst = new(encoding);
InstEmitAlu.SubI(context, RegisterUtils.SpRegister, RegisterUtils.SpRegister, inst.Imm7 << 2, false);
}
public static void SubSpIT2(CodeGenContext context, uint encoding)
{
InstIb26w1Sb20w1Imm3b12w3Rdb8w4Imm8b0w8 inst = new(encoding);
InstEmitAlu.SubI(context, inst.Rd, RegisterUtils.SpRegister, ImmUtils.ExpandImm(inst.Imm8, inst.Imm3, inst.I), inst.S != 0);
}
public static void SubSpIT3(CodeGenContext context, uint encoding)
{
InstIb26w1Imm3b12w3Rdb8w4Imm8b0w8 inst = new(encoding);
InstEmitAlu.SubI(context, inst.Rd, RegisterUtils.SpRegister, ImmUtils.CombineImmU12(inst.Imm8, inst.Imm3, inst.I), false);
}
public static void SubSpRA1(CodeGenContext context, uint encoding)
{
InstCondb28w4Sb20w1Rdb12w4Imm5b7w5Stypeb5w2Rmb0w4 inst = new(encoding);
InstEmitAlu.SubR(context, inst.Rd, RegisterUtils.SpRegister, inst.Rm, inst.Stype, inst.Imm5, inst.S != 0);
}
public static void SubSpRT1(CodeGenContext context, uint encoding)
{
InstSb20w1Imm3b12w3Rdb8w4Imm2b6w2Stypeb4w2Rmb0w4 inst = new(encoding);
InstEmitAlu.SubR(context, inst.Rd, RegisterUtils.SpRegister, inst.Rm, inst.Stype, ImmUtils.CombineImmU5(inst.Imm2, inst.Imm3), inst.S != 0);
}
public static void SvcA1(CodeGenContext context, uint encoding)
{
InstCondb28w4Imm24b0w24 inst = new(encoding);
InstEmitSystem.Svc(context, inst.Imm24);
}
public static void SvcT1(CodeGenContext context, uint encoding)
{
InstImm8b16w8 inst = new(encoding);
InstEmitSystem.Svc(context, inst.Imm8);
}
public static void SxtabA1(CodeGenContext context, uint encoding)
{
InstCondb28w4Rnb16w4Rdb12w4Rotateb10w2Rmb0w4 inst = new(encoding);
InstEmitExtension.Sxtab(context, inst.Rd, inst.Rn, inst.Rm, inst.Rotate);
}
public static void SxtabT1(CodeGenContext context, uint encoding)
{
InstRnb16w4Rdb8w4Rotateb4w2Rmb0w4 inst = new(encoding);
InstEmitExtension.Sxtab(context, inst.Rd, inst.Rn, inst.Rm, inst.Rotate);
}
public static void Sxtab16A1(CodeGenContext context, uint encoding)
{
InstCondb28w4Rnb16w4Rdb12w4Rotateb10w2Rmb0w4 inst = new(encoding);
InstEmitExtension.Sxtab16(context, inst.Rd, inst.Rn, inst.Rm, inst.Rotate);
}
public static void Sxtab16T1(CodeGenContext context, uint encoding)
{
InstRnb16w4Rdb8w4Rotateb4w2Rmb0w4 inst = new(encoding);
InstEmitExtension.Sxtab16(context, inst.Rd, inst.Rn, inst.Rm, inst.Rotate);
}
public static void SxtahA1(CodeGenContext context, uint encoding)
{
InstCondb28w4Rnb16w4Rdb12w4Rotateb10w2Rmb0w4 inst = new(encoding);
InstEmitExtension.Sxtah(context, inst.Rd, inst.Rn, inst.Rm, inst.Rotate);
}
public static void SxtahT1(CodeGenContext context, uint encoding)
{
InstRnb16w4Rdb8w4Rotateb4w2Rmb0w4 inst = new(encoding);
InstEmitExtension.Sxtah(context, inst.Rd, inst.Rn, inst.Rm, inst.Rotate);
}
public static void SxtbA1(CodeGenContext context, uint encoding)
{
InstCondb28w4Rdb12w4Rotateb10w2Rmb0w4 inst = new(encoding);
InstEmitExtension.Sxtb(context, inst.Rd, inst.Rm, inst.Rotate);
}
public static void SxtbT1(CodeGenContext context, uint encoding)
{
InstRmb19w3Rdb16w3 inst = new(encoding);
InstEmitExtension.Sxtb(context, inst.Rd, inst.Rm, 0);
}
public static void SxtbT2(CodeGenContext context, uint encoding)
{
InstRdb8w4Rotateb4w2Rmb0w4 inst = new(encoding);
InstEmitExtension.Sxtb(context, inst.Rd, inst.Rm, inst.Rotate);
}
public static void Sxtb16A1(CodeGenContext context, uint encoding)
{
InstCondb28w4Rdb12w4Rotateb10w2Rmb0w4 inst = new(encoding);
InstEmitExtension.Sxtb16(context, inst.Rd, inst.Rm, inst.Rotate);
}
public static void Sxtb16T1(CodeGenContext context, uint encoding)
{
InstRdb8w4Rotateb4w2Rmb0w4 inst = new(encoding);
InstEmitExtension.Sxtb16(context, inst.Rd, inst.Rm, inst.Rotate);
}
public static void SxthA1(CodeGenContext context, uint encoding)
{
InstCondb28w4Rdb12w4Rotateb10w2Rmb0w4 inst = new(encoding);
InstEmitExtension.Sxth(context, inst.Rd, inst.Rm, inst.Rotate);
}
public static void SxthT1(CodeGenContext context, uint encoding)
{
InstRmb19w3Rdb16w3 inst = new(encoding);
InstEmitExtension.Sxth(context, inst.Rd, inst.Rm, 0);
}
public static void SxthT2(CodeGenContext context, uint encoding)
{
InstRdb8w4Rotateb4w2Rmb0w4 inst = new(encoding);
InstEmitExtension.Sxth(context, inst.Rd, inst.Rm, inst.Rotate);
}
public static void TbbT1(CodeGenContext context, uint encoding)
{
InstRnb16w4Hb4w1Rmb0w4 inst = new(encoding);
InstEmitFlow.Tbb(context, inst.Rn, inst.Rm, inst.H != 0);
}
public static void TeqIA1(CodeGenContext context, uint encoding)
{
InstCondb28w4Rnb16w4Imm12b0w12 inst = new(encoding);
InstEmitAlu.TeqI(context, inst.Rn, ImmUtils.ExpandImm(inst.Imm12), ImmUtils.ExpandedImmRotated(inst.Imm12));
}
public static void TeqIT1(CodeGenContext context, uint encoding)
{
InstIb26w1Rnb16w4Imm3b12w3Imm8b0w8 inst = new(encoding);
InstEmitAlu.TeqI(context, inst.Rn, ImmUtils.ExpandImm(inst.Imm8, inst.Imm3, inst.I), ImmUtils.ExpandedImmRotated(inst.Imm8, inst.Imm3, inst.I));
}
public static void TeqRA1(CodeGenContext context, uint encoding)
{
InstCondb28w4Rnb16w4Imm5b7w5Stypeb5w2Rmb0w4 inst = new(encoding);
InstEmitAlu.TeqR(context, inst.Rn, inst.Rm, inst.Stype, inst.Imm5);
}
public static void TeqRT1(CodeGenContext context, uint encoding)
{
InstRnb16w4Imm3b12w3Imm2b6w2Stypeb4w2Rmb0w4 inst = new(encoding);
InstEmitAlu.TeqR(context, inst.Rn, inst.Rm, inst.Stype, ImmUtils.CombineImmU5(inst.Imm2, inst.Imm3));
}
public static void TeqRrA1(CodeGenContext context, uint encoding)
{
InstCondb28w4Rnb16w4Rsb8w4Stypeb5w2Rmb0w4 inst = new(encoding);
InstEmitAlu.TeqRr(context, inst.Rn, inst.Rm, inst.Stype, inst.Rs);
}
public static void TsbA1(CodeGenContext context, uint encoding)
{
context.Arm64Assembler.Tsb();
}
public static void TsbT1(CodeGenContext context, uint encoding)
{
context.Arm64Assembler.Tsb();
}
public static void TstIA1(CodeGenContext context, uint encoding)
{
InstCondb28w4Rnb16w4Imm12b0w12 inst = new(encoding);
InstEmitAlu.TstI(context, inst.Rn, ImmUtils.ExpandImm(inst.Imm12), ImmUtils.ExpandedImmRotated(inst.Imm12));
}
public static void TstIT1(CodeGenContext context, uint encoding)
{
InstIb26w1Rnb16w4Imm3b12w3Imm8b0w8 inst = new(encoding);
InstEmitAlu.TstI(context, inst.Rn, ImmUtils.ExpandImm(inst.Imm8, inst.Imm3, inst.I), ImmUtils.ExpandedImmRotated(inst.Imm8, inst.Imm3, inst.I));
}
public static void TstRA1(CodeGenContext context, uint encoding)
{
InstCondb28w4Rnb16w4Imm5b7w5Stypeb5w2Rmb0w4 inst = new(encoding);
InstEmitAlu.TstR(context, inst.Rn, inst.Rm, inst.Stype, inst.Imm5);
}
public static void TstRT1(CodeGenContext context, uint encoding)
{
InstRmb19w3Rnb16w3 inst = new(encoding);
InstEmitAlu.TstR(context, inst.Rn, inst.Rm, 0, 0);
}
public static void TstRT2(CodeGenContext context, uint encoding)
{
InstRnb16w4Imm3b12w3Imm2b6w2Stypeb4w2Rmb0w4 inst = new(encoding);
InstEmitAlu.TstR(context, inst.Rn, inst.Rm, inst.Stype, ImmUtils.CombineImmU5(inst.Imm2, inst.Imm3));
}
public static void TstRrA1(CodeGenContext context, uint encoding)
{
InstCondb28w4Rnb16w4Rsb8w4Stypeb5w2Rmb0w4 inst = new(encoding);
InstEmitAlu.TstRr(context, inst.Rn, inst.Rm, inst.Stype, inst.Rs);
}
public static void Uadd16A1(CodeGenContext context, uint encoding)
{
InstCondb28w4Rnb16w4Rdb12w4Rmb0w4 inst = new(encoding);
InstEmitGE.Uadd16(context, inst.Rd, inst.Rn, inst.Rm);
}
public static void Uadd16T1(CodeGenContext context, uint encoding)
{
InstRnb16w4Rdb8w4Rmb0w4 inst = new(encoding);
InstEmitGE.Uadd16(context, inst.Rd, inst.Rn, inst.Rm);
}
public static void Uadd8A1(CodeGenContext context, uint encoding)
{
InstCondb28w4Rnb16w4Rdb12w4Rmb0w4 inst = new(encoding);
InstEmitGE.Uadd8(context, inst.Rd, inst.Rn, inst.Rm);
}
public static void Uadd8T1(CodeGenContext context, uint encoding)
{
InstRnb16w4Rdb8w4Rmb0w4 inst = new(encoding);
InstEmitGE.Uadd8(context, inst.Rd, inst.Rn, inst.Rm);
}
public static void UasxA1(CodeGenContext context, uint encoding)
{
InstCondb28w4Rnb16w4Rdb12w4Rmb0w4 inst = new(encoding);
InstEmitGE.Uasx(context, inst.Rd, inst.Rn, inst.Rm);
}
public static void UasxT1(CodeGenContext context, uint encoding)
{
InstRnb16w4Rdb8w4Rmb0w4 inst = new(encoding);
InstEmitGE.Uasx(context, inst.Rd, inst.Rn, inst.Rm);
}
public static void UbfxA1(CodeGenContext context, uint encoding)
{
InstCondb28w4Widthm1b16w5Rdb12w4Lsbb7w5Rnb0w4 inst = new(encoding);
InstEmitBit.Ubfx(context, inst.Rd, inst.Rn, inst.Lsb, inst.Widthm1);
}
public static void UbfxT1(CodeGenContext context, uint encoding)
{
InstRnb16w4Imm3b12w3Rdb8w4Imm2b6w2Widthm1b0w5 inst = new(encoding);
InstEmitBit.Ubfx(context, inst.Rd, inst.Rn, ImmUtils.CombineImmU5(inst.Imm2, inst.Imm3), inst.Widthm1);
}
public static void UdfA1(CodeGenContext context, uint encoding)
{
InstImm12b8w12Imm4b0w4 inst = new(encoding);
InstEmitSystem.Udf(context, encoding, ImmUtils.CombineImmU16(inst.Imm12, inst.Imm4));
}
public static void UdfT1(CodeGenContext context, uint encoding)
{
InstImm8b16w8 inst = new(encoding);
InstEmitSystem.Udf(context, encoding, inst.Imm8);
}
public static void UdfT2(CodeGenContext context, uint encoding)
{
InstImm4b16w4Imm12b0w12 inst = new(encoding);
InstEmitSystem.Udf(context, encoding, ImmUtils.CombineImmU16(inst.Imm12, inst.Imm4));
}
public static void UdivA1(CodeGenContext context, uint encoding)
{
InstCondb28w4Rdb16w4Rmb8w4Rnb0w4 inst = new(encoding);
InstEmitDivide.Udiv(context, inst.Rd, inst.Rn, inst.Rm);
}
public static void UdivT1(CodeGenContext context, uint encoding)
{
InstRnb16w4Rdb8w4Rmb0w4 inst = new(encoding);
InstEmitDivide.Udiv(context, inst.Rd, inst.Rn, inst.Rm);
}
public static void Uhadd16A1(CodeGenContext context, uint encoding)
{
InstCondb28w4Rnb16w4Rdb12w4Rmb0w4 inst = new(encoding);
InstEmitHalve.Uhadd16(context, inst.Rd, inst.Rn, inst.Rm);
}
public static void Uhadd16T1(CodeGenContext context, uint encoding)
{
InstRnb16w4Rdb8w4Rmb0w4 inst = new(encoding);
InstEmitHalve.Uhadd16(context, inst.Rd, inst.Rn, inst.Rm);
}
public static void Uhadd8A1(CodeGenContext context, uint encoding)
{
InstCondb28w4Rnb16w4Rdb12w4Rmb0w4 inst = new(encoding);
InstEmitHalve.Uhadd8(context, inst.Rd, inst.Rn, inst.Rm);
}
public static void Uhadd8T1(CodeGenContext context, uint encoding)
{
InstRnb16w4Rdb8w4Rmb0w4 inst = new(encoding);
InstEmitHalve.Uhadd8(context, inst.Rd, inst.Rn, inst.Rm);
}
public static void UhasxA1(CodeGenContext context, uint encoding)
{
InstCondb28w4Rnb16w4Rdb12w4Rmb0w4 inst = new(encoding);
InstEmitHalve.Uhasx(context, inst.Rd, inst.Rn, inst.Rm);
}
public static void UhasxT1(CodeGenContext context, uint encoding)
{
InstRnb16w4Rdb8w4Rmb0w4 inst = new(encoding);
InstEmitHalve.Uhasx(context, inst.Rd, inst.Rn, inst.Rm);
}
public static void UhsaxA1(CodeGenContext context, uint encoding)
{
InstCondb28w4Rnb16w4Rdb12w4Rmb0w4 inst = new(encoding);
InstEmitHalve.Uhsax(context, inst.Rd, inst.Rn, inst.Rm);
}
public static void UhsaxT1(CodeGenContext context, uint encoding)
{
InstRnb16w4Rdb8w4Rmb0w4 inst = new(encoding);
InstEmitHalve.Uhsax(context, inst.Rd, inst.Rn, inst.Rm);
}
public static void Uhsub16A1(CodeGenContext context, uint encoding)
{
InstCondb28w4Rnb16w4Rdb12w4Rmb0w4 inst = new(encoding);
InstEmitHalve.Uhsub16(context, inst.Rd, inst.Rn, inst.Rm);
}
public static void Uhsub16T1(CodeGenContext context, uint encoding)
{
InstRnb16w4Rdb8w4Rmb0w4 inst = new(encoding);
InstEmitHalve.Uhsub16(context, inst.Rd, inst.Rn, inst.Rm);
}
public static void Uhsub8A1(CodeGenContext context, uint encoding)
{
InstCondb28w4Rnb16w4Rdb12w4Rmb0w4 inst = new(encoding);
InstEmitHalve.Uhsub8(context, inst.Rd, inst.Rn, inst.Rm);
}
public static void Uhsub8T1(CodeGenContext context, uint encoding)
{
InstRnb16w4Rdb8w4Rmb0w4 inst = new(encoding);
InstEmitHalve.Uhsub8(context, inst.Rd, inst.Rn, inst.Rm);
}
public static void UmaalA1(CodeGenContext context, uint encoding)
{
InstCondb28w4Rdhib16w4Rdlob12w4Rmb8w4Rnb0w4 inst = new(encoding);
InstEmitMultiply.Umaal(context, inst.Rdlo, inst.Rdhi, inst.Rn, inst.Rm);
}
public static void UmaalT1(CodeGenContext context, uint encoding)
{
InstRnb16w4Rdlob12w4Rdhib8w4Rmb0w4 inst = new(encoding);
InstEmitMultiply.Umaal(context, inst.Rdlo, inst.Rdhi, inst.Rn, inst.Rm);
}
public static void UmlalA1(CodeGenContext context, uint encoding)
{
InstCondb28w4Sb20w1Rdhib16w4Rdlob12w4Rmb8w4Rnb0w4 inst = new(encoding);
InstEmitMultiply.Umlal(context, inst.Rdlo, inst.Rdhi, inst.Rn, inst.Rm, inst.S != 0);
}
public static void UmlalT1(CodeGenContext context, uint encoding)
{
InstRnb16w4Rdlob12w4Rdhib8w4Rmb0w4 inst = new(encoding);
InstEmitMultiply.Umlal(context, inst.Rdlo, inst.Rdhi, inst.Rn, inst.Rm, false);
}
public static void UmullA1(CodeGenContext context, uint encoding)
{
InstCondb28w4Sb20w1Rdhib16w4Rdlob12w4Rmb8w4Rnb0w4 inst = new(encoding);
InstEmitMultiply.Umull(context, inst.Rdlo, inst.Rdhi, inst.Rn, inst.Rm, inst.S != 0);
}
public static void UmullT1(CodeGenContext context, uint encoding)
{
InstRnb16w4Rdlob12w4Rdhib8w4Rmb0w4 inst = new(encoding);
InstEmitMultiply.Umull(context, inst.Rdlo, inst.Rdhi, inst.Rn, inst.Rm, false);
}
public static void Uqadd16A1(CodeGenContext context, uint encoding)
{
InstCondb28w4Rnb16w4Rdb12w4Rmb0w4 inst = new(encoding);
InstEmitSaturate.Uqadd16(context, inst.Rd, inst.Rn, inst.Rm);
}
public static void Uqadd16T1(CodeGenContext context, uint encoding)
{
InstRnb16w4Rdb8w4Rmb0w4 inst = new(encoding);
InstEmitSaturate.Uqadd16(context, inst.Rd, inst.Rn, inst.Rm);
}
public static void Uqadd8A1(CodeGenContext context, uint encoding)
{
InstCondb28w4Rnb16w4Rdb12w4Rmb0w4 inst = new(encoding);
InstEmitSaturate.Uqadd8(context, inst.Rd, inst.Rn, inst.Rm);
}
public static void Uqadd8T1(CodeGenContext context, uint encoding)
{
InstRnb16w4Rdb8w4Rmb0w4 inst = new(encoding);
InstEmitSaturate.Uqadd8(context, inst.Rd, inst.Rn, inst.Rm);
}
public static void UqasxA1(CodeGenContext context, uint encoding)
{
InstCondb28w4Rnb16w4Rdb12w4Rmb0w4 inst = new(encoding);
InstEmitSaturate.Uqasx(context, inst.Rd, inst.Rn, inst.Rm);
}
public static void UqasxT1(CodeGenContext context, uint encoding)
{
InstRnb16w4Rdb8w4Rmb0w4 inst = new(encoding);
InstEmitSaturate.Uqasx(context, inst.Rd, inst.Rn, inst.Rm);
}
public static void UqsaxA1(CodeGenContext context, uint encoding)
{
InstCondb28w4Rnb16w4Rdb12w4Rmb0w4 inst = new(encoding);
InstEmitSaturate.Uqsax(context, inst.Rd, inst.Rn, inst.Rm);
}
public static void UqsaxT1(CodeGenContext context, uint encoding)
{
InstRnb16w4Rdb8w4Rmb0w4 inst = new(encoding);
InstEmitSaturate.Uqsax(context, inst.Rd, inst.Rn, inst.Rm);
}
public static void Uqsub16A1(CodeGenContext context, uint encoding)
{
InstCondb28w4Rnb16w4Rdb12w4Rmb0w4 inst = new(encoding);
InstEmitSaturate.Uqsub16(context, inst.Rd, inst.Rn, inst.Rm);
}
public static void Uqsub16T1(CodeGenContext context, uint encoding)
{
InstRnb16w4Rdb8w4Rmb0w4 inst = new(encoding);
InstEmitSaturate.Uqsub16(context, inst.Rd, inst.Rn, inst.Rm);
}
public static void Uqsub8A1(CodeGenContext context, uint encoding)
{
InstCondb28w4Rnb16w4Rdb12w4Rmb0w4 inst = new(encoding);
InstEmitSaturate.Uqsub8(context, inst.Rd, inst.Rn, inst.Rm);
}
public static void Uqsub8T1(CodeGenContext context, uint encoding)
{
InstRnb16w4Rdb8w4Rmb0w4 inst = new(encoding);
InstEmitSaturate.Uqsub8(context, inst.Rd, inst.Rn, inst.Rm);
}
public static void Usad8A1(CodeGenContext context, uint encoding)
{
InstCondb28w4Rdb16w4Rmb8w4Rnb0w4 inst = new(encoding);
InstEmitAbsDiff.Usad8(context, inst.Rd, inst.Rn, inst.Rm);
}
public static void Usad8T1(CodeGenContext context, uint encoding)
{
InstRnb16w4Rdb8w4Rmb0w4 inst = new(encoding);
InstEmitAbsDiff.Usad8(context, inst.Rd, inst.Rn, inst.Rm);
}
public static void Usada8A1(CodeGenContext context, uint encoding)
{
InstCondb28w4Rdb16w4Rab12w4Rmb8w4Rnb0w4 inst = new(encoding);
InstEmitAbsDiff.Usada8(context, inst.Rd, inst.Rn, inst.Rm, inst.Ra);
}
public static void Usada8T1(CodeGenContext context, uint encoding)
{
InstRnb16w4Rab12w4Rdb8w4Rmb0w4 inst = new(encoding);
InstEmitAbsDiff.Usada8(context, inst.Rd, inst.Rn, inst.Rm, inst.Ra);
}
public static void UsatA1(CodeGenContext context, uint encoding)
{
InstCondb28w4SatImmb16w5Rdb12w4Imm5b7w5Shb6w1Rnb0w4 inst = new(encoding);
InstEmitSaturate.Usat(context, inst.Rd, inst.SatImm, inst.Rn, inst.Sh != 0, inst.Imm5);
}
public static void UsatT1(CodeGenContext context, uint encoding)
{
InstShb21w1Rnb16w4Imm3b12w3Rdb8w4Imm2b6w2SatImmb0w5 inst = new(encoding);
InstEmitSaturate.Usat(context, inst.Rd, inst.SatImm, inst.Rn, inst.Sh != 0, ImmUtils.CombineImmU5(inst.Imm2, inst.Imm3));
}
public static void Usat16A1(CodeGenContext context, uint encoding)
{
InstCondb28w4SatImmb16w4Rdb12w4Rnb0w4 inst = new(encoding);
InstEmitSaturate.Usat16(context, inst.Rd, inst.SatImm, inst.Rn);
}
public static void Usat16T1(CodeGenContext context, uint encoding)
{
InstRnb16w4Rdb8w4SatImmb0w4 inst = new(encoding);
InstEmitSaturate.Usat16(context, inst.Rd, inst.SatImm, inst.Rn);
}
public static void UsaxA1(CodeGenContext context, uint encoding)
{
InstCondb28w4Rnb16w4Rdb12w4Rmb0w4 inst = new(encoding);
InstEmitGE.Usax(context, inst.Rd, inst.Rn, inst.Rm);
}
public static void UsaxT1(CodeGenContext context, uint encoding)
{
InstRnb16w4Rdb8w4Rmb0w4 inst = new(encoding);
InstEmitGE.Usax(context, inst.Rd, inst.Rn, inst.Rm);
}
public static void Usub16A1(CodeGenContext context, uint encoding)
{
InstCondb28w4Rnb16w4Rdb12w4Rmb0w4 inst = new(encoding);
InstEmitGE.Usub16(context, inst.Rd, inst.Rn, inst.Rm);
}
public static void Usub16T1(CodeGenContext context, uint encoding)
{
InstRnb16w4Rdb8w4Rmb0w4 inst = new(encoding);
InstEmitGE.Usub16(context, inst.Rd, inst.Rn, inst.Rm);
}
public static void Usub8A1(CodeGenContext context, uint encoding)
{
InstCondb28w4Rnb16w4Rdb12w4Rmb0w4 inst = new(encoding);
InstEmitGE.Usub8(context, inst.Rd, inst.Rn, inst.Rm);
}
public static void Usub8T1(CodeGenContext context, uint encoding)
{
InstRnb16w4Rdb8w4Rmb0w4 inst = new(encoding);
InstEmitGE.Usub8(context, inst.Rd, inst.Rn, inst.Rm);
}
public static void UxtabA1(CodeGenContext context, uint encoding)
{
InstCondb28w4Rnb16w4Rdb12w4Rotateb10w2Rmb0w4 inst = new(encoding);
InstEmitExtension.Uxtab(context, inst.Rd, inst.Rn, inst.Rm, inst.Rotate);
}
public static void UxtabT1(CodeGenContext context, uint encoding)
{
InstRnb16w4Rdb8w4Rotateb4w2Rmb0w4 inst = new(encoding);
InstEmitExtension.Uxtab(context, inst.Rd, inst.Rn, inst.Rm, inst.Rotate);
}
public static void Uxtab16A1(CodeGenContext context, uint encoding)
{
InstCondb28w4Rnb16w4Rdb12w4Rotateb10w2Rmb0w4 inst = new(encoding);
InstEmitExtension.Uxtab16(context, inst.Rd, inst.Rn, inst.Rm, inst.Rotate);
}
public static void Uxtab16T1(CodeGenContext context, uint encoding)
{
InstRnb16w4Rdb8w4Rotateb4w2Rmb0w4 inst = new(encoding);
InstEmitExtension.Uxtab16(context, inst.Rd, inst.Rn, inst.Rm, inst.Rotate);
}
public static void UxtahA1(CodeGenContext context, uint encoding)
{
InstCondb28w4Rnb16w4Rdb12w4Rotateb10w2Rmb0w4 inst = new(encoding);
InstEmitExtension.Uxtah(context, inst.Rd, inst.Rn, inst.Rm, inst.Rotate);
}
public static void UxtahT1(CodeGenContext context, uint encoding)
{
InstRnb16w4Rdb8w4Rotateb4w2Rmb0w4 inst = new(encoding);
InstEmitExtension.Uxtah(context, inst.Rd, inst.Rn, inst.Rm, inst.Rotate);
}
public static void UxtbA1(CodeGenContext context, uint encoding)
{
InstCondb28w4Rdb12w4Rotateb10w2Rmb0w4 inst = new(encoding);
InstEmitExtension.Uxtb(context, inst.Rd, inst.Rm, inst.Rotate);
}
public static void UxtbT1(CodeGenContext context, uint encoding)
{
InstRmb19w3Rdb16w3 inst = new(encoding);
InstEmitExtension.Uxtb(context, inst.Rd, inst.Rm, 0);
}
public static void UxtbT2(CodeGenContext context, uint encoding)
{
InstRdb8w4Rotateb4w2Rmb0w4 inst = new(encoding);
InstEmitExtension.Uxtb(context, inst.Rd, inst.Rm, inst.Rotate);
}
public static void Uxtb16A1(CodeGenContext context, uint encoding)
{
InstCondb28w4Rdb12w4Rotateb10w2Rmb0w4 inst = new(encoding);
InstEmitExtension.Uxtb16(context, inst.Rd, inst.Rm, inst.Rotate);
}
public static void Uxtb16T1(CodeGenContext context, uint encoding)
{
InstRdb8w4Rotateb4w2Rmb0w4 inst = new(encoding);
InstEmitExtension.Uxtb16(context, inst.Rd, inst.Rm, inst.Rotate);
}
public static void UxthA1(CodeGenContext context, uint encoding)
{
InstCondb28w4Rdb12w4Rotateb10w2Rmb0w4 inst = new(encoding);
InstEmitExtension.Uxth(context, inst.Rd, inst.Rm, inst.Rotate);
}
public static void UxthT1(CodeGenContext context, uint encoding)
{
InstRmb19w3Rdb16w3 inst = new(encoding);
InstEmitExtension.Uxth(context, inst.Rd, inst.Rm, 0);
}
public static void UxthT2(CodeGenContext context, uint encoding)
{
InstRdb8w4Rotateb4w2Rmb0w4 inst = new(encoding);
InstEmitExtension.Uxth(context, inst.Rd, inst.Rm, inst.Rotate);
}
public static void VabaA1(CodeGenContext context, uint encoding)
{
InstUb24w1Db22w1Sizeb20w2Vnb16w4Vdb12w4Nb7w1Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonArithmetic.Vaba(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vn, inst.N), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.U != 0, inst.Size, inst.Q);
}
public static void VabaT1(CodeGenContext context, uint encoding)
{
InstUb28w1Db22w1Sizeb20w2Vnb16w4Vdb12w4Nb7w1Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonArithmetic.Vaba(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vn, inst.N), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.U != 0, inst.Size, inst.Q);
}
public static void VabalA1(CodeGenContext context, uint encoding)
{
InstUb24w1Db22w1Sizeb20w2Vnb16w4Vdb12w4Nb7w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonArithmetic.Vabal(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vn, inst.N), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.U != 0, inst.Size);
}
public static void VabalT1(CodeGenContext context, uint encoding)
{
InstUb28w1Db22w1Sizeb20w2Vnb16w4Vdb12w4Nb7w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonArithmetic.Vabal(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vn, inst.N), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.U != 0, inst.Size);
}
public static void VabdlIA1(CodeGenContext context, uint encoding)
{
InstUb24w1Db22w1Sizeb20w2Vnb16w4Vdb12w4Nb7w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonArithmetic.Vabdl(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vn, inst.N), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.U != 0, inst.Size);
}
public static void VabdlIT1(CodeGenContext context, uint encoding)
{
InstUb28w1Db22w1Sizeb20w2Vnb16w4Vdb12w4Nb7w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonArithmetic.Vabdl(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vn, inst.N), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.U != 0, inst.Size);
}
public static void VabdFA1(CodeGenContext context, uint encoding)
{
InstDb22w1Szb20w1Vnb16w4Vdb12w4Nb7w1Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonArithmetic.VabdF(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vn, inst.N), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.Sz, inst.Q);
}
public static void VabdFT1(CodeGenContext context, uint encoding)
{
InstDb22w1Szb20w1Vnb16w4Vdb12w4Nb7w1Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonArithmetic.VabdF(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vn, inst.N), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.Sz, inst.Q);
}
public static void VabdIA1(CodeGenContext context, uint encoding)
{
InstUb24w1Db22w1Sizeb20w2Vnb16w4Vdb12w4Nb7w1Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonArithmetic.VabdI(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vn, inst.N), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.U != 0, inst.Size, inst.Q);
}
public static void VabdIT1(CodeGenContext context, uint encoding)
{
InstUb28w1Db22w1Sizeb20w2Vnb16w4Vdb12w4Nb7w1Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonArithmetic.VabdI(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vn, inst.N), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.U != 0, inst.Size, inst.Q);
}
public static void VabsA1(CodeGenContext context, uint encoding)
{
InstDb22w1Sizeb18w2Vdb12w4Fb10w1Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonArithmetic.Vabs(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.F != 0, inst.Size, inst.Q);
}
public static void VabsA2(CodeGenContext context, uint encoding)
{
InstCondb28w4Db22w1Vdb12w4Sizeb8w2Mb5w1Vmb0w4 inst = new(encoding);
InstEmitVfpArithmetic.VabsF(context, InstEmitCommon.CombineV(inst.Vd, inst.D, inst.Size), InstEmitCommon.CombineV(inst.Vm, inst.M, inst.Size), inst.Size);
}
public static void VabsT1(CodeGenContext context, uint encoding)
{
InstDb22w1Sizeb18w2Vdb12w4Fb10w1Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonArithmetic.Vabs(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.F != 0, inst.Size, inst.Q);
}
public static void VabsT2(CodeGenContext context, uint encoding)
{
InstDb22w1Vdb12w4Sizeb8w2Mb5w1Vmb0w4 inst = new(encoding);
InstEmitVfpArithmetic.VabsF(context, InstEmitCommon.CombineV(inst.Vd, inst.D, inst.Size), InstEmitCommon.CombineV(inst.Vm, inst.M, inst.Size), inst.Size);
}
public static void VacgeA1(CodeGenContext context, uint encoding)
{
InstDb22w1Szb20w1Vnb16w4Vdb12w4Nb7w1Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonCompare.Vacge(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vn, inst.N), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.Sz, inst.Q);
}
public static void VacgeT1(CodeGenContext context, uint encoding)
{
InstDb22w1Szb20w1Vnb16w4Vdb12w4Nb7w1Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonCompare.Vacge(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vn, inst.N), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.Sz, inst.Q);
}
public static void VacgtA1(CodeGenContext context, uint encoding)
{
InstDb22w1Szb20w1Vnb16w4Vdb12w4Nb7w1Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonCompare.Vacgt(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vn, inst.N), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.Sz, inst.Q);
}
public static void VacgtT1(CodeGenContext context, uint encoding)
{
InstDb22w1Szb20w1Vnb16w4Vdb12w4Nb7w1Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonCompare.Vacgt(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vn, inst.N), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.Sz, inst.Q);
}
public static void VaddhnA1(CodeGenContext context, uint encoding)
{
InstDb22w1Sizeb20w2Vnb16w4Vdb12w4Nb7w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonArithmetic.Vaddhn(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vn, inst.N), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.Size);
}
public static void VaddhnT1(CodeGenContext context, uint encoding)
{
InstDb22w1Sizeb20w2Vnb16w4Vdb12w4Nb7w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonArithmetic.Vaddhn(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vn, inst.N), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.Size);
}
public static void VaddlA1(CodeGenContext context, uint encoding)
{
InstUb24w1Db22w1Sizeb20w2Vnb16w4Vdb12w4Nb7w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonArithmetic.Vaddl(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vn, inst.N), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.U != 0, inst.Size);
}
public static void VaddlT1(CodeGenContext context, uint encoding)
{
InstUb28w1Db22w1Sizeb20w2Vnb16w4Vdb12w4Nb7w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonArithmetic.Vaddl(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vn, inst.N), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.U != 0, inst.Size);
}
public static void VaddwA1(CodeGenContext context, uint encoding)
{
InstUb24w1Db22w1Sizeb20w2Vnb16w4Vdb12w4Nb7w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonArithmetic.Vaddw(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vn, inst.N), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.U != 0, inst.Size);
}
public static void VaddwT1(CodeGenContext context, uint encoding)
{
InstUb28w1Db22w1Sizeb20w2Vnb16w4Vdb12w4Nb7w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonArithmetic.Vaddw(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vn, inst.N), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.U != 0, inst.Size);
}
public static void VaddFA1(CodeGenContext context, uint encoding)
{
InstDb22w1Szb20w1Vnb16w4Vdb12w4Nb7w1Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonArithmetic.VaddF(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vn, inst.N), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.Sz, inst.Q);
}
public static void VaddFA2(CodeGenContext context, uint encoding)
{
InstCondb28w4Db22w1Vnb16w4Vdb12w4Sizeb8w2Nb7w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitVfpArithmetic.VaddF(context, InstEmitCommon.CombineV(inst.Vd, inst.D, inst.Size), InstEmitCommon.CombineV(inst.Vn, inst.N, inst.Size), InstEmitCommon.CombineV(inst.Vm, inst.M, inst.Size), inst.Size);
}
public static void VaddFT1(CodeGenContext context, uint encoding)
{
InstDb22w1Szb20w1Vnb16w4Vdb12w4Nb7w1Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonArithmetic.VaddF(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vn, inst.N), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.Sz, inst.Q);
}
public static void VaddFT2(CodeGenContext context, uint encoding)
{
InstDb22w1Vnb16w4Vdb12w4Sizeb8w2Nb7w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitVfpArithmetic.VaddF(context, InstEmitCommon.CombineV(inst.Vd, inst.D, inst.Size), InstEmitCommon.CombineV(inst.Vn, inst.N, inst.Size), InstEmitCommon.CombineV(inst.Vm, inst.M, inst.Size), inst.Size);
}
public static void VaddIA1(CodeGenContext context, uint encoding)
{
InstDb22w1Sizeb20w2Vnb16w4Vdb12w4Nb7w1Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonArithmetic.VaddI(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vn, inst.N), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.Size, inst.Q);
}
public static void VaddIT1(CodeGenContext context, uint encoding)
{
InstDb22w1Sizeb20w2Vnb16w4Vdb12w4Nb7w1Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonArithmetic.VaddI(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vn, inst.N), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.Size, inst.Q);
}
public static void VandRA1(CodeGenContext context, uint encoding)
{
InstDb22w1Vnb16w4Vdb12w4Nb7w1Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonLogical.VandR(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vn, inst.N), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.Q);
}
public static void VandRT1(CodeGenContext context, uint encoding)
{
InstDb22w1Vnb16w4Vdb12w4Nb7w1Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonLogical.VandR(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vn, inst.N), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.Q);
}
public static void VbicIA1(CodeGenContext context, uint encoding)
{
InstIb24w1Db22w1Imm3b16w3Vdb12w4Qb6w1Imm4b0w4 inst = new(encoding);
InstEmitNeonLogical.VbicI(context, InstEmitCommon.CombineV(inst.Vd, inst.D), (encoding >> 8) & 0xf, ImmUtils.CombineImmU8(inst.Imm4, inst.Imm3, inst.I), inst.Q);
}
public static void VbicIA2(CodeGenContext context, uint encoding)
{
InstIb24w1Db22w1Imm3b16w3Vdb12w4Qb6w1Imm4b0w4 inst = new(encoding);
InstEmitNeonLogical.VbicI(context, InstEmitCommon.CombineV(inst.Vd, inst.D), (encoding >> 8) & 0xf, ImmUtils.CombineImmU8(inst.Imm4, inst.Imm3, inst.I), inst.Q);
}
public static void VbicIT1(CodeGenContext context, uint encoding)
{
InstIb28w1Db22w1Imm3b16w3Vdb12w4Qb6w1Imm4b0w4 inst = new(encoding);
InstEmitNeonLogical.VbicI(context, InstEmitCommon.CombineV(inst.Vd, inst.D), (encoding >> 8) & 0xf, ImmUtils.CombineImmU8(inst.Imm4, inst.Imm3, inst.I), inst.Q);
}
public static void VbicIT2(CodeGenContext context, uint encoding)
{
InstIb28w1Db22w1Imm3b16w3Vdb12w4Qb6w1Imm4b0w4 inst = new(encoding);
InstEmitNeonLogical.VbicI(context, InstEmitCommon.CombineV(inst.Vd, inst.D), (encoding >> 8) & 0xf, ImmUtils.CombineImmU8(inst.Imm4, inst.Imm3, inst.I), inst.Q);
}
public static void VbicRA1(CodeGenContext context, uint encoding)
{
InstDb22w1Vnb16w4Vdb12w4Nb7w1Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonLogical.VbicR(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vn, inst.N), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.Q);
}
public static void VbicRT1(CodeGenContext context, uint encoding)
{
InstDb22w1Vnb16w4Vdb12w4Nb7w1Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonLogical.VbicR(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vn, inst.N), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.Q);
}
public static void VbifA1(CodeGenContext context, uint encoding)
{
InstDb22w1Vnb16w4Vdb12w4Nb7w1Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonLogical.VbifR(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vn, inst.N), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.Q);
}
public static void VbifT1(CodeGenContext context, uint encoding)
{
InstDb22w1Vnb16w4Vdb12w4Nb7w1Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonLogical.VbifR(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vn, inst.N), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.Q);
}
public static void VbitA1(CodeGenContext context, uint encoding)
{
InstDb22w1Vnb16w4Vdb12w4Nb7w1Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonLogical.VbitR(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vn, inst.N), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.Q);
}
public static void VbitT1(CodeGenContext context, uint encoding)
{
InstDb22w1Vnb16w4Vdb12w4Nb7w1Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonLogical.VbitR(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vn, inst.N), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.Q);
}
public static void VbslA1(CodeGenContext context, uint encoding)
{
InstDb22w1Vnb16w4Vdb12w4Nb7w1Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonLogical.VbslR(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vn, inst.N), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.Q);
}
public static void VbslT1(CodeGenContext context, uint encoding)
{
InstDb22w1Vnb16w4Vdb12w4Nb7w1Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonLogical.VbslR(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vn, inst.N), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.Q);
}
public static void VcaddA1(CodeGenContext context, uint encoding)
{
_ = new InstRotb24w1Db22w1Sb20w1Vnb16w4Vdb12w4Nb7w1Qb6w1Mb5w1Vmb0w4(encoding);
throw new NotImplementedException();
}
public static void VcaddT1(CodeGenContext context, uint encoding)
{
_ = new InstRotb24w1Db22w1Sb20w1Vnb16w4Vdb12w4Nb7w1Qb6w1Mb5w1Vmb0w4(encoding);
throw new NotImplementedException();
}
public static void VceqIA1(CodeGenContext context, uint encoding)
{
InstDb22w1Sizeb18w2Vdb12w4Fb10w1Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonCompare.VceqI(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.F != 0, inst.Size, inst.Q);
}
public static void VceqIT1(CodeGenContext context, uint encoding)
{
InstDb22w1Sizeb18w2Vdb12w4Fb10w1Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonCompare.VceqI(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.F != 0, inst.Size, inst.Q);
}
public static void VceqRA1(CodeGenContext context, uint encoding)
{
InstDb22w1Sizeb20w2Vnb16w4Vdb12w4Nb7w1Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonCompare.VceqR(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vn, inst.N), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.Size, inst.Q);
}
public static void VceqRA2(CodeGenContext context, uint encoding)
{
InstDb22w1Szb20w1Vnb16w4Vdb12w4Nb7w1Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonCompare.VceqFR(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vn, inst.N), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.Sz, inst.Q);
}
public static void VceqRT1(CodeGenContext context, uint encoding)
{
InstDb22w1Sizeb20w2Vnb16w4Vdb12w4Nb7w1Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonCompare.VceqR(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vn, inst.N), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.Size, inst.Q);
}
public static void VceqRT2(CodeGenContext context, uint encoding)
{
InstDb22w1Szb20w1Vnb16w4Vdb12w4Nb7w1Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonCompare.VceqFR(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vn, inst.N), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.Sz, inst.Q);
}
public static void VcgeIA1(CodeGenContext context, uint encoding)
{
InstDb22w1Sizeb18w2Vdb12w4Fb10w1Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonCompare.VcgeI(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.F != 0, inst.Size, inst.Q);
}
public static void VcgeIT1(CodeGenContext context, uint encoding)
{
InstDb22w1Sizeb18w2Vdb12w4Fb10w1Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonCompare.VcgeI(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.F != 0, inst.Size, inst.Q);
}
public static void VcgeRA1(CodeGenContext context, uint encoding)
{
InstUb24w1Db22w1Sizeb20w2Vnb16w4Vdb12w4Nb7w1Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonCompare.VcgeR(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vn, inst.N), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.U != 0, inst.Size, inst.Q);
}
public static void VcgeRA2(CodeGenContext context, uint encoding)
{
InstDb22w1Szb20w1Vnb16w4Vdb12w4Nb7w1Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonCompare.VcgeFR(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vn, inst.N), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.Sz, inst.Q);
}
public static void VcgeRT1(CodeGenContext context, uint encoding)
{
InstUb28w1Db22w1Sizeb20w2Vnb16w4Vdb12w4Nb7w1Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonCompare.VcgeR(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vn, inst.N), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.U != 0, inst.Size, inst.Q);
}
public static void VcgeRT2(CodeGenContext context, uint encoding)
{
InstDb22w1Szb20w1Vnb16w4Vdb12w4Nb7w1Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonCompare.VcgeFR(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vn, inst.N), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.Sz, inst.Q);
}
public static void VcgtIA1(CodeGenContext context, uint encoding)
{
InstDb22w1Sizeb18w2Vdb12w4Fb10w1Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonCompare.VcgtI(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.F != 0, inst.Size, inst.Q);
}
public static void VcgtIT1(CodeGenContext context, uint encoding)
{
InstDb22w1Sizeb18w2Vdb12w4Fb10w1Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonCompare.VcgtI(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.F != 0, inst.Size, inst.Q);
}
public static void VcgtRA1(CodeGenContext context, uint encoding)
{
InstUb24w1Db22w1Sizeb20w2Vnb16w4Vdb12w4Nb7w1Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonCompare.VcgtR(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vn, inst.N), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.U != 0, inst.Size, inst.Q);
}
public static void VcgtRA2(CodeGenContext context, uint encoding)
{
InstDb22w1Szb20w1Vnb16w4Vdb12w4Nb7w1Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonCompare.VcgtFR(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vn, inst.N), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.Sz, inst.Q);
}
public static void VcgtRT1(CodeGenContext context, uint encoding)
{
InstUb28w1Db22w1Sizeb20w2Vnb16w4Vdb12w4Nb7w1Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonCompare.VcgtR(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vn, inst.N), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.U != 0, inst.Size, inst.Q);
}
public static void VcgtRT2(CodeGenContext context, uint encoding)
{
InstDb22w1Szb20w1Vnb16w4Vdb12w4Nb7w1Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonCompare.VcgtFR(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vn, inst.N), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.Sz, inst.Q);
}
public static void VcleIA1(CodeGenContext context, uint encoding)
{
InstDb22w1Sizeb18w2Vdb12w4Fb10w1Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonCompare.VcleI(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.F != 0, inst.Size, inst.Q);
}
public static void VcleIT1(CodeGenContext context, uint encoding)
{
InstDb22w1Sizeb18w2Vdb12w4Fb10w1Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonCompare.VcleI(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.F != 0, inst.Size, inst.Q);
}
public static void VclsA1(CodeGenContext context, uint encoding)
{
InstDb22w1Sizeb18w2Vdb12w4Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonBit.Vcls(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.Size, inst.Q);
}
public static void VclsT1(CodeGenContext context, uint encoding)
{
InstDb22w1Sizeb18w2Vdb12w4Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonBit.Vcls(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.Size, inst.Q);
}
public static void VcltIA1(CodeGenContext context, uint encoding)
{
InstDb22w1Sizeb18w2Vdb12w4Fb10w1Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonCompare.VcltI(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.F != 0, inst.Size, inst.Q);
}
public static void VcltIT1(CodeGenContext context, uint encoding)
{
InstDb22w1Sizeb18w2Vdb12w4Fb10w1Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonCompare.VcltI(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.F != 0, inst.Size, inst.Q);
}
public static void VclzA1(CodeGenContext context, uint encoding)
{
InstDb22w1Sizeb18w2Vdb12w4Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonBit.Vclz(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.Size, inst.Q);
}
public static void VclzT1(CodeGenContext context, uint encoding)
{
InstDb22w1Sizeb18w2Vdb12w4Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonBit.Vclz(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.Size, inst.Q);
}
public static void VcmlaA1(CodeGenContext context, uint encoding)
{
_ = new InstRotb23w2Db22w1Sb20w1Vnb16w4Vdb12w4Nb7w1Qb6w1Mb5w1Vmb0w4(encoding);
throw new NotImplementedException();
}
public static void VcmlaT1(CodeGenContext context, uint encoding)
{
_ = new InstRotb23w2Db22w1Sb20w1Vnb16w4Vdb12w4Nb7w1Qb6w1Mb5w1Vmb0w4(encoding);
throw new NotImplementedException();
}
public static void VcmlaSA1(CodeGenContext context, uint encoding)
{
_ = new InstSb23w1Db22w1Rotb20w2Vnb16w4Vdb12w4Nb7w1Qb6w1Mb5w1Vmb0w4(encoding);
throw new NotImplementedException();
}
public static void VcmlaST1(CodeGenContext context, uint encoding)
{
_ = new InstSb23w1Db22w1Rotb20w2Vnb16w4Vdb12w4Nb7w1Qb6w1Mb5w1Vmb0w4(encoding);
throw new NotImplementedException();
}
public static void VcmpA1(CodeGenContext context, uint encoding)
{
InstCondb28w4Db22w1Vdb12w4Sizeb8w2Mb5w1Vmb0w4 inst = new(encoding);
InstEmitVfpCompare.VcmpR(context, inst.Cond, InstEmitCommon.CombineV(inst.Vd, inst.D, inst.Size), InstEmitCommon.CombineV(inst.Vm, inst.M, inst.Size), inst.Size);
}
public static void VcmpA2(CodeGenContext context, uint encoding)
{
InstCondb28w4Db22w1Vdb12w4Sizeb8w2 inst = new(encoding);
InstEmitVfpCompare.VcmpI(context, inst.Cond, InstEmitCommon.CombineV(inst.Vd, inst.D, inst.Size), inst.Size);
}
public static void VcmpT1(CodeGenContext context, uint encoding)
{
InstDb22w1Vdb12w4Sizeb8w2Mb5w1Vmb0w4 inst = new(encoding);
InstEmitVfpCompare.VcmpR(context, 0xe, InstEmitCommon.CombineV(inst.Vd, inst.D, inst.Size), InstEmitCommon.CombineV(inst.Vm, inst.M, inst.Size), inst.Size);
}
public static void VcmpT2(CodeGenContext context, uint encoding)
{
InstDb22w1Vdb12w4Sizeb8w2 inst = new(encoding);
InstEmitVfpCompare.VcmpI(context, 0xe, InstEmitCommon.CombineV(inst.Vd, inst.D, inst.Size), inst.Size);
}
public static void VcmpeA1(CodeGenContext context, uint encoding)
{
InstCondb28w4Db22w1Vdb12w4Sizeb8w2Mb5w1Vmb0w4 inst = new(encoding);
InstEmitVfpCompare.VcmpeR(context, inst.Cond, InstEmitCommon.CombineV(inst.Vd, inst.D, inst.Size), InstEmitCommon.CombineV(inst.Vm, inst.M, inst.Size), inst.Size);
}
public static void VcmpeA2(CodeGenContext context, uint encoding)
{
InstCondb28w4Db22w1Vdb12w4Sizeb8w2 inst = new(encoding);
InstEmitVfpCompare.VcmpeI(context, inst.Cond, InstEmitCommon.CombineV(inst.Vd, inst.D, inst.Size), inst.Size);
}
public static void VcmpeT1(CodeGenContext context, uint encoding)
{
InstDb22w1Vdb12w4Sizeb8w2Mb5w1Vmb0w4 inst = new(encoding);
InstEmitVfpCompare.VcmpeR(context, 0xe, InstEmitCommon.CombineV(inst.Vd, inst.D, inst.Size), InstEmitCommon.CombineV(inst.Vm, inst.M, inst.Size), inst.Size);
}
public static void VcmpeT2(CodeGenContext context, uint encoding)
{
InstDb22w1Vdb12w4Sizeb8w2 inst = new(encoding);
InstEmitVfpCompare.VcmpeI(context, 0xe, InstEmitCommon.CombineV(inst.Vd, inst.D, inst.Size), inst.Size);
}
public static void VcntA1(CodeGenContext context, uint encoding)
{
InstDb22w1Sizeb18w2Vdb12w4Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonBit.Vcnt(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.Size, inst.Q);
}
public static void VcntT1(CodeGenContext context, uint encoding)
{
InstDb22w1Sizeb18w2Vdb12w4Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonBit.Vcnt(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.Size, inst.Q);
}
public static void VcvtaAsimdA1(CodeGenContext context, uint encoding)
{
InstDb22w1Sizeb18w2Vdb12w4Opb7w1Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonConvert.Vcvta(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.Op != 0, inst.Size, inst.Q);
}
public static void VcvtaAsimdT1(CodeGenContext context, uint encoding)
{
InstDb22w1Sizeb18w2Vdb12w4Opb7w1Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonConvert.Vcvta(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.Op != 0, inst.Size, inst.Q);
}
public static void VcvtaVfpA1(CodeGenContext context, uint encoding)
{
InstDb22w1Vdb12w4Sizeb8w2Opb7w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitVfpConvert.Vcvta(context, InstEmitCommon.CombineVF(inst.D, inst.Vd), InstEmitCommon.CombineV(inst.Vm, inst.M, inst.Size), inst.Op != 0, inst.Size);
}
public static void VcvtaVfpT1(CodeGenContext context, uint encoding)
{
InstDb22w1Vdb12w4Sizeb8w2Opb7w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitVfpConvert.Vcvta(context, InstEmitCommon.CombineVF(inst.D, inst.Vd), InstEmitCommon.CombineV(inst.Vm, inst.M, inst.Size), inst.Op != 0, inst.Size);
}
public static void VcvtbA1(CodeGenContext context, uint encoding)
{
InstCondb28w4Db22w1Opb16w1Vdb12w4Szb8w1Mb5w1Vmb0w4 inst = new(encoding);
uint dSize = inst.Sz == 1 && inst.Op == 0 ? 3u : 2u;
uint mSize = inst.Sz == 1 && inst.Op == 1 ? 3u : 2u;
InstEmitVfpConvert.Vcvtb(context, InstEmitCommon.CombineV(inst.Vd, inst.D, dSize), InstEmitCommon.CombineV(inst.Vm, inst.M, mSize), inst.Sz, inst.Op);
}
public static void VcvtbT1(CodeGenContext context, uint encoding)
{
InstDb22w1Opb16w1Vdb12w4Szb8w1Mb5w1Vmb0w4 inst = new(encoding);
uint dSize = inst.Sz == 1 && inst.Op == 0 ? 3u : 2u;
uint mSize = inst.Sz == 1 && inst.Op == 1 ? 3u : 2u;
InstEmitVfpConvert.Vcvtb(context, InstEmitCommon.CombineV(inst.Vd, inst.D, dSize), InstEmitCommon.CombineV(inst.Vm, inst.M, mSize), inst.Sz, inst.Op);
}
public static void VcvtbBfsA1(CodeGenContext context, uint encoding)
{
_ = new InstCondb28w4Db22w1Vdb12w4Mb5w1Vmb0w4(encoding);
throw new NotImplementedException();
}
public static void VcvtbBfsT1(CodeGenContext context, uint encoding)
{
_ = new InstDb22w1Vdb12w4Mb5w1Vmb0w4(encoding);
throw new NotImplementedException();
}
public static void VcvtmAsimdA1(CodeGenContext context, uint encoding)
{
InstDb22w1Sizeb18w2Vdb12w4Opb7w1Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonConvert.Vcvtm(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.Op != 0, inst.Size, inst.Q);
}
public static void VcvtmAsimdT1(CodeGenContext context, uint encoding)
{
InstDb22w1Sizeb18w2Vdb12w4Opb7w1Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonConvert.Vcvtm(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.Op != 0, inst.Size, inst.Q);
}
public static void VcvtmVfpA1(CodeGenContext context, uint encoding)
{
InstDb22w1Vdb12w4Sizeb8w2Opb7w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitVfpConvert.Vcvtm(context, InstEmitCommon.CombineVF(inst.D, inst.Vd), InstEmitCommon.CombineV(inst.Vm, inst.M, inst.Size), inst.Op != 0, inst.Size);
}
public static void VcvtmVfpT1(CodeGenContext context, uint encoding)
{
InstDb22w1Vdb12w4Sizeb8w2Opb7w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitVfpConvert.Vcvtm(context, InstEmitCommon.CombineVF(inst.D, inst.Vd), InstEmitCommon.CombineV(inst.Vm, inst.M, inst.Size), inst.Op != 0, inst.Size);
}
public static void VcvtnAsimdA1(CodeGenContext context, uint encoding)
{
InstDb22w1Sizeb18w2Vdb12w4Opb7w1Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonConvert.Vcvtn(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.Op != 0, inst.Size, inst.Q);
}
public static void VcvtnAsimdT1(CodeGenContext context, uint encoding)
{
InstDb22w1Sizeb18w2Vdb12w4Opb7w1Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonConvert.Vcvtn(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.Op != 0, inst.Size, inst.Q);
}
public static void VcvtnVfpA1(CodeGenContext context, uint encoding)
{
InstDb22w1Vdb12w4Sizeb8w2Opb7w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitVfpConvert.Vcvtn(context, InstEmitCommon.CombineVF(inst.D, inst.Vd), InstEmitCommon.CombineV(inst.Vm, inst.M, inst.Size), inst.Op != 0, inst.Size);
}
public static void VcvtnVfpT1(CodeGenContext context, uint encoding)
{
InstDb22w1Vdb12w4Sizeb8w2Opb7w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitVfpConvert.Vcvtn(context, InstEmitCommon.CombineVF(inst.D, inst.Vd), InstEmitCommon.CombineV(inst.Vm, inst.M, inst.Size), inst.Op != 0, inst.Size);
}
public static void VcvtpAsimdA1(CodeGenContext context, uint encoding)
{
InstDb22w1Sizeb18w2Vdb12w4Opb7w1Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonConvert.Vcvtp(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.Op != 0, inst.Size, inst.Q);
}
public static void VcvtpAsimdT1(CodeGenContext context, uint encoding)
{
InstDb22w1Sizeb18w2Vdb12w4Opb7w1Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonConvert.Vcvtp(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.Op != 0, inst.Size, inst.Q);
}
public static void VcvtpVfpA1(CodeGenContext context, uint encoding)
{
InstDb22w1Vdb12w4Sizeb8w2Opb7w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitVfpConvert.Vcvtp(context, InstEmitCommon.CombineVF(inst.D, inst.Vd), InstEmitCommon.CombineV(inst.Vm, inst.M, inst.Size), inst.Op != 0, inst.Size);
}
public static void VcvtpVfpT1(CodeGenContext context, uint encoding)
{
InstDb22w1Vdb12w4Sizeb8w2Opb7w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitVfpConvert.Vcvtp(context, InstEmitCommon.CombineVF(inst.D, inst.Vd), InstEmitCommon.CombineV(inst.Vm, inst.M, inst.Size), inst.Op != 0, inst.Size);
}
public static void VcvtrIvA1(CodeGenContext context, uint encoding)
{
InstCondb28w4Db22w1Vdb12w4Sizeb8w2Mb5w1Vmb0w4 inst = new(encoding);
InstEmitVfpConvert.VcvtrIv(context, InstEmitCommon.CombineVF(inst.D, inst.Vd), InstEmitCommon.CombineV(inst.Vm, inst.M, inst.Size), (encoding >> 16) & 7, inst.Size);
}
public static void VcvtrIvT1(CodeGenContext context, uint encoding)
{
InstDb22w1Vdb12w4Sizeb8w2Mb5w1Vmb0w4 inst = new(encoding);
InstEmitVfpConvert.VcvtrIv(context, InstEmitCommon.CombineVF(inst.D, inst.Vd), InstEmitCommon.CombineV(inst.Vm, inst.M, inst.Size), (encoding >> 16) & 7, inst.Size);
}
public static void VcvttA1(CodeGenContext context, uint encoding)
{
InstCondb28w4Db22w1Opb16w1Vdb12w4Szb8w1Mb5w1Vmb0w4 inst = new(encoding);
uint dSize = inst.Sz == 1 && inst.Op == 0 ? 3u : 2u;
uint mSize = inst.Sz == 1 && inst.Op == 1 ? 3u : 2u;
InstEmitVfpConvert.Vcvtt(context, InstEmitCommon.CombineV(inst.Vd, inst.D, dSize), InstEmitCommon.CombineV(inst.Vm, inst.M, mSize), inst.Sz, inst.Op);
}
public static void VcvttT1(CodeGenContext context, uint encoding)
{
InstDb22w1Opb16w1Vdb12w4Szb8w1Mb5w1Vmb0w4 inst = new(encoding);
uint dSize = inst.Sz == 1 && inst.Op == 0 ? 3u : 2u;
uint mSize = inst.Sz == 1 && inst.Op == 1 ? 3u : 2u;
InstEmitVfpConvert.Vcvtt(context, InstEmitCommon.CombineV(inst.Vd, inst.D, dSize), InstEmitCommon.CombineV(inst.Vm, inst.M, mSize), inst.Sz, inst.Op);
}
public static void VcvttBfsA1(CodeGenContext context, uint encoding)
{
_ = new InstCondb28w4Db22w1Vdb12w4Mb5w1Vmb0w4(encoding);
throw new NotImplementedException();
}
public static void VcvttBfsT1(CodeGenContext context, uint encoding)
{
_ = new InstDb22w1Vdb12w4Mb5w1Vmb0w4(encoding);
throw new NotImplementedException();
}
public static void VcvtBfsA1(CodeGenContext context, uint encoding)
{
_ = new InstDb22w1Vdb12w4Mb5w1Vmb0w4(encoding);
throw new NotImplementedException();
}
public static void VcvtBfsT1(CodeGenContext context, uint encoding)
{
_ = new InstDb22w1Vdb12w4Mb5w1Vmb0w4(encoding);
throw new NotImplementedException();
}
public static void VcvtDsA1(CodeGenContext context, uint encoding)
{
InstCondb28w4Db22w1Vdb12w4Mb5w1Vmb0w4 inst = new(encoding);
uint size = (encoding >> 8) & 3;
InstEmitVfpConvert.VcvtDs(context, InstEmitCommon.CombineV(inst.Vd, inst.D, size ^ 1u), InstEmitCommon.CombineV(inst.Vm, inst.M, size), size);
}
public static void VcvtDsT1(CodeGenContext context, uint encoding)
{
InstDb22w1Vdb12w4Mb5w1Vmb0w4 inst = new(encoding);
uint size = (encoding >> 8) & 3;
InstEmitVfpConvert.VcvtDs(context, InstEmitCommon.CombineV(inst.Vd, inst.D, size ^ 1u), InstEmitCommon.CombineV(inst.Vm, inst.M, size), size);
}
public static void VcvtHsA1(CodeGenContext context, uint encoding)
{
InstDb22w1Sizeb18w2Vdb12w4Opb8w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonConvert.VcvtHs(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.Op != 0);
}
public static void VcvtHsT1(CodeGenContext context, uint encoding)
{
InstDb22w1Sizeb18w2Vdb12w4Opb8w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonConvert.VcvtHs(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.Op != 0);
}
public static void VcvtIsA1(CodeGenContext context, uint encoding)
{
InstDb22w1Sizeb18w2Vdb12w4Opb7w2Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonConvert.VcvtIs(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.Op, inst.Size, inst.Q);
}
public static void VcvtIsT1(CodeGenContext context, uint encoding)
{
InstDb22w1Sizeb18w2Vdb12w4Opb7w2Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonConvert.VcvtIs(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.Op, inst.Size, inst.Q);
}
public static void VcvtIvA1(CodeGenContext context, uint encoding)
{
InstCondb28w4Db22w1Vdb12w4Sizeb8w2Mb5w1Vmb0w4 inst = new(encoding);
InstEmitVfpConvert.VcvtIv(context, InstEmitCommon.CombineVF(inst.D, inst.Vd), InstEmitCommon.CombineV(inst.Vm, inst.M, inst.Size), (encoding & (1u << 16)) == 0, inst.Size);
}
public static void VcvtIvT1(CodeGenContext context, uint encoding)
{
InstDb22w1Vdb12w4Sizeb8w2Mb5w1Vmb0w4 inst = new(encoding);
InstEmitVfpConvert.VcvtIv(context, InstEmitCommon.CombineVF(inst.D, inst.Vd), InstEmitCommon.CombineV(inst.Vm, inst.M, inst.Size), (encoding & (1u << 16)) == 0, inst.Size);
}
public static void VcvtViA1(CodeGenContext context, uint encoding)
{
InstCondb28w4Db22w1Vdb12w4Sizeb8w2Opb7w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitVfpConvert.VcvtVi(context, InstEmitCommon.CombineV(inst.Vd, inst.D, inst.Size), InstEmitCommon.CombineVF(inst.M, inst.Vm), inst.Op == 0, inst.Size);
}
public static void VcvtViT1(CodeGenContext context, uint encoding)
{
InstDb22w1Vdb12w4Sizeb8w2Opb7w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitVfpConvert.VcvtVi(context, InstEmitCommon.CombineV(inst.Vd, inst.D, inst.Size), InstEmitCommon.CombineVF(inst.M, inst.Vm), inst.Op == 0, inst.Size);
}
public static void VcvtXsA1(CodeGenContext context, uint encoding)
{
InstUb24w1Db22w1Imm6b16w6Vdb12w4Opb8w2Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonConvert.VcvtXs(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.Imm6, inst.Op, inst.U != 0, inst.Q);
}
public static void VcvtXsT1(CodeGenContext context, uint encoding)
{
InstUb28w1Db22w1Imm6b16w6Vdb12w4Opb8w2Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonConvert.VcvtXs(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.Imm6, inst.Op, inst.U != 0, inst.Q);
}
public static void VcvtXvA1(CodeGenContext context, uint encoding)
{
InstCondb28w4Db22w1Opb18w1Ub16w1Vdb12w4Sfb8w2Sxb7w1Ib5w1Imm4b0w4 inst = new(encoding);
InstEmitVfpConvert.VcvtXv(context, InstEmitCommon.CombineV(inst.Vd, inst.D, inst.Sf), ImmUtils.CombineImmU5IImm4(inst.I, inst.Imm4), inst.Sx != 0, inst.Sf, inst.Op, inst.U != 0);
}
public static void VcvtXvT1(CodeGenContext context, uint encoding)
{
InstDb22w1Opb18w1Ub16w1Vdb12w4Sfb8w2Sxb7w1Ib5w1Imm4b0w4 inst = new(encoding);
InstEmitVfpConvert.VcvtXv(context, InstEmitCommon.CombineV(inst.Vd, inst.D, inst.Sf), ImmUtils.CombineImmU5IImm4(inst.I, inst.Imm4), inst.Sx != 0, inst.Sf, inst.Op, inst.U != 0);
}
public static void VdivA1(CodeGenContext context, uint encoding)
{
InstCondb28w4Db22w1Vnb16w4Vdb12w4Sizeb8w2Nb7w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitVfpArithmetic.VdivF(context, InstEmitCommon.CombineV(inst.Vd, inst.D, inst.Size), InstEmitCommon.CombineV(inst.Vn, inst.N, inst.Size), InstEmitCommon.CombineV(inst.Vm, inst.M, inst.Size), inst.Size);
}
public static void VdivT1(CodeGenContext context, uint encoding)
{
InstDb22w1Vnb16w4Vdb12w4Sizeb8w2Nb7w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitVfpArithmetic.VdivF(context, InstEmitCommon.CombineV(inst.Vd, inst.D, inst.Size), InstEmitCommon.CombineV(inst.Vn, inst.N, inst.Size), InstEmitCommon.CombineV(inst.Vm, inst.M, inst.Size), inst.Size);
}
public static void VdotA1(CodeGenContext context, uint encoding)
{
_ = new InstDb22w1Vnb16w4Vdb12w4Nb7w1Qb6w1Mb5w1Vmb0w4(encoding);
throw new NotImplementedException();
}
public static void VdotT1(CodeGenContext context, uint encoding)
{
_ = new InstDb22w1Vnb16w4Vdb12w4Nb7w1Qb6w1Mb5w1Vmb0w4(encoding);
throw new NotImplementedException();
}
public static void VdotSA1(CodeGenContext context, uint encoding)
{
_ = new InstDb22w1Vnb16w4Vdb12w4Nb7w1Qb6w1Mb5w1Vmb0w4(encoding);
throw new NotImplementedException();
}
public static void VdotST1(CodeGenContext context, uint encoding)
{
_ = new InstDb22w1Vnb16w4Vdb12w4Nb7w1Qb6w1Mb5w1Vmb0w4(encoding);
throw new NotImplementedException();
}
public static void VdupRA1(CodeGenContext context, uint encoding)
{
InstCondb28w4Bb22w1Qb21w1Vdb16w4Rtb12w4Db7w1Eb5w1 inst = new(encoding);
InstEmitNeonMove.VdupR(context, InstEmitCommon.CombineV(inst.Vd, inst.D), inst.Rt, inst.B, inst.E, inst.Q);
}
public static void VdupRT1(CodeGenContext context, uint encoding)
{
InstBb22w1Qb21w1Vdb16w4Rtb12w4Db7w1Eb5w1 inst = new(encoding);
InstEmitNeonMove.VdupR(context, InstEmitCommon.CombineV(inst.Vd, inst.D), inst.Rt, inst.B, inst.E, inst.Q);
}
public static void VdupSA1(CodeGenContext context, uint encoding)
{
InstDb22w1Imm4b16w4Vdb12w4Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonMove.VdupS(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.Imm4, inst.Q);
}
public static void VdupST1(CodeGenContext context, uint encoding)
{
InstDb22w1Imm4b16w4Vdb12w4Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonMove.VdupS(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.Imm4, inst.Q);
}
public static void VeorA1(CodeGenContext context, uint encoding)
{
InstDb22w1Vnb16w4Vdb12w4Nb7w1Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonLogical.VeorR(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vn, inst.N), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.Q);
}
public static void VeorT1(CodeGenContext context, uint encoding)
{
InstDb22w1Vnb16w4Vdb12w4Nb7w1Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonLogical.VeorR(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vn, inst.N), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.Q);
}
public static void VextA1(CodeGenContext context, uint encoding)
{
InstDb22w1Vnb16w4Vdb12w4Imm4b8w4Nb7w1Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonMove.Vext(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vn, inst.N), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.Imm4, inst.Q);
}
public static void VextT1(CodeGenContext context, uint encoding)
{
InstDb22w1Vnb16w4Vdb12w4Imm4b8w4Nb7w1Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonMove.Vext(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vn, inst.N), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.Imm4, inst.Q);
}
public static void VfmaA1(CodeGenContext context, uint encoding)
{
InstDb22w1Szb20w1Vnb16w4Vdb12w4Nb7w1Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonArithmetic.VfmaF(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vn, inst.N), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.Sz, inst.Q);
}
public static void VfmaA2(CodeGenContext context, uint encoding)
{
InstCondb28w4Db22w1Vnb16w4Vdb12w4Sizeb8w2Nb7w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitVfpArithmetic.VfmaF(context, InstEmitCommon.CombineV(inst.Vd, inst.D, inst.Size), InstEmitCommon.CombineV(inst.Vn, inst.N, inst.Size), InstEmitCommon.CombineV(inst.Vm, inst.M, inst.Size), inst.Size);
}
public static void VfmaT1(CodeGenContext context, uint encoding)
{
InstDb22w1Szb20w1Vnb16w4Vdb12w4Nb7w1Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonArithmetic.VfmaF(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vn, inst.N), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.Sz, inst.Q);
}
public static void VfmaT2(CodeGenContext context, uint encoding)
{
InstDb22w1Vnb16w4Vdb12w4Sizeb8w2Nb7w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitVfpArithmetic.VfmaF(context, InstEmitCommon.CombineV(inst.Vd, inst.D, inst.Size), InstEmitCommon.CombineV(inst.Vn, inst.N, inst.Size), InstEmitCommon.CombineV(inst.Vm, inst.M, inst.Size), inst.Size);
}
public static void VfmalA1(CodeGenContext context, uint encoding)
{
_ = new InstDb22w1Vnb16w4Vdb12w4Nb7w1Qb6w1Mb5w1Vmb0w4(encoding);
throw new NotImplementedException();
}
public static void VfmalT1(CodeGenContext context, uint encoding)
{
_ = new InstDb22w1Vnb16w4Vdb12w4Nb7w1Qb6w1Mb5w1Vmb0w4(encoding);
throw new NotImplementedException();
}
public static void VfmalSA1(CodeGenContext context, uint encoding)
{
_ = new InstDb22w1Vnb16w4Vdb12w4Nb7w1Qb6w1Mb5w1Vmb0w4(encoding);
throw new NotImplementedException();
}
public static void VfmalST1(CodeGenContext context, uint encoding)
{
_ = new InstDb22w1Vnb16w4Vdb12w4Nb7w1Qb6w1Mb5w1Vmb0w4(encoding);
throw new NotImplementedException();
}
public static void VfmaBfA1(CodeGenContext context, uint encoding)
{
_ = new InstDb22w1Vnb16w4Vdb12w4Nb7w1Qb6w1Mb5w1Vmb0w4(encoding);
throw new NotImplementedException();
}
public static void VfmaBfT1(CodeGenContext context, uint encoding)
{
_ = new InstDb22w1Vnb16w4Vdb12w4Nb7w1Qb6w1Mb5w1Vmb0w4(encoding);
throw new NotImplementedException();
}
public static void VfmaBfsA1(CodeGenContext context, uint encoding)
{
_ = new InstDb22w1Vnb16w4Vdb12w4Nb7w1Qb6w1Mb5w1Vmb0w4(encoding);
throw new NotImplementedException();
}
public static void VfmaBfsT1(CodeGenContext context, uint encoding)
{
_ = new InstDb22w1Vnb16w4Vdb12w4Nb7w1Qb6w1Mb5w1Vmb0w4(encoding);
throw new NotImplementedException();
}
public static void VfmsA1(CodeGenContext context, uint encoding)
{
InstDb22w1Szb20w1Vnb16w4Vdb12w4Nb7w1Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonArithmetic.VfmsF(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vn, inst.N), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.Sz, inst.Q);
}
public static void VfmsA2(CodeGenContext context, uint encoding)
{
InstCondb28w4Db22w1Vnb16w4Vdb12w4Sizeb8w2Nb7w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitVfpArithmetic.VfmsF(context, InstEmitCommon.CombineV(inst.Vd, inst.D, inst.Size), InstEmitCommon.CombineV(inst.Vn, inst.N, inst.Size), InstEmitCommon.CombineV(inst.Vm, inst.M, inst.Size), inst.Size);
}
public static void VfmsT1(CodeGenContext context, uint encoding)
{
InstDb22w1Szb20w1Vnb16w4Vdb12w4Nb7w1Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonArithmetic.VfmsF(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vn, inst.N), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.Sz, inst.Q);
}
public static void VfmsT2(CodeGenContext context, uint encoding)
{
InstDb22w1Vnb16w4Vdb12w4Sizeb8w2Nb7w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitVfpArithmetic.VfmsF(context, InstEmitCommon.CombineV(inst.Vd, inst.D, inst.Size), InstEmitCommon.CombineV(inst.Vn, inst.N, inst.Size), InstEmitCommon.CombineV(inst.Vm, inst.M, inst.Size), inst.Size);
}
public static void VfmslA1(CodeGenContext context, uint encoding)
{
_ = new InstDb22w1Vnb16w4Vdb12w4Nb7w1Qb6w1Mb5w1Vmb0w4(encoding);
throw new NotImplementedException();
}
public static void VfmslT1(CodeGenContext context, uint encoding)
{
_ = new InstDb22w1Vnb16w4Vdb12w4Nb7w1Qb6w1Mb5w1Vmb0w4(encoding);
throw new NotImplementedException();
}
public static void VfmslSA1(CodeGenContext context, uint encoding)
{
_ = new InstDb22w1Vnb16w4Vdb12w4Nb7w1Qb6w1Mb5w1Vmb0w4(encoding);
throw new NotImplementedException();
}
public static void VfmslST1(CodeGenContext context, uint encoding)
{
_ = new InstDb22w1Vnb16w4Vdb12w4Nb7w1Qb6w1Mb5w1Vmb0w4(encoding);
throw new NotImplementedException();
}
public static void VfnmaA1(CodeGenContext context, uint encoding)
{
InstCondb28w4Db22w1Vnb16w4Vdb12w4Sizeb8w2Nb7w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitVfpArithmetic.VfnmaF(context, InstEmitCommon.CombineV(inst.Vd, inst.D, inst.Size), InstEmitCommon.CombineV(inst.Vn, inst.N, inst.Size), InstEmitCommon.CombineV(inst.Vm, inst.M, inst.Size), inst.Size);
}
public static void VfnmaT1(CodeGenContext context, uint encoding)
{
InstDb22w1Vnb16w4Vdb12w4Sizeb8w2Nb7w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitVfpArithmetic.VfnmaF(context, InstEmitCommon.CombineV(inst.Vd, inst.D, inst.Size), InstEmitCommon.CombineV(inst.Vn, inst.N, inst.Size), InstEmitCommon.CombineV(inst.Vm, inst.M, inst.Size), inst.Size);
}
public static void VfnmsA1(CodeGenContext context, uint encoding)
{
InstCondb28w4Db22w1Vnb16w4Vdb12w4Sizeb8w2Nb7w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitVfpArithmetic.VfnmsF(context, InstEmitCommon.CombineV(inst.Vd, inst.D, inst.Size), InstEmitCommon.CombineV(inst.Vn, inst.N, inst.Size), InstEmitCommon.CombineV(inst.Vm, inst.M, inst.Size), inst.Size);
}
public static void VfnmsT1(CodeGenContext context, uint encoding)
{
InstDb22w1Vnb16w4Vdb12w4Sizeb8w2Nb7w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitVfpArithmetic.VfnmsF(context, InstEmitCommon.CombineV(inst.Vd, inst.D, inst.Size), InstEmitCommon.CombineV(inst.Vn, inst.N, inst.Size), InstEmitCommon.CombineV(inst.Vm, inst.M, inst.Size), inst.Size);
}
public static void VhaddA1(CodeGenContext context, uint encoding)
{
InstUb24w1Db22w1Sizeb20w2Vnb16w4Vdb12w4Nb7w1Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonArithmetic.Vhadd(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vn, inst.N), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.U != 0, inst.Size, inst.Q);
}
public static void VhaddT1(CodeGenContext context, uint encoding)
{
InstUb28w1Db22w1Sizeb20w2Vnb16w4Vdb12w4Nb7w1Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonArithmetic.Vhadd(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vn, inst.N), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.U != 0, inst.Size, inst.Q);
}
public static void VhsubA1(CodeGenContext context, uint encoding)
{
InstUb24w1Db22w1Sizeb20w2Vnb16w4Vdb12w4Nb7w1Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonArithmetic.Vhsub(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vn, inst.N), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.U != 0, inst.Size, inst.Q);
}
public static void VhsubT1(CodeGenContext context, uint encoding)
{
InstUb28w1Db22w1Sizeb20w2Vnb16w4Vdb12w4Nb7w1Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonArithmetic.Vhsub(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vn, inst.N), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.U != 0, inst.Size, inst.Q);
}
public static void VinsA1(CodeGenContext context, uint encoding)
{
_ = new InstDb22w1Vdb12w4Mb5w1Vmb0w4(encoding);
throw new NotImplementedException();
}
public static void VinsT1(CodeGenContext context, uint encoding)
{
_ = new InstDb22w1Vdb12w4Mb5w1Vmb0w4(encoding);
throw new NotImplementedException();
}
public static void VjcvtA1(CodeGenContext context, uint encoding)
{
_ = new InstCondb28w4Db22w1Vdb12w4Mb5w1Vmb0w4(encoding);
throw new NotImplementedException();
}
public static void VjcvtT1(CodeGenContext context, uint encoding)
{
_ = new InstDb22w1Vdb12w4Mb5w1Vmb0w4(encoding);
throw new NotImplementedException();
}
public static void Vld11A1(CodeGenContext context, uint encoding)
{
InstDb22w1Rnb16w4Vdb12w4IndexAlignb4w4Rmb0w4 inst = new(encoding);
InstEmitNeonMemory.Vld11(context, InstEmitCommon.CombineV(inst.Vd, inst.D), inst.Rn, inst.Rm, inst.IndexAlign, 0);
}
public static void Vld11A2(CodeGenContext context, uint encoding)
{
InstDb22w1Rnb16w4Vdb12w4IndexAlignb4w4Rmb0w4 inst = new(encoding);
InstEmitNeonMemory.Vld11(context, InstEmitCommon.CombineV(inst.Vd, inst.D), inst.Rn, inst.Rm, inst.IndexAlign, 1);
}
public static void Vld11A3(CodeGenContext context, uint encoding)
{
InstDb22w1Rnb16w4Vdb12w4IndexAlignb4w4Rmb0w4 inst = new(encoding);
InstEmitNeonMemory.Vld11(context, InstEmitCommon.CombineV(inst.Vd, inst.D), inst.Rn, inst.Rm, inst.IndexAlign, 2);
}
public static void Vld11T1(CodeGenContext context, uint encoding)
{
InstDb22w1Rnb16w4Vdb12w4IndexAlignb4w4Rmb0w4 inst = new(encoding);
InstEmitNeonMemory.Vld11(context, InstEmitCommon.CombineV(inst.Vd, inst.D), inst.Rn, inst.Rm, inst.IndexAlign, 0);
}
public static void Vld11T2(CodeGenContext context, uint encoding)
{
InstDb22w1Rnb16w4Vdb12w4IndexAlignb4w4Rmb0w4 inst = new(encoding);
InstEmitNeonMemory.Vld11(context, InstEmitCommon.CombineV(inst.Vd, inst.D), inst.Rn, inst.Rm, inst.IndexAlign, 1);
}
public static void Vld11T3(CodeGenContext context, uint encoding)
{
InstDb22w1Rnb16w4Vdb12w4IndexAlignb4w4Rmb0w4 inst = new(encoding);
InstEmitNeonMemory.Vld11(context, InstEmitCommon.CombineV(inst.Vd, inst.D), inst.Rn, inst.Rm, inst.IndexAlign, 2);
}
public static void Vld1AA1(CodeGenContext context, uint encoding)
{
InstDb22w1Rnb16w4Vdb12w4Sizeb6w2Tb5w1Ab4w1Rmb0w4 inst = new(encoding);
InstEmitNeonMemory.Vld1A(context, InstEmitCommon.CombineV(inst.Vd, inst.D), inst.Rn, inst.Rm, inst.A, inst.T, inst.Size);
}
public static void Vld1AT1(CodeGenContext context, uint encoding)
{
InstDb22w1Rnb16w4Vdb12w4Sizeb6w2Tb5w1Ab4w1Rmb0w4 inst = new(encoding);
InstEmitNeonMemory.Vld1A(context, InstEmitCommon.CombineV(inst.Vd, inst.D), inst.Rn, inst.Rm, inst.A, inst.T, inst.Size);
}
public static void Vld1MA1(CodeGenContext context, uint encoding)
{
InstDb22w1Rnb16w4Vdb12w4Sizeb6w2Alignb4w2Rmb0w4 inst = new(encoding);
InstEmitNeonMemory.Vld1M(context, InstEmitCommon.CombineV(inst.Vd, inst.D), inst.Rn, inst.Rm, 1, inst.Align, inst.Size);
}
public static void Vld1MA2(CodeGenContext context, uint encoding)
{
InstDb22w1Rnb16w4Vdb12w4Sizeb6w2Alignb4w2Rmb0w4 inst = new(encoding);
InstEmitNeonMemory.Vld1M(context, InstEmitCommon.CombineV(inst.Vd, inst.D), inst.Rn, inst.Rm, 2, inst.Align, inst.Size);
}
public static void Vld1MA3(CodeGenContext context, uint encoding)
{
InstDb22w1Rnb16w4Vdb12w4Sizeb6w2Alignb4w2Rmb0w4 inst = new(encoding);
InstEmitNeonMemory.Vld1M(context, InstEmitCommon.CombineV(inst.Vd, inst.D), inst.Rn, inst.Rm, 3, inst.Align, inst.Size);
}
public static void Vld1MA4(CodeGenContext context, uint encoding)
{
InstDb22w1Rnb16w4Vdb12w4Sizeb6w2Alignb4w2Rmb0w4 inst = new(encoding);
InstEmitNeonMemory.Vld1M(context, InstEmitCommon.CombineV(inst.Vd, inst.D), inst.Rn, inst.Rm, 4, inst.Align, inst.Size);
}
public static void Vld1MT1(CodeGenContext context, uint encoding)
{
InstDb22w1Rnb16w4Vdb12w4Sizeb6w2Alignb4w2Rmb0w4 inst = new(encoding);
InstEmitNeonMemory.Vld1M(context, InstEmitCommon.CombineV(inst.Vd, inst.D), inst.Rn, inst.Rm, 1, inst.Align, inst.Size);
}
public static void Vld1MT2(CodeGenContext context, uint encoding)
{
InstDb22w1Rnb16w4Vdb12w4Sizeb6w2Alignb4w2Rmb0w4 inst = new(encoding);
InstEmitNeonMemory.Vld1M(context, InstEmitCommon.CombineV(inst.Vd, inst.D), inst.Rn, inst.Rm, 2, inst.Align, inst.Size);
}
public static void Vld1MT3(CodeGenContext context, uint encoding)
{
InstDb22w1Rnb16w4Vdb12w4Sizeb6w2Alignb4w2Rmb0w4 inst = new(encoding);
InstEmitNeonMemory.Vld1M(context, InstEmitCommon.CombineV(inst.Vd, inst.D), inst.Rn, inst.Rm, 3, inst.Align, inst.Size);
}
public static void Vld1MT4(CodeGenContext context, uint encoding)
{
InstDb22w1Rnb16w4Vdb12w4Sizeb6w2Alignb4w2Rmb0w4 inst = new(encoding);
InstEmitNeonMemory.Vld1M(context, InstEmitCommon.CombineV(inst.Vd, inst.D), inst.Rn, inst.Rm, 4, inst.Align, inst.Size);
}
public static void Vld21A1(CodeGenContext context, uint encoding)
{
InstDb22w1Rnb16w4Vdb12w4IndexAlignb4w4Rmb0w4 inst = new(encoding);
InstEmitNeonMemory.Vld21(context, InstEmitCommon.CombineV(inst.Vd, inst.D), inst.Rn, inst.Rm, inst.IndexAlign, 0);
}
public static void Vld21A2(CodeGenContext context, uint encoding)
{
InstDb22w1Rnb16w4Vdb12w4IndexAlignb4w4Rmb0w4 inst = new(encoding);
InstEmitNeonMemory.Vld21(context, InstEmitCommon.CombineV(inst.Vd, inst.D), inst.Rn, inst.Rm, inst.IndexAlign, 1);
}
public static void Vld21A3(CodeGenContext context, uint encoding)
{
InstDb22w1Rnb16w4Vdb12w4IndexAlignb4w4Rmb0w4 inst = new(encoding);
InstEmitNeonMemory.Vld21(context, InstEmitCommon.CombineV(inst.Vd, inst.D), inst.Rn, inst.Rm, inst.IndexAlign, 2);
}
public static void Vld21T1(CodeGenContext context, uint encoding)
{
InstDb22w1Rnb16w4Vdb12w4IndexAlignb4w4Rmb0w4 inst = new(encoding);
InstEmitNeonMemory.Vld21(context, InstEmitCommon.CombineV(inst.Vd, inst.D), inst.Rn, inst.Rm, inst.IndexAlign, 0);
}
public static void Vld21T2(CodeGenContext context, uint encoding)
{
InstDb22w1Rnb16w4Vdb12w4IndexAlignb4w4Rmb0w4 inst = new(encoding);
InstEmitNeonMemory.Vld21(context, InstEmitCommon.CombineV(inst.Vd, inst.D), inst.Rn, inst.Rm, inst.IndexAlign, 1);
}
public static void Vld21T3(CodeGenContext context, uint encoding)
{
InstDb22w1Rnb16w4Vdb12w4IndexAlignb4w4Rmb0w4 inst = new(encoding);
InstEmitNeonMemory.Vld21(context, InstEmitCommon.CombineV(inst.Vd, inst.D), inst.Rn, inst.Rm, inst.IndexAlign, 2);
}
public static void Vld2AA1(CodeGenContext context, uint encoding)
{
InstDb22w1Rnb16w4Vdb12w4Sizeb6w2Tb5w1Ab4w1Rmb0w4 inst = new(encoding);
InstEmitNeonMemory.Vld2A(context, InstEmitCommon.CombineV(inst.Vd, inst.D), inst.Rn, inst.Rm, inst.A, inst.T, inst.Size);
}
public static void Vld2AT1(CodeGenContext context, uint encoding)
{
InstDb22w1Rnb16w4Vdb12w4Sizeb6w2Tb5w1Ab4w1Rmb0w4 inst = new(encoding);
InstEmitNeonMemory.Vld2A(context, InstEmitCommon.CombineV(inst.Vd, inst.D), inst.Rn, inst.Rm, inst.A, inst.T, inst.Size);
}
public static void Vld2MA1(CodeGenContext context, uint encoding)
{
InstDb22w1Rnb16w4Vdb12w4Sizeb6w2Alignb4w2Rmb0w4 inst = new(encoding);
InstEmitNeonMemory.Vld2M(context, InstEmitCommon.CombineV(inst.Vd, inst.D), inst.Rn, inst.Rm, (encoding >> 8) & 0xf, inst.Align, inst.Size);
}
public static void Vld2MA2(CodeGenContext context, uint encoding)
{
InstDb22w1Rnb16w4Vdb12w4Sizeb6w2Alignb4w2Rmb0w4 inst = new(encoding);
InstEmitNeonMemory.Vld2M(context, InstEmitCommon.CombineV(inst.Vd, inst.D), inst.Rn, inst.Rm, inst.Align, inst.Size);
}
public static void Vld2MT1(CodeGenContext context, uint encoding)
{
InstDb22w1Rnb16w4Vdb12w4Sizeb6w2Alignb4w2Rmb0w4 inst = new(encoding);
InstEmitNeonMemory.Vld2M(context, InstEmitCommon.CombineV(inst.Vd, inst.D), inst.Rn, inst.Rm, (encoding >> 8) & 0xf, inst.Align, inst.Size);
}
public static void Vld2MT2(CodeGenContext context, uint encoding)
{
InstDb22w1Rnb16w4Vdb12w4Sizeb6w2Alignb4w2Rmb0w4 inst = new(encoding);
InstEmitNeonMemory.Vld2M(context, InstEmitCommon.CombineV(inst.Vd, inst.D), inst.Rn, inst.Rm, inst.Align, inst.Size);
}
public static void Vld31A1(CodeGenContext context, uint encoding)
{
InstDb22w1Rnb16w4Vdb12w4IndexAlignb4w4Rmb0w4 inst = new(encoding);
InstEmitNeonMemory.Vld31(context, InstEmitCommon.CombineV(inst.Vd, inst.D), inst.Rn, inst.Rm, inst.IndexAlign, 0);
}
public static void Vld31A2(CodeGenContext context, uint encoding)
{
InstDb22w1Rnb16w4Vdb12w4IndexAlignb4w4Rmb0w4 inst = new(encoding);
InstEmitNeonMemory.Vld31(context, InstEmitCommon.CombineV(inst.Vd, inst.D), inst.Rn, inst.Rm, inst.IndexAlign, 1);
}
public static void Vld31A3(CodeGenContext context, uint encoding)
{
InstDb22w1Rnb16w4Vdb12w4IndexAlignb4w4Rmb0w4 inst = new(encoding);
InstEmitNeonMemory.Vld31(context, InstEmitCommon.CombineV(inst.Vd, inst.D), inst.Rn, inst.Rm, inst.IndexAlign, 2);
}
public static void Vld31T1(CodeGenContext context, uint encoding)
{
InstDb22w1Rnb16w4Vdb12w4IndexAlignb4w4Rmb0w4 inst = new(encoding);
InstEmitNeonMemory.Vld31(context, InstEmitCommon.CombineV(inst.Vd, inst.D), inst.Rn, inst.Rm, inst.IndexAlign, 0);
}
public static void Vld31T2(CodeGenContext context, uint encoding)
{
InstDb22w1Rnb16w4Vdb12w4IndexAlignb4w4Rmb0w4 inst = new(encoding);
InstEmitNeonMemory.Vld31(context, InstEmitCommon.CombineV(inst.Vd, inst.D), inst.Rn, inst.Rm, inst.IndexAlign, 1);
}
public static void Vld31T3(CodeGenContext context, uint encoding)
{
InstDb22w1Rnb16w4Vdb12w4IndexAlignb4w4Rmb0w4 inst = new(encoding);
InstEmitNeonMemory.Vld31(context, InstEmitCommon.CombineV(inst.Vd, inst.D), inst.Rn, inst.Rm, inst.IndexAlign, 2);
}
public static void Vld3AA1(CodeGenContext context, uint encoding)
{
InstDb22w1Rnb16w4Vdb12w4Sizeb6w2Tb5w1Rmb0w4 inst = new(encoding);
InstEmitNeonMemory.Vld3A(context, InstEmitCommon.CombineV(inst.Vd, inst.D), inst.Rn, inst.Rm, 0, inst.T, inst.Size);
}
public static void Vld3AT1(CodeGenContext context, uint encoding)
{
InstDb22w1Rnb16w4Vdb12w4Sizeb6w2Tb5w1Rmb0w4 inst = new(encoding);
InstEmitNeonMemory.Vld3A(context, InstEmitCommon.CombineV(inst.Vd, inst.D), inst.Rn, inst.Rm, 0, inst.T, inst.Size);
}
public static void Vld3MA1(CodeGenContext context, uint encoding)
{
InstDb22w1Rnb16w4Vdb12w4Sizeb6w2Alignb4w2Rmb0w4 inst = new(encoding);
InstEmitNeonMemory.Vld3M(context, InstEmitCommon.CombineV(inst.Vd, inst.D), inst.Rn, inst.Rm, (encoding >> 8) & 0xf, inst.Align, inst.Size);
}
public static void Vld3MT1(CodeGenContext context, uint encoding)
{
InstDb22w1Rnb16w4Vdb12w4Sizeb6w2Alignb4w2Rmb0w4 inst = new(encoding);
InstEmitNeonMemory.Vld3M(context, InstEmitCommon.CombineV(inst.Vd, inst.D), inst.Rn, inst.Rm, (encoding >> 8) & 0xf, inst.Align, inst.Size);
}
public static void Vld41A1(CodeGenContext context, uint encoding)
{
InstDb22w1Rnb16w4Vdb12w4IndexAlignb4w4Rmb0w4 inst = new(encoding);
InstEmitNeonMemory.Vld41(context, InstEmitCommon.CombineV(inst.Vd, inst.D), inst.Rn, inst.Rm, inst.IndexAlign, 0);
}
public static void Vld41A2(CodeGenContext context, uint encoding)
{
InstDb22w1Rnb16w4Vdb12w4IndexAlignb4w4Rmb0w4 inst = new(encoding);
InstEmitNeonMemory.Vld41(context, InstEmitCommon.CombineV(inst.Vd, inst.D), inst.Rn, inst.Rm, inst.IndexAlign, 1);
}
public static void Vld41A3(CodeGenContext context, uint encoding)
{
InstDb22w1Rnb16w4Vdb12w4IndexAlignb4w4Rmb0w4 inst = new(encoding);
InstEmitNeonMemory.Vld41(context, InstEmitCommon.CombineV(inst.Vd, inst.D), inst.Rn, inst.Rm, inst.IndexAlign, 2);
}
public static void Vld41T1(CodeGenContext context, uint encoding)
{
InstDb22w1Rnb16w4Vdb12w4IndexAlignb4w4Rmb0w4 inst = new(encoding);
InstEmitNeonMemory.Vld41(context, InstEmitCommon.CombineV(inst.Vd, inst.D), inst.Rn, inst.Rm, inst.IndexAlign, 0);
}
public static void Vld41T2(CodeGenContext context, uint encoding)
{
InstDb22w1Rnb16w4Vdb12w4IndexAlignb4w4Rmb0w4 inst = new(encoding);
InstEmitNeonMemory.Vld41(context, InstEmitCommon.CombineV(inst.Vd, inst.D), inst.Rn, inst.Rm, inst.IndexAlign, 1);
}
public static void Vld41T3(CodeGenContext context, uint encoding)
{
InstDb22w1Rnb16w4Vdb12w4IndexAlignb4w4Rmb0w4 inst = new(encoding);
InstEmitNeonMemory.Vld41(context, InstEmitCommon.CombineV(inst.Vd, inst.D), inst.Rn, inst.Rm, inst.IndexAlign, 2);
}
public static void Vld4AA1(CodeGenContext context, uint encoding)
{
InstDb22w1Rnb16w4Vdb12w4Sizeb6w2Tb5w1Ab4w1Rmb0w4 inst = new(encoding);
InstEmitNeonMemory.Vld4A(context, InstEmitCommon.CombineV(inst.Vd, inst.D), inst.Rn, inst.Rm, inst.A, inst.T, inst.Size);
}
public static void Vld4AT1(CodeGenContext context, uint encoding)
{
InstDb22w1Rnb16w4Vdb12w4Sizeb6w2Tb5w1Ab4w1Rmb0w4 inst = new(encoding);
InstEmitNeonMemory.Vld4A(context, InstEmitCommon.CombineV(inst.Vd, inst.D), inst.Rn, inst.Rm, inst.A, inst.T, inst.Size);
}
public static void Vld4MA1(CodeGenContext context, uint encoding)
{
InstDb22w1Rnb16w4Vdb12w4Sizeb6w2Alignb4w2Rmb0w4 inst = new(encoding);
InstEmitNeonMemory.Vld4M(context, InstEmitCommon.CombineV(inst.Vd, inst.D), inst.Rn, inst.Rm, (encoding >> 8) & 0xf, inst.Align, inst.Size);
}
public static void Vld4MT1(CodeGenContext context, uint encoding)
{
InstDb22w1Rnb16w4Vdb12w4Sizeb6w2Alignb4w2Rmb0w4 inst = new(encoding);
InstEmitNeonMemory.Vld4M(context, InstEmitCommon.CombineV(inst.Vd, inst.D), inst.Rn, inst.Rm, (encoding >> 8) & 0xf, inst.Align, inst.Size);
}
public static void VldmA1(CodeGenContext context, uint encoding)
{
InstCondb28w4Pb24w1Ub23w1Db22w1Wb21w1Rnb16w4Vdb12w4Imm871b1w7 inst = new(encoding);
InstEmitNeonMemory.Vldm(context, InstEmitCommon.CombineV(inst.Vd, inst.D), inst.Rn, inst.Imm871, inst.U != 0, inst.W != 0, singleRegs: false);
}
public static void VldmA2(CodeGenContext context, uint encoding)
{
InstCondb28w4Pb24w1Ub23w1Db22w1Wb21w1Rnb16w4Vdb12w4Imm8b0w8 inst = new(encoding);
InstEmitNeonMemory.Vldm(context, InstEmitCommon.CombineVF(inst.D, inst.Vd), inst.Rn, inst.Imm8, inst.U != 0, inst.W != 0, singleRegs: true);
}
public static void VldmT1(CodeGenContext context, uint encoding)
{
InstPb24w1Ub23w1Db22w1Wb21w1Rnb16w4Vdb12w4Imm871b1w7 inst = new(encoding);
InstEmitNeonMemory.Vldm(context, InstEmitCommon.CombineV(inst.Vd, inst.D), inst.Rn, inst.Imm871, inst.U != 0, inst.W != 0, singleRegs: false);
}
public static void VldmT2(CodeGenContext context, uint encoding)
{
InstPb24w1Ub23w1Db22w1Wb21w1Rnb16w4Vdb12w4Imm8b0w8 inst = new(encoding);
InstEmitNeonMemory.Vldm(context, InstEmitCommon.CombineVF(inst.D, inst.Vd), inst.Rn, inst.Imm8, inst.U != 0, inst.W != 0, singleRegs: true);
}
public static void VldrIA1(CodeGenContext context, uint encoding)
{
InstCondb28w4Ub23w1Db22w1Rnb16w4Vdb12w4Sizeb8w2Imm8b0w8 inst = new(encoding);
InstEmitNeonMemory.Vldr(context, InstEmitCommon.CombineV(inst.Vd, inst.D, inst.Size), inst.Rn, inst.Imm8, inst.U != 0, inst.Size);
}
public static void VldrIT1(CodeGenContext context, uint encoding)
{
InstUb23w1Db22w1Rnb16w4Vdb12w4Sizeb8w2Imm8b0w8 inst = new(encoding);
InstEmitNeonMemory.Vldr(context, InstEmitCommon.CombineV(inst.Vd, inst.D, inst.Size), inst.Rn, inst.Imm8, inst.U != 0, inst.Size);
}
public static void VldrLA1(CodeGenContext context, uint encoding)
{
InstCondb28w4Ub23w1Db22w1Vdb12w4Sizeb8w2Imm8b0w8 inst = new(encoding);
InstEmitNeonMemory.Vldr(context, InstEmitCommon.CombineV(inst.Vd, inst.D, inst.Size), RegisterUtils.PcRegister, inst.Imm8, inst.U != 0, inst.Size);
}
public static void VldrLT1(CodeGenContext context, uint encoding)
{
InstUb23w1Db22w1Vdb12w4Sizeb8w2Imm8b0w8 inst = new(encoding);
InstEmitNeonMemory.Vldr(context, InstEmitCommon.CombineV(inst.Vd, inst.D, inst.Size), RegisterUtils.PcRegister, inst.Imm8, inst.U != 0, inst.Size);
}
public static void VmaxnmA1(CodeGenContext context, uint encoding)
{
InstDb22w1Szb20w1Vnb16w4Vdb12w4Nb7w1Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonArithmetic.Vmaxnm(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vn, inst.N), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.Sz, inst.Q);
}
public static void VmaxnmA2(CodeGenContext context, uint encoding)
{
InstDb22w1Vnb16w4Vdb12w4Sizeb8w2Nb7w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitVfpArithmetic.Vmaxnm(context, InstEmitCommon.CombineV(inst.Vd, inst.D, inst.Size), InstEmitCommon.CombineV(inst.Vn, inst.N, inst.Size), InstEmitCommon.CombineV(inst.Vm, inst.M, inst.Size), inst.Size);
}
public static void VmaxnmT1(CodeGenContext context, uint encoding)
{
InstDb22w1Szb20w1Vnb16w4Vdb12w4Nb7w1Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonArithmetic.Vmaxnm(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vn, inst.N), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.Sz, inst.Q);
}
public static void VmaxnmT2(CodeGenContext context, uint encoding)
{
InstDb22w1Vnb16w4Vdb12w4Sizeb8w2Nb7w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitVfpArithmetic.Vmaxnm(context, InstEmitCommon.CombineV(inst.Vd, inst.D, inst.Size), InstEmitCommon.CombineV(inst.Vn, inst.N, inst.Size), InstEmitCommon.CombineV(inst.Vm, inst.M, inst.Size), inst.Size);
}
public static void VmaxFA1(CodeGenContext context, uint encoding)
{
InstDb22w1Szb20w1Vnb16w4Vdb12w4Nb7w1Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonArithmetic.VmaxF(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vn, inst.N), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.Sz, inst.Q);
}
public static void VmaxFT1(CodeGenContext context, uint encoding)
{
InstDb22w1Szb20w1Vnb16w4Vdb12w4Nb7w1Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonArithmetic.VmaxF(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vn, inst.N), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.Sz, inst.Q);
}
public static void VmaxIA1(CodeGenContext context, uint encoding)
{
InstUb24w1Db22w1Sizeb20w2Vnb16w4Vdb12w4Nb7w1Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonArithmetic.VmaxI(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vn, inst.N), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.U != 0, inst.Size, inst.Q);
}
public static void VmaxIT1(CodeGenContext context, uint encoding)
{
InstUb28w1Db22w1Sizeb20w2Vnb16w4Vdb12w4Nb7w1Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonArithmetic.VmaxI(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vn, inst.N), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.U != 0, inst.Size, inst.Q);
}
public static void VminnmA1(CodeGenContext context, uint encoding)
{
InstDb22w1Szb20w1Vnb16w4Vdb12w4Nb7w1Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonArithmetic.Vminnm(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vn, inst.N), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.Sz, inst.Q);
}
public static void VminnmA2(CodeGenContext context, uint encoding)
{
InstDb22w1Vnb16w4Vdb12w4Sizeb8w2Nb7w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitVfpArithmetic.Vminnm(context, InstEmitCommon.CombineV(inst.Vd, inst.D, inst.Size), InstEmitCommon.CombineV(inst.Vn, inst.N, inst.Size), InstEmitCommon.CombineV(inst.Vm, inst.M, inst.Size), inst.Size);
}
public static void VminnmT1(CodeGenContext context, uint encoding)
{
InstDb22w1Szb20w1Vnb16w4Vdb12w4Nb7w1Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonArithmetic.Vminnm(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vn, inst.N), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.Sz, inst.Q);
}
public static void VminnmT2(CodeGenContext context, uint encoding)
{
InstDb22w1Vnb16w4Vdb12w4Sizeb8w2Nb7w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitVfpArithmetic.Vminnm(context, InstEmitCommon.CombineV(inst.Vd, inst.D, inst.Size), InstEmitCommon.CombineV(inst.Vn, inst.N, inst.Size), InstEmitCommon.CombineV(inst.Vm, inst.M, inst.Size), inst.Size);
}
public static void VminFA1(CodeGenContext context, uint encoding)
{
InstDb22w1Szb20w1Vnb16w4Vdb12w4Nb7w1Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonArithmetic.VminF(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vn, inst.N), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.Sz, inst.Q);
}
public static void VminFT1(CodeGenContext context, uint encoding)
{
InstDb22w1Szb20w1Vnb16w4Vdb12w4Nb7w1Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonArithmetic.VminF(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vn, inst.N), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.Sz, inst.Q);
}
public static void VminIA1(CodeGenContext context, uint encoding)
{
InstUb24w1Db22w1Sizeb20w2Vnb16w4Vdb12w4Nb7w1Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonArithmetic.VminI(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vn, inst.N), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.U != 0, inst.Size, inst.Q);
}
public static void VminIT1(CodeGenContext context, uint encoding)
{
InstUb28w1Db22w1Sizeb20w2Vnb16w4Vdb12w4Nb7w1Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonArithmetic.VminI(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vn, inst.N), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.U != 0, inst.Size, inst.Q);
}
public static void VmlalIA1(CodeGenContext context, uint encoding)
{
InstUb24w1Db22w1Sizeb20w2Vnb16w4Vdb12w4Nb7w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonArithmetic.VmlalI(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vn, inst.N), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.U != 0, inst.Size);
}
public static void VmlalIT1(CodeGenContext context, uint encoding)
{
InstUb28w1Db22w1Sizeb20w2Vnb16w4Vdb12w4Nb7w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonArithmetic.VmlalI(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vn, inst.N), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.U != 0, inst.Size);
}
public static void VmlalSA1(CodeGenContext context, uint encoding)
{
InstUb24w1Db22w1Sizeb20w2Vnb16w4Vdb12w4Nb7w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonArithmetic.VmlalS(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vn, inst.N), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.U != 0, inst.Size);
}
public static void VmlalST1(CodeGenContext context, uint encoding)
{
InstUb28w1Db22w1Sizeb20w2Vnb16w4Vdb12w4Nb7w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonArithmetic.VmlalS(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vn, inst.N), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.U != 0, inst.Size);
}
public static void VmlaFA1(CodeGenContext context, uint encoding)
{
InstDb22w1Szb20w1Vnb16w4Vdb12w4Nb7w1Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonArithmetic.VmlaF(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vn, inst.N), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.Sz, inst.Q);
}
public static void VmlaFA2(CodeGenContext context, uint encoding)
{
InstCondb28w4Db22w1Vnb16w4Vdb12w4Sizeb8w2Nb7w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitVfpArithmetic.VmlaF(context, InstEmitCommon.CombineV(inst.Vd, inst.D, inst.Size), InstEmitCommon.CombineV(inst.Vn, inst.N, inst.Size), InstEmitCommon.CombineV(inst.Vm, inst.M, inst.Size), inst.Size);
}
public static void VmlaFT1(CodeGenContext context, uint encoding)
{
InstDb22w1Szb20w1Vnb16w4Vdb12w4Nb7w1Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonArithmetic.VmlaF(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vn, inst.N), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.Sz, inst.Q);
}
public static void VmlaFT2(CodeGenContext context, uint encoding)
{
InstDb22w1Vnb16w4Vdb12w4Sizeb8w2Nb7w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitVfpArithmetic.VmlaF(context, InstEmitCommon.CombineV(inst.Vd, inst.D, inst.Size), InstEmitCommon.CombineV(inst.Vn, inst.N, inst.Size), InstEmitCommon.CombineV(inst.Vm, inst.M, inst.Size), inst.Size);
}
public static void VmlaIA1(CodeGenContext context, uint encoding)
{
InstDb22w1Sizeb20w2Vnb16w4Vdb12w4Nb7w1Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonArithmetic.VmlaI(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vn, inst.N), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.Size, inst.Q);
}
public static void VmlaIT1(CodeGenContext context, uint encoding)
{
InstDb22w1Sizeb20w2Vnb16w4Vdb12w4Nb7w1Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonArithmetic.VmlaI(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vn, inst.N), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.Size, inst.Q);
}
public static void VmlaSA1(CodeGenContext context, uint encoding)
{
InstQb24w1Db22w1Sizeb20w2Vnb16w4Vdb12w4Fb8w1Nb7w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonArithmetic.VmlaS(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vn, inst.N), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.F != 0, inst.Size, inst.Q);
}
public static void VmlaST1(CodeGenContext context, uint encoding)
{
InstQb28w1Db22w1Sizeb20w2Vnb16w4Vdb12w4Fb8w1Nb7w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonArithmetic.VmlaS(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vn, inst.N), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.F != 0, inst.Size, inst.Q);
}
public static void VmlslIA1(CodeGenContext context, uint encoding)
{
InstUb24w1Db22w1Sizeb20w2Vnb16w4Vdb12w4Nb7w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonArithmetic.VmlslI(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vn, inst.N), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.U != 0, inst.Size);
}
public static void VmlslIT1(CodeGenContext context, uint encoding)
{
InstUb28w1Db22w1Sizeb20w2Vnb16w4Vdb12w4Nb7w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonArithmetic.VmlslI(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vn, inst.N), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.U != 0, inst.Size);
}
public static void VmlslSA1(CodeGenContext context, uint encoding)
{
InstUb24w1Db22w1Sizeb20w2Vnb16w4Vdb12w4Nb7w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonArithmetic.VmlslS(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vn, inst.N), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.U != 0, inst.Size);
}
public static void VmlslST1(CodeGenContext context, uint encoding)
{
InstUb28w1Db22w1Sizeb20w2Vnb16w4Vdb12w4Nb7w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonArithmetic.VmlslS(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vn, inst.N), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.U != 0, inst.Size);
}
public static void VmlsFA1(CodeGenContext context, uint encoding)
{
InstDb22w1Szb20w1Vnb16w4Vdb12w4Nb7w1Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonArithmetic.VmlsF(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vn, inst.N), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.Sz, inst.Q);
}
public static void VmlsFA2(CodeGenContext context, uint encoding)
{
InstCondb28w4Db22w1Vnb16w4Vdb12w4Sizeb8w2Nb7w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitVfpArithmetic.VmlsF(context, InstEmitCommon.CombineV(inst.Vd, inst.D, inst.Size), InstEmitCommon.CombineV(inst.Vn, inst.N, inst.Size), InstEmitCommon.CombineV(inst.Vm, inst.M, inst.Size), inst.Size);
}
public static void VmlsFT1(CodeGenContext context, uint encoding)
{
InstDb22w1Szb20w1Vnb16w4Vdb12w4Nb7w1Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonArithmetic.VmlsF(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vn, inst.N), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.Sz, inst.Q);
}
public static void VmlsFT2(CodeGenContext context, uint encoding)
{
InstDb22w1Vnb16w4Vdb12w4Sizeb8w2Nb7w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitVfpArithmetic.VmlsF(context, InstEmitCommon.CombineV(inst.Vd, inst.D, inst.Size), InstEmitCommon.CombineV(inst.Vn, inst.N, inst.Size), InstEmitCommon.CombineV(inst.Vm, inst.M, inst.Size), inst.Size);
}
public static void VmlsIA1(CodeGenContext context, uint encoding)
{
InstDb22w1Sizeb20w2Vnb16w4Vdb12w4Nb7w1Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonArithmetic.VmlsI(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vn, inst.N), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.Size, inst.Q);
}
public static void VmlsIT1(CodeGenContext context, uint encoding)
{
InstDb22w1Sizeb20w2Vnb16w4Vdb12w4Nb7w1Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonArithmetic.VmlsI(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vn, inst.N), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.Size, inst.Q);
}
public static void VmlsSA1(CodeGenContext context, uint encoding)
{
InstQb24w1Db22w1Sizeb20w2Vnb16w4Vdb12w4Fb8w1Nb7w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonArithmetic.VmlsS(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vn, inst.N), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.F != 0, inst.Size, inst.Q);
}
public static void VmlsST1(CodeGenContext context, uint encoding)
{
InstQb28w1Db22w1Sizeb20w2Vnb16w4Vdb12w4Fb8w1Nb7w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonArithmetic.VmlsS(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vn, inst.N), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.F != 0, inst.Size, inst.Q);
}
public static void VmmlaA1(CodeGenContext context, uint encoding)
{
_ = new InstDb22w1Vnb16w4Vdb12w4Nb7w1Mb5w1Vmb0w4(encoding);
throw new NotImplementedException();
}
public static void VmmlaT1(CodeGenContext context, uint encoding)
{
_ = new InstDb22w1Vnb16w4Vdb12w4Nb7w1Mb5w1Vmb0w4(encoding);
throw new NotImplementedException();
}
public static void VmovlA1(CodeGenContext context, uint encoding)
{
InstUb24w1Db22w1Imm3hb19w3Vdb12w4Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonMove.Vmovl(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.U != 0, inst.Imm3h);
}
public static void VmovlT1(CodeGenContext context, uint encoding)
{
InstUb28w1Db22w1Imm3hb19w3Vdb12w4Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonMove.Vmovl(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.U != 0, inst.Imm3h);
}
public static void VmovnA1(CodeGenContext context, uint encoding)
{
InstDb22w1Sizeb18w2Vdb12w4Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonMove.Vmovn(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.Size);
}
public static void VmovnT1(CodeGenContext context, uint encoding)
{
InstDb22w1Sizeb18w2Vdb12w4Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonMove.Vmovn(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.Size);
}
public static void VmovxA1(CodeGenContext context, uint encoding)
{
InstDb22w1Vdb12w4Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonMove.Vmovx(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vm, inst.M));
}
public static void VmovxT1(CodeGenContext context, uint encoding)
{
InstDb22w1Vdb12w4Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonMove.Vmovx(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vm, inst.M));
}
public static void VmovDA1(CodeGenContext context, uint encoding)
{
InstCondb28w4Opb20w1Rt2b16w4Rtb12w4Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonMove.VmovD(context, inst.Rt, inst.Rt2, InstEmitCommon.CombineV(inst.Vm, inst.M), inst.Op != 0);
}
public static void VmovDT1(CodeGenContext context, uint encoding)
{
InstOpb20w1Rt2b16w4Rtb12w4Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonMove.VmovD(context, inst.Rt, inst.Rt2, InstEmitCommon.CombineV(inst.Vm, inst.M), inst.Op != 0);
}
public static void VmovHA1(CodeGenContext context, uint encoding)
{
InstCondb28w4Opb20w1Vnb16w4Rtb12w4Nb7w1 inst = new(encoding);
InstEmitNeonMove.VmovH(context, inst.Rt, InstEmitCommon.CombineVF(inst.N, inst.Vn), inst.Op != 0);
}
public static void VmovHT1(CodeGenContext context, uint encoding)
{
InstOpb20w1Vnb16w4Rtb12w4Nb7w1 inst = new(encoding);
InstEmitNeonMove.VmovH(context, inst.Rt, InstEmitCommon.CombineVF(inst.N, inst.Vn), inst.Op != 0);
}
public static void VmovIA1(CodeGenContext context, uint encoding)
{
InstIb24w1Db22w1Imm3b16w3Vdb12w4Qb6w1Imm4b0w4 inst = new(encoding);
InstEmitNeonMove.VmovI(context, InstEmitCommon.CombineV(inst.Vd, inst.D), 0, (encoding >> 8) & 0xf, ImmUtils.CombineImmU8(inst.Imm4, inst.Imm3, inst.I), inst.Q);
}
public static void VmovIA2(CodeGenContext context, uint encoding)
{
InstCondb28w4Db22w1Imm4hb16w4Vdb12w4Sizeb8w2Imm4lb0w4 inst = new(encoding);
InstEmitNeonMove.VmovFI(context, InstEmitCommon.CombineV(inst.Vd, inst.D, inst.Size), ImmUtils.CombineImmU8(inst.Imm4l, inst.Imm4h), inst.Size);
}
public static void VmovIA3(CodeGenContext context, uint encoding)
{
InstIb24w1Db22w1Imm3b16w3Vdb12w4Qb6w1Imm4b0w4 inst = new(encoding);
InstEmitNeonMove.VmovI(context, InstEmitCommon.CombineV(inst.Vd, inst.D), 0, (encoding >> 8) & 0xf, ImmUtils.CombineImmU8(inst.Imm4, inst.Imm3, inst.I), inst.Q);
}
public static void VmovIA4(CodeGenContext context, uint encoding)
{
InstIb24w1Db22w1Imm3b16w3Vdb12w4Qb6w1Imm4b0w4 inst = new(encoding);
InstEmitNeonMove.VmovI(context, InstEmitCommon.CombineV(inst.Vd, inst.D), 0, (encoding >> 8) & 0xf, ImmUtils.CombineImmU8(inst.Imm4, inst.Imm3, inst.I), inst.Q);
}
public static void VmovIA5(CodeGenContext context, uint encoding)
{
InstIb24w1Db22w1Imm3b16w3Vdb12w4Qb6w1Imm4b0w4 inst = new(encoding);
InstEmitNeonMove.VmovI(context, InstEmitCommon.CombineV(inst.Vd, inst.D), 1, (encoding >> 8) & 0xf, ImmUtils.CombineImmU8(inst.Imm4, inst.Imm3, inst.I), inst.Q);
}
public static void VmovIT1(CodeGenContext context, uint encoding)
{
InstIb28w1Db22w1Imm3b16w3Vdb12w4Qb6w1Imm4b0w4 inst = new(encoding);
InstEmitNeonMove.VmovI(context, InstEmitCommon.CombineV(inst.Vd, inst.D), 0, (encoding >> 8) & 0xf, ImmUtils.CombineImmU8(inst.Imm4, inst.Imm3, inst.I), inst.Q);
}
public static void VmovIT2(CodeGenContext context, uint encoding)
{
InstDb22w1Imm4hb16w4Vdb12w4Sizeb8w2Imm4lb0w4 inst = new(encoding);
InstEmitNeonMove.VmovFI(context, InstEmitCommon.CombineV(inst.Vd, inst.D, inst.Size), ImmUtils.CombineImmU8(inst.Imm4l, inst.Imm4h), inst.Size);
}
public static void VmovIT3(CodeGenContext context, uint encoding)
{
InstIb28w1Db22w1Imm3b16w3Vdb12w4Qb6w1Imm4b0w4 inst = new(encoding);
InstEmitNeonMove.VmovI(context, InstEmitCommon.CombineV(inst.Vd, inst.D), 0, (encoding >> 8) & 0xf, ImmUtils.CombineImmU8(inst.Imm4, inst.Imm3, inst.I), inst.Q);
}
public static void VmovIT4(CodeGenContext context, uint encoding)
{
InstIb28w1Db22w1Imm3b16w3Vdb12w4Qb6w1Imm4b0w4 inst = new(encoding);
InstEmitNeonMove.VmovI(context, InstEmitCommon.CombineV(inst.Vd, inst.D), 0, (encoding >> 8) & 0xf, ImmUtils.CombineImmU8(inst.Imm4, inst.Imm3, inst.I), inst.Q);
}
public static void VmovIT5(CodeGenContext context, uint encoding)
{
InstIb28w1Db22w1Imm3b16w3Vdb12w4Qb6w1Imm4b0w4 inst = new(encoding);
InstEmitNeonMove.VmovI(context, InstEmitCommon.CombineV(inst.Vd, inst.D), 1, (encoding >> 8) & 0xf, ImmUtils.CombineImmU8(inst.Imm4, inst.Imm3, inst.I), inst.Q);
}
public static void VmovRA2(CodeGenContext context, uint encoding)
{
InstCondb28w4Db22w1Vdb12w4Mb5w1Vmb0w4 inst = new(encoding);
uint size = (encoding >> 8) & 3;
InstEmitNeonMove.VmovR(context, InstEmitCommon.CombineV(inst.Vd, inst.D, size), InstEmitCommon.CombineV(inst.Vm, inst.M, size), size);
}
public static void VmovRT2(CodeGenContext context, uint encoding)
{
InstDb22w1Vdb12w4Mb5w1Vmb0w4 inst = new(encoding);
uint size = (encoding >> 8) & 3;
InstEmitNeonMove.VmovR(context, InstEmitCommon.CombineV(inst.Vd, inst.D, size), InstEmitCommon.CombineV(inst.Vm, inst.M, size), size);
}
public static void VmovRsA1(CodeGenContext context, uint encoding)
{
InstCondb28w4Opc1b21w2Vdb16w4Rtb12w4Db7w1Opc2b5w2 inst = new(encoding);
InstEmitNeonMove.VmovRs(context, InstEmitCommon.CombineV(inst.Vd, inst.D), inst.Rt, inst.Opc1, inst.Opc2);
}
public static void VmovRsT1(CodeGenContext context, uint encoding)
{
InstOpc1b21w2Vdb16w4Rtb12w4Db7w1Opc2b5w2 inst = new(encoding);
InstEmitNeonMove.VmovRs(context, InstEmitCommon.CombineV(inst.Vd, inst.D), inst.Rt, inst.Opc1, inst.Opc2);
}
public static void VmovSA1(CodeGenContext context, uint encoding)
{
InstCondb28w4Opb20w1Vnb16w4Rtb12w4Nb7w1 inst = new(encoding);
InstEmitNeonMove.VmovS(context, inst.Rt, InstEmitCommon.CombineVF(inst.N, inst.Vn), inst.Op != 0);
}
public static void VmovST1(CodeGenContext context, uint encoding)
{
InstOpb20w1Vnb16w4Rtb12w4Nb7w1 inst = new(encoding);
InstEmitNeonMove.VmovS(context, inst.Rt, InstEmitCommon.CombineVF(inst.N, inst.Vn), inst.Op != 0);
}
public static void VmovSrA1(CodeGenContext context, uint encoding)
{
InstCondb28w4Ub23w1Opc1b21w2Vnb16w4Rtb12w4Nb7w1Opc2b5w2 inst = new(encoding);
InstEmitNeonMove.VmovSr(context, inst.Rt, InstEmitCommon.CombineV(inst.Vn, inst.N), inst.U != 0, inst.Opc1, inst.Opc2);
}
public static void VmovSrT1(CodeGenContext context, uint encoding)
{
InstUb23w1Opc1b21w2Vnb16w4Rtb12w4Nb7w1Opc2b5w2 inst = new(encoding);
InstEmitNeonMove.VmovSr(context, inst.Rt, InstEmitCommon.CombineV(inst.Vn, inst.N), inst.U != 0, inst.Opc1, inst.Opc2);
}
public static void VmovSsA1(CodeGenContext context, uint encoding)
{
InstCondb28w4Opb20w1Rt2b16w4Rtb12w4Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonMove.VmovSs(context, inst.Rt, inst.Rt2, InstEmitCommon.CombineVF(inst.M, inst.Vm), inst.Op != 0);
}
public static void VmovSsT1(CodeGenContext context, uint encoding)
{
InstOpb20w1Rt2b16w4Rtb12w4Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonMove.VmovSs(context, inst.Rt, inst.Rt2, InstEmitCommon.CombineVF(inst.M, inst.Vm), inst.Op != 0);
}
public static void VmrsA1(CodeGenContext context, uint encoding)
{
InstCondb28w4Regb16w4Rtb12w4 inst = new(encoding);
InstEmitNeonSystem.Vmrs(context, inst.Rt, inst.Reg);
}
public static void VmrsT1(CodeGenContext context, uint encoding)
{
InstRegb16w4Rtb12w4 inst = new(encoding);
InstEmitNeonSystem.Vmrs(context, inst.Rt, inst.Reg);
}
public static void VmsrA1(CodeGenContext context, uint encoding)
{
InstCondb28w4Regb16w4Rtb12w4 inst = new(encoding);
InstEmitNeonSystem.Vmsr(context, inst.Rt, inst.Reg);
}
public static void VmsrT1(CodeGenContext context, uint encoding)
{
InstRegb16w4Rtb12w4 inst = new(encoding);
InstEmitNeonSystem.Vmsr(context, inst.Rt, inst.Reg);
}
public static void VmullIA1(CodeGenContext context, uint encoding)
{
InstUb24w1Db22w1Sizeb20w2Vnb16w4Vdb12w4Opb9w1Nb7w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonArithmetic.VmullI(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vn, inst.N), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.Op != 0, inst.U != 0, inst.Size);
}
public static void VmullIT1(CodeGenContext context, uint encoding)
{
InstUb28w1Db22w1Sizeb20w2Vnb16w4Vdb12w4Opb9w1Nb7w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonArithmetic.VmullI(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vn, inst.N), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.Op != 0, inst.U != 0, inst.Size);
}
public static void VmullSA1(CodeGenContext context, uint encoding)
{
InstUb24w1Db22w1Sizeb20w2Vnb16w4Vdb12w4Nb7w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonArithmetic.VmullS(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vn, inst.N), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.U != 0, inst.Size);
}
public static void VmullST1(CodeGenContext context, uint encoding)
{
InstUb28w1Db22w1Sizeb20w2Vnb16w4Vdb12w4Nb7w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonArithmetic.VmullS(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vn, inst.N), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.U != 0, inst.Size);
}
public static void VmulFA1(CodeGenContext context, uint encoding)
{
InstDb22w1Szb20w1Vnb16w4Vdb12w4Nb7w1Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonArithmetic.VmulF(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vn, inst.N), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.Sz, inst.Q);
}
public static void VmulFA2(CodeGenContext context, uint encoding)
{
InstCondb28w4Db22w1Vnb16w4Vdb12w4Sizeb8w2Nb7w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitVfpArithmetic.VmulF(context, InstEmitCommon.CombineV(inst.Vd, inst.D, inst.Size), InstEmitCommon.CombineV(inst.Vn, inst.N, inst.Size), InstEmitCommon.CombineV(inst.Vm, inst.M, inst.Size), inst.Size);
}
public static void VmulFT1(CodeGenContext context, uint encoding)
{
InstDb22w1Szb20w1Vnb16w4Vdb12w4Nb7w1Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonArithmetic.VmulF(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vn, inst.N), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.Sz, inst.Q);
}
public static void VmulFT2(CodeGenContext context, uint encoding)
{
InstDb22w1Vnb16w4Vdb12w4Sizeb8w2Nb7w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitVfpArithmetic.VmulF(context, InstEmitCommon.CombineV(inst.Vd, inst.D, inst.Size), InstEmitCommon.CombineV(inst.Vn, inst.N, inst.Size), InstEmitCommon.CombineV(inst.Vm, inst.M, inst.Size), inst.Size);
}
public static void VmulIA1(CodeGenContext context, uint encoding)
{
InstOpb24w1Db22w1Sizeb20w2Vnb16w4Vdb12w4Nb7w1Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonArithmetic.VmulI(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vn, inst.N), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.Op != 0, inst.Size, inst.Q);
}
public static void VmulIT1(CodeGenContext context, uint encoding)
{
InstOpb28w1Db22w1Sizeb20w2Vnb16w4Vdb12w4Nb7w1Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonArithmetic.VmulI(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vn, inst.N), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.Op != 0, inst.Size, inst.Q);
}
public static void VmulSA1(CodeGenContext context, uint encoding)
{
InstQb24w1Db22w1Sizeb20w2Vnb16w4Vdb12w4Fb8w1Nb7w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonArithmetic.VmulS(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vn, inst.N), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.F != 0, inst.Size, inst.Q);
}
public static void VmulST1(CodeGenContext context, uint encoding)
{
InstQb28w1Db22w1Sizeb20w2Vnb16w4Vdb12w4Fb8w1Nb7w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonArithmetic.VmulS(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vn, inst.N), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.F != 0, inst.Size, inst.Q);
}
public static void VmvnIA1(CodeGenContext context, uint encoding)
{
InstIb24w1Db22w1Imm3b16w3Vdb12w4Qb6w1Imm4b0w4 inst = new(encoding);
InstEmitNeonMove.VmvnI(context, InstEmitCommon.CombineV(inst.Vd, inst.D), (encoding >> 8) & 0xf, ImmUtils.CombineImmU8(inst.Imm4, inst.Imm3, inst.I), inst.Q);
}
public static void VmvnIA2(CodeGenContext context, uint encoding)
{
InstIb24w1Db22w1Imm3b16w3Vdb12w4Qb6w1Imm4b0w4 inst = new(encoding);
InstEmitNeonMove.VmvnI(context, InstEmitCommon.CombineV(inst.Vd, inst.D), (encoding >> 8) & 0xf, ImmUtils.CombineImmU8(inst.Imm4, inst.Imm3, inst.I), inst.Q);
}
public static void VmvnIA3(CodeGenContext context, uint encoding)
{
InstIb24w1Db22w1Imm3b16w3Vdb12w4Qb6w1Imm4b0w4 inst = new(encoding);
InstEmitNeonMove.VmvnI(context, InstEmitCommon.CombineV(inst.Vd, inst.D), (encoding >> 8) & 0xf, ImmUtils.CombineImmU8(inst.Imm4, inst.Imm3, inst.I), inst.Q);
}
public static void VmvnIT1(CodeGenContext context, uint encoding)
{
InstIb28w1Db22w1Imm3b16w3Vdb12w4Qb6w1Imm4b0w4 inst = new(encoding);
InstEmitNeonMove.VmvnI(context, InstEmitCommon.CombineV(inst.Vd, inst.D), (encoding >> 8) & 0xf, ImmUtils.CombineImmU8(inst.Imm4, inst.Imm3, inst.I), inst.Q);
}
public static void VmvnIT2(CodeGenContext context, uint encoding)
{
InstIb28w1Db22w1Imm3b16w3Vdb12w4Qb6w1Imm4b0w4 inst = new(encoding);
InstEmitNeonMove.VmvnI(context, InstEmitCommon.CombineV(inst.Vd, inst.D), (encoding >> 8) & 0xf, ImmUtils.CombineImmU8(inst.Imm4, inst.Imm3, inst.I), inst.Q);
}
public static void VmvnIT3(CodeGenContext context, uint encoding)
{
InstIb28w1Db22w1Imm3b16w3Vdb12w4Qb6w1Imm4b0w4 inst = new(encoding);
InstEmitNeonMove.VmvnI(context, InstEmitCommon.CombineV(inst.Vd, inst.D), (encoding >> 8) & 0xf, ImmUtils.CombineImmU8(inst.Imm4, inst.Imm3, inst.I), inst.Q);
}
public static void VmvnRA1(CodeGenContext context, uint encoding)
{
InstDb22w1Sizeb18w2Vdb12w4Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonMove.VmvnR(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.Size, inst.Q);
}
public static void VmvnRT1(CodeGenContext context, uint encoding)
{
InstDb22w1Sizeb18w2Vdb12w4Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonMove.VmvnR(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.Size, inst.Q);
}
public static void VnegA1(CodeGenContext context, uint encoding)
{
InstDb22w1Sizeb18w2Vdb12w4Fb10w1Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonArithmetic.Vneg(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.F != 0, inst.Size, inst.Q);
}
public static void VnegA2(CodeGenContext context, uint encoding)
{
InstCondb28w4Db22w1Vdb12w4Sizeb8w2Mb5w1Vmb0w4 inst = new(encoding);
InstEmitVfpArithmetic.VnegF(context, InstEmitCommon.CombineV(inst.Vd, inst.D, inst.Size), InstEmitCommon.CombineV(inst.Vm, inst.M, inst.Size), inst.Size);
}
public static void VnegT1(CodeGenContext context, uint encoding)
{
InstDb22w1Sizeb18w2Vdb12w4Fb10w1Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonArithmetic.Vneg(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.F != 0, inst.Size, inst.Q);
}
public static void VnegT2(CodeGenContext context, uint encoding)
{
InstDb22w1Vdb12w4Sizeb8w2Mb5w1Vmb0w4 inst = new(encoding);
InstEmitVfpArithmetic.VnegF(context, InstEmitCommon.CombineV(inst.Vd, inst.D, inst.Size), InstEmitCommon.CombineV(inst.Vm, inst.M, inst.Size), inst.Size);
}
public static void VnmlaA1(CodeGenContext context, uint encoding)
{
InstCondb28w4Db22w1Vnb16w4Vdb12w4Sizeb8w2Nb7w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitVfpArithmetic.VnmlaF(context, InstEmitCommon.CombineV(inst.Vd, inst.D, inst.Size), InstEmitCommon.CombineV(inst.Vn, inst.N, inst.Size), InstEmitCommon.CombineV(inst.Vm, inst.M, inst.Size), inst.Size);
}
public static void VnmlaT1(CodeGenContext context, uint encoding)
{
InstDb22w1Vnb16w4Vdb12w4Sizeb8w2Nb7w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitVfpArithmetic.VnmlaF(context, InstEmitCommon.CombineV(inst.Vd, inst.D, inst.Size), InstEmitCommon.CombineV(inst.Vn, inst.N, inst.Size), InstEmitCommon.CombineV(inst.Vm, inst.M, inst.Size), inst.Size);
}
public static void VnmlsA1(CodeGenContext context, uint encoding)
{
InstCondb28w4Db22w1Vnb16w4Vdb12w4Sizeb8w2Nb7w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitVfpArithmetic.VnmlsF(context, InstEmitCommon.CombineV(inst.Vd, inst.D, inst.Size), InstEmitCommon.CombineV(inst.Vn, inst.N, inst.Size), InstEmitCommon.CombineV(inst.Vm, inst.M, inst.Size), inst.Size);
}
public static void VnmlsT1(CodeGenContext context, uint encoding)
{
InstDb22w1Vnb16w4Vdb12w4Sizeb8w2Nb7w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitVfpArithmetic.VnmlsF(context, InstEmitCommon.CombineV(inst.Vd, inst.D, inst.Size), InstEmitCommon.CombineV(inst.Vn, inst.N, inst.Size), InstEmitCommon.CombineV(inst.Vm, inst.M, inst.Size), inst.Size);
}
public static void VnmulA1(CodeGenContext context, uint encoding)
{
InstCondb28w4Db22w1Vnb16w4Vdb12w4Sizeb8w2Nb7w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitVfpArithmetic.VnmulF(context, InstEmitCommon.CombineV(inst.Vd, inst.D, inst.Size), InstEmitCommon.CombineV(inst.Vn, inst.N, inst.Size), InstEmitCommon.CombineV(inst.Vm, inst.M, inst.Size), inst.Size);
}
public static void VnmulT1(CodeGenContext context, uint encoding)
{
InstDb22w1Vnb16w4Vdb12w4Sizeb8w2Nb7w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitVfpArithmetic.VnmulF(context, InstEmitCommon.CombineV(inst.Vd, inst.D, inst.Size), InstEmitCommon.CombineV(inst.Vn, inst.N, inst.Size), InstEmitCommon.CombineV(inst.Vm, inst.M, inst.Size), inst.Size);
}
public static void VornRA1(CodeGenContext context, uint encoding)
{
InstDb22w1Vnb16w4Vdb12w4Nb7w1Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonLogical.VornR(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vn, inst.N), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.Q);
}
public static void VornRT1(CodeGenContext context, uint encoding)
{
InstDb22w1Vnb16w4Vdb12w4Nb7w1Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonLogical.VornR(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vn, inst.N), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.Q);
}
public static void VorrIA1(CodeGenContext context, uint encoding)
{
InstIb24w1Db22w1Imm3b16w3Vdb12w4Qb6w1Imm4b0w4 inst = new(encoding);
InstEmitNeonLogical.VorrI(context, InstEmitCommon.CombineV(inst.Vd, inst.D), (encoding >> 8) & 0xf, ImmUtils.CombineImmU8(inst.Imm4, inst.Imm3, inst.I), inst.Q);
}
public static void VorrIA2(CodeGenContext context, uint encoding)
{
InstIb24w1Db22w1Imm3b16w3Vdb12w4Qb6w1Imm4b0w4 inst = new(encoding);
InstEmitNeonLogical.VorrI(context, InstEmitCommon.CombineV(inst.Vd, inst.D), (encoding >> 8) & 0xf, ImmUtils.CombineImmU8(inst.Imm4, inst.Imm3, inst.I), inst.Q);
}
public static void VorrIT1(CodeGenContext context, uint encoding)
{
InstIb28w1Db22w1Imm3b16w3Vdb12w4Qb6w1Imm4b0w4 inst = new(encoding);
InstEmitNeonLogical.VorrI(context, InstEmitCommon.CombineV(inst.Vd, inst.D), (encoding >> 8) & 0xf, ImmUtils.CombineImmU8(inst.Imm4, inst.Imm3, inst.I), inst.Q);
}
public static void VorrIT2(CodeGenContext context, uint encoding)
{
InstIb28w1Db22w1Imm3b16w3Vdb12w4Qb6w1Imm4b0w4 inst = new(encoding);
InstEmitNeonLogical.VorrI(context, InstEmitCommon.CombineV(inst.Vd, inst.D), (encoding >> 8) & 0xf, ImmUtils.CombineImmU8(inst.Imm4, inst.Imm3, inst.I), inst.Q);
}
public static void VorrRA1(CodeGenContext context, uint encoding)
{
InstDb22w1Vnb16w4Vdb12w4Nb7w1Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonLogical.VorrR(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vn, inst.N), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.Q);
}
public static void VorrRT1(CodeGenContext context, uint encoding)
{
InstDb22w1Vnb16w4Vdb12w4Nb7w1Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonLogical.VorrR(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vn, inst.N), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.Q);
}
public static void VpadalA1(CodeGenContext context, uint encoding)
{
InstDb22w1Sizeb18w2Vdb12w4Opb7w1Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonArithmetic.Vpadal(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.Op != 0, inst.Size, inst.Q);
}
public static void VpadalT1(CodeGenContext context, uint encoding)
{
InstDb22w1Sizeb18w2Vdb12w4Opb7w1Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonArithmetic.Vpadal(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.Op != 0, inst.Size, inst.Q);
}
public static void VpaddlA1(CodeGenContext context, uint encoding)
{
InstDb22w1Sizeb18w2Vdb12w4Opb7w1Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonArithmetic.Vpaddl(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.Op != 0, inst.Size, inst.Q);
}
public static void VpaddlT1(CodeGenContext context, uint encoding)
{
InstDb22w1Sizeb18w2Vdb12w4Opb7w1Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonArithmetic.Vpaddl(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.Op != 0, inst.Size, inst.Q);
}
public static void VpaddFA1(CodeGenContext context, uint encoding)
{
InstDb22w1Szb20w1Vnb16w4Vdb12w4Nb7w1Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonArithmetic.VpaddF(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vn, inst.N), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.Sz, inst.Q);
}
public static void VpaddFT1(CodeGenContext context, uint encoding)
{
InstDb22w1Szb20w1Vnb16w4Vdb12w4Nb7w1Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonArithmetic.VpaddF(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vn, inst.N), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.Sz, inst.Q);
}
public static void VpaddIA1(CodeGenContext context, uint encoding)
{
InstDb22w1Sizeb20w2Vnb16w4Vdb12w4Nb7w1Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonArithmetic.VpaddI(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vn, inst.N), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.Size, inst.Q);
}
public static void VpaddIT1(CodeGenContext context, uint encoding)
{
InstDb22w1Sizeb20w2Vnb16w4Vdb12w4Nb7w1Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonArithmetic.VpaddI(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vn, inst.N), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.Size, inst.Q);
}
public static void VpmaxFA1(CodeGenContext context, uint encoding)
{
InstDb22w1Szb20w1Vnb16w4Vdb12w4Nb7w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonArithmetic.VpmaxF(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vn, inst.N), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.Sz, 0);
}
public static void VpmaxFT1(CodeGenContext context, uint encoding)
{
InstDb22w1Szb20w1Vnb16w4Vdb12w4Nb7w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonArithmetic.VpmaxF(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vn, inst.N), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.Sz, 0);
}
public static void VpmaxIA1(CodeGenContext context, uint encoding)
{
InstUb24w1Db22w1Sizeb20w2Vnb16w4Vdb12w4Nb7w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonArithmetic.VpmaxI(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vn, inst.N), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.U != 0, inst.Size, 0);
}
public static void VpmaxIT1(CodeGenContext context, uint encoding)
{
InstUb28w1Db22w1Sizeb20w2Vnb16w4Vdb12w4Nb7w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonArithmetic.VpmaxI(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vn, inst.N), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.U != 0, inst.Size, 0);
}
public static void VpminFA1(CodeGenContext context, uint encoding)
{
InstDb22w1Szb20w1Vnb16w4Vdb12w4Nb7w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonArithmetic.VpminF(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vn, inst.N), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.Sz, 0);
}
public static void VpminFT1(CodeGenContext context, uint encoding)
{
InstDb22w1Szb20w1Vnb16w4Vdb12w4Nb7w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonArithmetic.VpminF(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vn, inst.N), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.Sz, 0);
}
public static void VpminIA1(CodeGenContext context, uint encoding)
{
InstUb24w1Db22w1Sizeb20w2Vnb16w4Vdb12w4Nb7w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonArithmetic.VpminI(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vn, inst.N), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.U != 0, inst.Size, 0);
}
public static void VpminIT1(CodeGenContext context, uint encoding)
{
InstUb28w1Db22w1Sizeb20w2Vnb16w4Vdb12w4Nb7w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonArithmetic.VpminI(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vn, inst.N), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.U != 0, inst.Size, 0);
}
public static void VqabsA1(CodeGenContext context, uint encoding)
{
InstDb22w1Sizeb18w2Vdb12w4Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonSaturate.Vqabs(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.Size, inst.Q);
}
public static void VqabsT1(CodeGenContext context, uint encoding)
{
InstDb22w1Sizeb18w2Vdb12w4Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonSaturate.Vqabs(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.Size, inst.Q);
}
public static void VqaddA1(CodeGenContext context, uint encoding)
{
InstUb24w1Db22w1Sizeb20w2Vnb16w4Vdb12w4Nb7w1Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonSaturate.Vqadd(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vn, inst.N), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.U != 0, inst.Size, inst.Q);
}
public static void VqaddT1(CodeGenContext context, uint encoding)
{
InstUb28w1Db22w1Sizeb20w2Vnb16w4Vdb12w4Nb7w1Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonSaturate.Vqadd(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vn, inst.N), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.U != 0, inst.Size, inst.Q);
}
public static void VqdmlalA1(CodeGenContext context, uint encoding)
{
InstDb22w1Sizeb20w2Vnb16w4Vdb12w4Nb7w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonSaturate.Vqdmlal(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vn, inst.N), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.Size);
}
public static void VqdmlalA2(CodeGenContext context, uint encoding)
{
InstDb22w1Sizeb20w2Vnb16w4Vdb12w4Nb7w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonSaturate.VqdmlalS(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vn, inst.N), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.Size);
}
public static void VqdmlalT1(CodeGenContext context, uint encoding)
{
InstDb22w1Sizeb20w2Vnb16w4Vdb12w4Nb7w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonSaturate.Vqdmlal(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vn, inst.N), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.Size);
}
public static void VqdmlalT2(CodeGenContext context, uint encoding)
{
InstDb22w1Sizeb20w2Vnb16w4Vdb12w4Nb7w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonSaturate.VqdmlalS(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vn, inst.N), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.Size);
}
public static void VqdmlslA1(CodeGenContext context, uint encoding)
{
InstDb22w1Sizeb20w2Vnb16w4Vdb12w4Nb7w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonSaturate.Vqdmlsl(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vn, inst.N), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.Size);
}
public static void VqdmlslA2(CodeGenContext context, uint encoding)
{
InstDb22w1Sizeb20w2Vnb16w4Vdb12w4Nb7w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonSaturate.VqdmlslS(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vn, inst.N), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.Size);
}
public static void VqdmlslT1(CodeGenContext context, uint encoding)
{
InstDb22w1Sizeb20w2Vnb16w4Vdb12w4Nb7w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonSaturate.Vqdmlsl(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vn, inst.N), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.Size);
}
public static void VqdmlslT2(CodeGenContext context, uint encoding)
{
InstDb22w1Sizeb20w2Vnb16w4Vdb12w4Nb7w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonSaturate.VqdmlslS(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vn, inst.N), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.Size);
}
public static void VqdmulhA1(CodeGenContext context, uint encoding)
{
InstDb22w1Sizeb20w2Vnb16w4Vdb12w4Nb7w1Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonSaturate.Vqdmulh(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vn, inst.N), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.Size, inst.Q);
}
public static void VqdmulhA2(CodeGenContext context, uint encoding)
{
InstQb24w1Db22w1Sizeb20w2Vnb16w4Vdb12w4Nb7w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonSaturate.VqdmulhS(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vn, inst.N), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.Size, inst.Q);
}
public static void VqdmulhT1(CodeGenContext context, uint encoding)
{
InstDb22w1Sizeb20w2Vnb16w4Vdb12w4Nb7w1Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonSaturate.Vqdmulh(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vn, inst.N), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.Size, inst.Q);
}
public static void VqdmulhT2(CodeGenContext context, uint encoding)
{
InstQb28w1Db22w1Sizeb20w2Vnb16w4Vdb12w4Nb7w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonSaturate.VqdmulhS(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vn, inst.N), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.Size, inst.Q);
}
public static void VqdmullA1(CodeGenContext context, uint encoding)
{
InstDb22w1Sizeb20w2Vnb16w4Vdb12w4Nb7w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonSaturate.Vqdmull(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vn, inst.N), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.Size);
}
public static void VqdmullA2(CodeGenContext context, uint encoding)
{
InstDb22w1Sizeb20w2Vnb16w4Vdb12w4Nb7w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonSaturate.VqdmullS(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vn, inst.N), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.Size);
}
public static void VqdmullT1(CodeGenContext context, uint encoding)
{
InstDb22w1Sizeb20w2Vnb16w4Vdb12w4Nb7w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonSaturate.Vqdmull(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vn, inst.N), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.Size);
}
public static void VqdmullT2(CodeGenContext context, uint encoding)
{
InstDb22w1Sizeb20w2Vnb16w4Vdb12w4Nb7w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonSaturate.VqdmullS(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vn, inst.N), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.Size);
}
public static void VqmovnA1(CodeGenContext context, uint encoding)
{
InstDb22w1Sizeb18w2Vdb12w4Opb6w2Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonSaturate.Vqmovn(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.Op, inst.Size);
}
public static void VqmovnT1(CodeGenContext context, uint encoding)
{
InstDb22w1Sizeb18w2Vdb12w4Opb6w2Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonSaturate.Vqmovn(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.Op, inst.Size);
}
public static void VqnegA1(CodeGenContext context, uint encoding)
{
InstDb22w1Sizeb18w2Vdb12w4Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonSaturate.Vqneg(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.Size, inst.Q);
}
public static void VqnegT1(CodeGenContext context, uint encoding)
{
InstDb22w1Sizeb18w2Vdb12w4Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonSaturate.Vqneg(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.Size, inst.Q);
}
public static void VqrdmlahA1(CodeGenContext context, uint encoding)
{
InstDb22w1Sizeb20w2Vnb16w4Vdb12w4Nb7w1Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonSaturate.Vqrdmlah(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vn, inst.N), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.Size, inst.Q);
}
public static void VqrdmlahA2(CodeGenContext context, uint encoding)
{
InstQb24w1Db22w1Sizeb20w2Vnb16w4Vdb12w4Nb7w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonSaturate.VqrdmlahS(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vn, inst.N), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.Size, inst.Q);
}
public static void VqrdmlahT1(CodeGenContext context, uint encoding)
{
InstDb22w1Sizeb20w2Vnb16w4Vdb12w4Nb7w1Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonSaturate.Vqrdmlah(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vn, inst.N), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.Size, inst.Q);
}
public static void VqrdmlahT2(CodeGenContext context, uint encoding)
{
InstQb28w1Db22w1Sizeb20w2Vnb16w4Vdb12w4Nb7w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonSaturate.VqrdmlahS(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vn, inst.N), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.Size, inst.Q);
}
public static void VqrdmlshA1(CodeGenContext context, uint encoding)
{
InstDb22w1Sizeb20w2Vnb16w4Vdb12w4Nb7w1Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonSaturate.Vqrdmlsh(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vn, inst.N), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.Size, inst.Q);
}
public static void VqrdmlshA2(CodeGenContext context, uint encoding)
{
InstQb24w1Db22w1Sizeb20w2Vnb16w4Vdb12w4Nb7w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonSaturate.VqrdmlshS(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vn, inst.N), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.Size, inst.Q);
}
public static void VqrdmlshT1(CodeGenContext context, uint encoding)
{
InstDb22w1Sizeb20w2Vnb16w4Vdb12w4Nb7w1Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonSaturate.Vqrdmlsh(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vn, inst.N), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.Size, inst.Q);
}
public static void VqrdmlshT2(CodeGenContext context, uint encoding)
{
InstQb28w1Db22w1Sizeb20w2Vnb16w4Vdb12w4Nb7w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonSaturate.VqrdmlshS(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vn, inst.N), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.Size, inst.Q);
}
public static void VqrdmulhA1(CodeGenContext context, uint encoding)
{
InstDb22w1Sizeb20w2Vnb16w4Vdb12w4Nb7w1Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonSaturate.Vqrdmulh(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vn, inst.N), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.Size, inst.Q);
}
public static void VqrdmulhA2(CodeGenContext context, uint encoding)
{
InstQb24w1Db22w1Sizeb20w2Vnb16w4Vdb12w4Nb7w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonSaturate.VqrdmulhS(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vn, inst.N), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.Size, inst.Q);
}
public static void VqrdmulhT1(CodeGenContext context, uint encoding)
{
InstDb22w1Sizeb20w2Vnb16w4Vdb12w4Nb7w1Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonSaturate.Vqrdmulh(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vn, inst.N), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.Size, inst.Q);
}
public static void VqrdmulhT2(CodeGenContext context, uint encoding)
{
InstQb28w1Db22w1Sizeb20w2Vnb16w4Vdb12w4Nb7w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonSaturate.VqrdmulhS(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vn, inst.N), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.Size, inst.Q);
}
public static void VqrshlA1(CodeGenContext context, uint encoding)
{
InstUb24w1Db22w1Sizeb20w2Vnb16w4Vdb12w4Nb7w1Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonSaturate.Vqrshl(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vn, inst.N), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.Size, inst.Q);
}
public static void VqrshlT1(CodeGenContext context, uint encoding)
{
InstUb28w1Db22w1Sizeb20w2Vnb16w4Vdb12w4Nb7w1Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonSaturate.Vqrshl(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vn, inst.N), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.Size, inst.Q);
}
public static void VqrshrnA1(CodeGenContext context, uint encoding)
{
InstUb24w1Db22w1Imm6b16w6Vdb12w4Opb8w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonSaturate.Vqrshrn(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.U != 0, inst.Op, inst.Imm6);
}
public static void VqrshrnT1(CodeGenContext context, uint encoding)
{
InstUb28w1Db22w1Imm6b16w6Vdb12w4Opb8w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonSaturate.Vqrshrn(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.U != 0, inst.Op, inst.Imm6);
}
public static void VqshlIA1(CodeGenContext context, uint encoding)
{
InstUb24w1Db22w1Imm6b16w6Vdb12w4Opb8w1Lb7w1Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonSaturate.VqshlI(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.U != 0, inst.Op, inst.L, inst.Imm6, inst.Q);
}
public static void VqshlIT1(CodeGenContext context, uint encoding)
{
InstUb28w1Db22w1Imm6b16w6Vdb12w4Opb8w1Lb7w1Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonSaturate.VqshlI(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.U != 0, inst.Op, inst.L, inst.Imm6, inst.Q);
}
public static void VqshlRA1(CodeGenContext context, uint encoding)
{
InstUb24w1Db22w1Sizeb20w2Vnb16w4Vdb12w4Nb7w1Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonSaturate.VqshlR(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vn, inst.N), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.U != 0, inst.Size, inst.Q);
}
public static void VqshlRT1(CodeGenContext context, uint encoding)
{
InstUb28w1Db22w1Sizeb20w2Vnb16w4Vdb12w4Nb7w1Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonSaturate.VqshlR(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vn, inst.N), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.U != 0, inst.Size, inst.Q);
}
public static void VqshrnA1(CodeGenContext context, uint encoding)
{
InstUb24w1Db22w1Imm6b16w6Vdb12w4Opb8w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonSaturate.Vqshrn(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.U != 0, inst.Op, inst.Imm6);
}
public static void VqshrnT1(CodeGenContext context, uint encoding)
{
InstUb28w1Db22w1Imm6b16w6Vdb12w4Opb8w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonSaturate.Vqshrn(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.U != 0, inst.Op, inst.Imm6);
}
public static void VqsubA1(CodeGenContext context, uint encoding)
{
InstUb24w1Db22w1Sizeb20w2Vnb16w4Vdb12w4Nb7w1Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonSaturate.Vqsub(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vn, inst.N), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.U != 0, inst.Size, inst.Q);
}
public static void VqsubT1(CodeGenContext context, uint encoding)
{
InstUb28w1Db22w1Sizeb20w2Vnb16w4Vdb12w4Nb7w1Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonSaturate.Vqsub(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vn, inst.N), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.U != 0, inst.Size, inst.Q);
}
public static void VraddhnA1(CodeGenContext context, uint encoding)
{
InstDb22w1Sizeb20w2Vnb16w4Vdb12w4Nb7w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonRound.Vraddhn(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vn, inst.N), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.Size);
}
public static void VraddhnT1(CodeGenContext context, uint encoding)
{
InstDb22w1Sizeb20w2Vnb16w4Vdb12w4Nb7w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonRound.Vraddhn(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vn, inst.N), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.Size);
}
public static void VrecpeA1(CodeGenContext context, uint encoding)
{
InstDb22w1Sizeb18w2Vdb12w4Fb8w1Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonArithmetic.Vrecpe(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.F != 0, inst.Size, inst.Q);
}
public static void VrecpeT1(CodeGenContext context, uint encoding)
{
InstDb22w1Sizeb18w2Vdb12w4Fb8w1Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonArithmetic.Vrecpe(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.F != 0, inst.Size, inst.Q);
}
public static void VrecpsA1(CodeGenContext context, uint encoding)
{
InstDb22w1Szb20w1Vnb16w4Vdb12w4Nb7w1Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonArithmetic.Vrecps(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vn, inst.N), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.Sz, inst.Q);
}
public static void VrecpsT1(CodeGenContext context, uint encoding)
{
InstDb22w1Szb20w1Vnb16w4Vdb12w4Nb7w1Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonArithmetic.Vrecps(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vn, inst.N), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.Sz, inst.Q);
}
public static void Vrev16A1(CodeGenContext context, uint encoding)
{
InstDb22w1Sizeb18w2Vdb12w4Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonBit.Vrev16(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.Size, inst.Q);
}
public static void Vrev16T1(CodeGenContext context, uint encoding)
{
InstDb22w1Sizeb18w2Vdb12w4Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonBit.Vrev16(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.Size, inst.Q);
}
public static void Vrev32A1(CodeGenContext context, uint encoding)
{
InstDb22w1Sizeb18w2Vdb12w4Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonBit.Vrev32(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.Size, inst.Q);
}
public static void Vrev32T1(CodeGenContext context, uint encoding)
{
InstDb22w1Sizeb18w2Vdb12w4Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonBit.Vrev32(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.Size, inst.Q);
}
public static void Vrev64A1(CodeGenContext context, uint encoding)
{
InstDb22w1Sizeb18w2Vdb12w4Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonBit.Vrev64(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.Size, inst.Q);
}
public static void Vrev64T1(CodeGenContext context, uint encoding)
{
InstDb22w1Sizeb18w2Vdb12w4Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonBit.Vrev64(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.Size, inst.Q);
}
public static void VrhaddA1(CodeGenContext context, uint encoding)
{
InstUb24w1Db22w1Sizeb20w2Vnb16w4Vdb12w4Nb7w1Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonRound.Vrhadd(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vn, inst.N), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.U != 0, inst.Size, inst.Q);
}
public static void VrhaddT1(CodeGenContext context, uint encoding)
{
InstUb28w1Db22w1Sizeb20w2Vnb16w4Vdb12w4Nb7w1Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonRound.Vrhadd(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vn, inst.N), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.U != 0, inst.Size, inst.Q);
}
public static void VrintaAsimdA1(CodeGenContext context, uint encoding)
{
InstDb22w1Sizeb18w2Vdb12w4Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonRound.Vrinta(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.Size, inst.Q);
}
public static void VrintaAsimdT1(CodeGenContext context, uint encoding)
{
InstDb22w1Sizeb18w2Vdb12w4Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonRound.Vrinta(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.Size, inst.Q);
}
public static void VrintaVfpA1(CodeGenContext context, uint encoding)
{
InstDb22w1Vdb12w4Sizeb8w2Mb5w1Vmb0w4 inst = new(encoding);
InstEmitVfpRound.Vrinta(context, InstEmitCommon.CombineV(inst.Vd, inst.D, inst.Size), InstEmitCommon.CombineV(inst.Vm, inst.M, inst.Size), inst.Size);
}
public static void VrintaVfpT1(CodeGenContext context, uint encoding)
{
InstDb22w1Vdb12w4Sizeb8w2Mb5w1Vmb0w4 inst = new(encoding);
InstEmitVfpRound.Vrinta(context, InstEmitCommon.CombineV(inst.Vd, inst.D, inst.Size), InstEmitCommon.CombineV(inst.Vm, inst.M, inst.Size), inst.Size);
}
public static void VrintmAsimdA1(CodeGenContext context, uint encoding)
{
InstDb22w1Sizeb18w2Vdb12w4Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonRound.Vrintm(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.Size, inst.Q);
}
public static void VrintmAsimdT1(CodeGenContext context, uint encoding)
{
InstDb22w1Sizeb18w2Vdb12w4Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonRound.Vrintm(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.Size, inst.Q);
}
public static void VrintmVfpA1(CodeGenContext context, uint encoding)
{
InstDb22w1Vdb12w4Sizeb8w2Mb5w1Vmb0w4 inst = new(encoding);
InstEmitVfpRound.Vrintm(context, InstEmitCommon.CombineV(inst.Vd, inst.D, inst.Size), InstEmitCommon.CombineV(inst.Vm, inst.M, inst.Size), inst.Size);
}
public static void VrintmVfpT1(CodeGenContext context, uint encoding)
{
InstDb22w1Vdb12w4Sizeb8w2Mb5w1Vmb0w4 inst = new(encoding);
InstEmitVfpRound.Vrintm(context, InstEmitCommon.CombineV(inst.Vd, inst.D, inst.Size), InstEmitCommon.CombineV(inst.Vm, inst.M, inst.Size), inst.Size);
}
public static void VrintnAsimdA1(CodeGenContext context, uint encoding)
{
InstDb22w1Sizeb18w2Vdb12w4Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonRound.Vrintn(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.Size, inst.Q);
}
public static void VrintnAsimdT1(CodeGenContext context, uint encoding)
{
InstDb22w1Sizeb18w2Vdb12w4Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonRound.Vrintn(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.Size, inst.Q);
}
public static void VrintnVfpA1(CodeGenContext context, uint encoding)
{
InstDb22w1Vdb12w4Sizeb8w2Mb5w1Vmb0w4 inst = new(encoding);
InstEmitVfpRound.Vrintn(context, InstEmitCommon.CombineV(inst.Vd, inst.D, inst.Size), InstEmitCommon.CombineV(inst.Vm, inst.M, inst.Size), inst.Size);
}
public static void VrintnVfpT1(CodeGenContext context, uint encoding)
{
InstDb22w1Vdb12w4Sizeb8w2Mb5w1Vmb0w4 inst = new(encoding);
InstEmitVfpRound.Vrintn(context, InstEmitCommon.CombineV(inst.Vd, inst.D, inst.Size), InstEmitCommon.CombineV(inst.Vm, inst.M, inst.Size), inst.Size);
}
public static void VrintpAsimdA1(CodeGenContext context, uint encoding)
{
InstDb22w1Sizeb18w2Vdb12w4Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonRound.Vrintp(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.Size, inst.Q);
}
public static void VrintpAsimdT1(CodeGenContext context, uint encoding)
{
InstDb22w1Sizeb18w2Vdb12w4Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonRound.Vrintp(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.Size, inst.Q);
}
public static void VrintpVfpA1(CodeGenContext context, uint encoding)
{
InstDb22w1Vdb12w4Sizeb8w2Mb5w1Vmb0w4 inst = new(encoding);
InstEmitVfpRound.Vrintp(context, InstEmitCommon.CombineV(inst.Vd, inst.D, inst.Size), InstEmitCommon.CombineV(inst.Vm, inst.M, inst.Size), inst.Size);
}
public static void VrintpVfpT1(CodeGenContext context, uint encoding)
{
InstDb22w1Vdb12w4Sizeb8w2Mb5w1Vmb0w4 inst = new(encoding);
InstEmitVfpRound.Vrintp(context, InstEmitCommon.CombineV(inst.Vd, inst.D, inst.Size), InstEmitCommon.CombineV(inst.Vm, inst.M, inst.Size), inst.Size);
}
public static void VrintrVfpA1(CodeGenContext context, uint encoding)
{
InstCondb28w4Db22w1Vdb12w4Sizeb8w2Mb5w1Vmb0w4 inst = new(encoding);
InstEmitVfpRound.Vrintr(context, InstEmitCommon.CombineV(inst.Vd, inst.D, inst.Size), InstEmitCommon.CombineV(inst.Vm, inst.M, inst.Size), inst.Size);
}
public static void VrintrVfpT1(CodeGenContext context, uint encoding)
{
InstDb22w1Vdb12w4Sizeb8w2Mb5w1Vmb0w4 inst = new(encoding);
InstEmitVfpRound.Vrintr(context, InstEmitCommon.CombineV(inst.Vd, inst.D, inst.Size), InstEmitCommon.CombineV(inst.Vm, inst.M, inst.Size), inst.Size);
}
public static void VrintxAsimdA1(CodeGenContext context, uint encoding)
{
InstDb22w1Sizeb18w2Vdb12w4Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonRound.Vrintx(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.Size, inst.Q);
}
public static void VrintxAsimdT1(CodeGenContext context, uint encoding)
{
InstDb22w1Sizeb18w2Vdb12w4Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonRound.Vrintx(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.Size, inst.Q);
}
public static void VrintxVfpA1(CodeGenContext context, uint encoding)
{
InstCondb28w4Db22w1Vdb12w4Sizeb8w2Mb5w1Vmb0w4 inst = new(encoding);
InstEmitVfpRound.Vrintx(context, InstEmitCommon.CombineV(inst.Vd, inst.D, inst.Size), InstEmitCommon.CombineV(inst.Vm, inst.M, inst.Size), inst.Size);
}
public static void VrintxVfpT1(CodeGenContext context, uint encoding)
{
InstDb22w1Vdb12w4Sizeb8w2Mb5w1Vmb0w4 inst = new(encoding);
InstEmitVfpRound.Vrintx(context, InstEmitCommon.CombineV(inst.Vd, inst.D, inst.Size), InstEmitCommon.CombineV(inst.Vm, inst.M, inst.Size), inst.Size);
}
public static void VrintzAsimdA1(CodeGenContext context, uint encoding)
{
InstDb22w1Sizeb18w2Vdb12w4Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonRound.Vrintz(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.Size, inst.Q);
}
public static void VrintzAsimdT1(CodeGenContext context, uint encoding)
{
InstDb22w1Sizeb18w2Vdb12w4Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonRound.Vrintz(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.Size, inst.Q);
}
public static void VrintzVfpA1(CodeGenContext context, uint encoding)
{
InstCondb28w4Db22w1Vdb12w4Sizeb8w2Mb5w1Vmb0w4 inst = new(encoding);
InstEmitVfpRound.Vrintz(context, InstEmitCommon.CombineV(inst.Vd, inst.D, inst.Size), InstEmitCommon.CombineV(inst.Vm, inst.M, inst.Size), inst.Size);
}
public static void VrintzVfpT1(CodeGenContext context, uint encoding)
{
InstDb22w1Vdb12w4Sizeb8w2Mb5w1Vmb0w4 inst = new(encoding);
InstEmitVfpRound.Vrintz(context, InstEmitCommon.CombineV(inst.Vd, inst.D, inst.Size), InstEmitCommon.CombineV(inst.Vm, inst.M, inst.Size), inst.Size);
}
public static void VrshlA1(CodeGenContext context, uint encoding)
{
InstUb24w1Db22w1Sizeb20w2Vnb16w4Vdb12w4Nb7w1Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonRound.Vrshl(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vn, inst.N), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.U != 0, inst.Size, inst.Q);
}
public static void VrshlT1(CodeGenContext context, uint encoding)
{
InstUb28w1Db22w1Sizeb20w2Vnb16w4Vdb12w4Nb7w1Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonRound.Vrshl(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vn, inst.N), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.U != 0, inst.Size, inst.Q);
}
public static void VrshrA1(CodeGenContext context, uint encoding)
{
InstUb24w1Db22w1Imm6b16w6Vdb12w4Lb7w1Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonRound.Vrshr(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.U != 0, inst.L, inst.Imm6, inst.Q);
}
public static void VrshrT1(CodeGenContext context, uint encoding)
{
InstUb28w1Db22w1Imm6b16w6Vdb12w4Lb7w1Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonRound.Vrshr(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.U != 0, inst.L, inst.Imm6, inst.Q);
}
public static void VrshrnA1(CodeGenContext context, uint encoding)
{
InstDb22w1Imm6b16w6Vdb12w4Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonRound.Vrshrn(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.Imm6);
}
public static void VrshrnT1(CodeGenContext context, uint encoding)
{
InstDb22w1Imm6b16w6Vdb12w4Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonRound.Vrshrn(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.Imm6);
}
public static void VrsqrteA1(CodeGenContext context, uint encoding)
{
InstDb22w1Sizeb18w2Vdb12w4Fb8w1Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonArithmetic.Vrsqrte(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.F != 0, inst.Size, inst.Q);
}
public static void VrsqrteT1(CodeGenContext context, uint encoding)
{
InstDb22w1Sizeb18w2Vdb12w4Fb8w1Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonArithmetic.Vrsqrte(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.F != 0, inst.Size, inst.Q);
}
public static void VrsqrtsA1(CodeGenContext context, uint encoding)
{
InstDb22w1Szb20w1Vnb16w4Vdb12w4Nb7w1Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonArithmetic.Vrsqrts(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vn, inst.N), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.Sz, inst.Q);
}
public static void VrsqrtsT1(CodeGenContext context, uint encoding)
{
InstDb22w1Szb20w1Vnb16w4Vdb12w4Nb7w1Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonArithmetic.Vrsqrts(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vn, inst.N), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.Sz, inst.Q);
}
public static void VrsraA1(CodeGenContext context, uint encoding)
{
InstUb24w1Db22w1Imm6b16w6Vdb12w4Lb7w1Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonRound.Vrsra(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.U != 0, inst.L, inst.Imm6, inst.Q);
}
public static void VrsraT1(CodeGenContext context, uint encoding)
{
InstUb28w1Db22w1Imm6b16w6Vdb12w4Lb7w1Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonRound.Vrsra(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.U != 0, inst.L, inst.Imm6, inst.Q);
}
public static void VrsubhnA1(CodeGenContext context, uint encoding)
{
InstDb22w1Sizeb20w2Vnb16w4Vdb12w4Nb7w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonRound.Vrsubhn(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vn, inst.N), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.Size);
}
public static void VrsubhnT1(CodeGenContext context, uint encoding)
{
InstDb22w1Sizeb20w2Vnb16w4Vdb12w4Nb7w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonRound.Vrsubhn(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vn, inst.N), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.Size);
}
public static void VsdotA1(CodeGenContext context, uint encoding)
{
_ = new InstDb22w1Vnb16w4Vdb12w4Nb7w1Qb6w1Mb5w1Vmb0w4(encoding);
throw new NotImplementedException();
}
public static void VsdotT1(CodeGenContext context, uint encoding)
{
_ = new InstDb22w1Vnb16w4Vdb12w4Nb7w1Qb6w1Mb5w1Vmb0w4(encoding);
throw new NotImplementedException();
}
public static void VsdotSA1(CodeGenContext context, uint encoding)
{
_ = new InstDb22w1Vnb16w4Vdb12w4Nb7w1Qb6w1Mb5w1Vmb0w4(encoding);
throw new NotImplementedException();
}
public static void VsdotST1(CodeGenContext context, uint encoding)
{
_ = new InstDb22w1Vnb16w4Vdb12w4Nb7w1Qb6w1Mb5w1Vmb0w4(encoding);
throw new NotImplementedException();
}
public static void VselA1(CodeGenContext context, uint encoding)
{
InstDb22w1Ccb20w2Vnb16w4Vdb12w4Sizeb8w2Nb7w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitVfpMove.Vsel(context, InstEmitCommon.CombineV(inst.Vd, inst.D, inst.Size), InstEmitCommon.CombineV(inst.Vn, inst.N, inst.Size), InstEmitCommon.CombineV(inst.Vm, inst.M, inst.Size), inst.Cc, inst.Size);
}
public static void VselT1(CodeGenContext context, uint encoding)
{
InstDb22w1Ccb20w2Vnb16w4Vdb12w4Sizeb8w2Nb7w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitVfpMove.Vsel(context, InstEmitCommon.CombineV(inst.Vd, inst.D, inst.Size), InstEmitCommon.CombineV(inst.Vn, inst.N, inst.Size), InstEmitCommon.CombineV(inst.Vm, inst.M, inst.Size), inst.Cc, inst.Size);
}
public static void VshllA1(CodeGenContext context, uint encoding)
{
InstUb24w1Db22w1Imm6b16w6Vdb12w4Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonShift.Vshll(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.Imm6, inst.U != 0);
}
public static void VshllA2(CodeGenContext context, uint encoding)
{
InstDb22w1Sizeb18w2Vdb12w4Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonShift.Vshll2(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.Size);
}
public static void VshllT1(CodeGenContext context, uint encoding)
{
InstUb28w1Db22w1Imm6b16w6Vdb12w4Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonShift.Vshll(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.Imm6, inst.U != 0);
}
public static void VshllT2(CodeGenContext context, uint encoding)
{
InstDb22w1Sizeb18w2Vdb12w4Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonShift.Vshll2(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.Size);
}
public static void VshlIA1(CodeGenContext context, uint encoding)
{
InstDb22w1Imm6b16w6Vdb12w4Lb7w1Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonShift.VshlI(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.L, inst.Imm6, inst.Q);
}
public static void VshlIT1(CodeGenContext context, uint encoding)
{
InstDb22w1Imm6b16w6Vdb12w4Lb7w1Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonShift.VshlI(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.L, inst.Imm6, inst.Q);
}
public static void VshlRA1(CodeGenContext context, uint encoding)
{
InstUb24w1Db22w1Sizeb20w2Vnb16w4Vdb12w4Nb7w1Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonShift.VshlR(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vn, inst.N), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.U != 0, inst.Size, inst.Q);
}
public static void VshlRT1(CodeGenContext context, uint encoding)
{
InstUb28w1Db22w1Sizeb20w2Vnb16w4Vdb12w4Nb7w1Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonShift.VshlR(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vn, inst.N), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.U != 0, inst.Size, inst.Q);
}
public static void VshrA1(CodeGenContext context, uint encoding)
{
InstUb24w1Db22w1Imm6b16w6Vdb12w4Lb7w1Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonShift.Vshr(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.U != 0, inst.L, inst.Imm6, inst.Q);
}
public static void VshrT1(CodeGenContext context, uint encoding)
{
InstUb28w1Db22w1Imm6b16w6Vdb12w4Lb7w1Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonShift.Vshr(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.U != 0, inst.L, inst.Imm6, inst.Q);
}
public static void VshrnA1(CodeGenContext context, uint encoding)
{
InstDb22w1Imm6b16w6Vdb12w4Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonShift.Vshrn(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.Imm6);
}
public static void VshrnT1(CodeGenContext context, uint encoding)
{
InstDb22w1Imm6b16w6Vdb12w4Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonShift.Vshrn(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.Imm6);
}
public static void VsliA1(CodeGenContext context, uint encoding)
{
InstDb22w1Imm6b16w6Vdb12w4Lb7w1Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonShift.Vsli(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.L, inst.Imm6, inst.Q);
}
public static void VsliT1(CodeGenContext context, uint encoding)
{
InstDb22w1Imm6b16w6Vdb12w4Lb7w1Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonShift.Vsli(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.L, inst.Imm6, inst.Q);
}
public static void VsmmlaA1(CodeGenContext context, uint encoding)
{
_ = new InstDb22w1Vnb16w4Vdb12w4Nb7w1Mb5w1Vmb0w4(encoding);
throw new NotImplementedException();
}
public static void VsmmlaT1(CodeGenContext context, uint encoding)
{
_ = new InstDb22w1Vnb16w4Vdb12w4Nb7w1Mb5w1Vmb0w4(encoding);
throw new NotImplementedException();
}
public static void VsqrtA1(CodeGenContext context, uint encoding)
{
InstCondb28w4Db22w1Vdb12w4Sizeb8w2Mb5w1Vmb0w4 inst = new(encoding);
InstEmitVfpArithmetic.VsqrtF(context, InstEmitCommon.CombineV(inst.Vd, inst.D, inst.Size), InstEmitCommon.CombineV(inst.Vm, inst.M, inst.Size), inst.Size);
}
public static void VsqrtT1(CodeGenContext context, uint encoding)
{
InstDb22w1Vdb12w4Sizeb8w2Mb5w1Vmb0w4 inst = new(encoding);
InstEmitVfpArithmetic.VsqrtF(context, InstEmitCommon.CombineV(inst.Vd, inst.D, inst.Size), InstEmitCommon.CombineV(inst.Vm, inst.M, inst.Size), inst.Size);
}
public static void VsraA1(CodeGenContext context, uint encoding)
{
InstUb24w1Db22w1Imm6b16w6Vdb12w4Lb7w1Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonShift.Vsra(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.U != 0, inst.L, inst.Imm6, inst.Q);
}
public static void VsraT1(CodeGenContext context, uint encoding)
{
InstUb28w1Db22w1Imm6b16w6Vdb12w4Lb7w1Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonShift.Vsra(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.U != 0, inst.L, inst.Imm6, inst.Q);
}
public static void VsriA1(CodeGenContext context, uint encoding)
{
InstDb22w1Imm6b16w6Vdb12w4Lb7w1Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonShift.Vsri(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.L, inst.Imm6, inst.Q);
}
public static void VsriT1(CodeGenContext context, uint encoding)
{
InstDb22w1Imm6b16w6Vdb12w4Lb7w1Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonShift.Vsri(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.L, inst.Imm6, inst.Q);
}
public static void Vst11A1(CodeGenContext context, uint encoding)
{
InstDb22w1Rnb16w4Vdb12w4IndexAlignb4w4Rmb0w4 inst = new(encoding);
InstEmitNeonMemory.Vst11(context, InstEmitCommon.CombineV(inst.Vd, inst.D), inst.Rn, inst.Rm, inst.IndexAlign, 0);
}
public static void Vst11A2(CodeGenContext context, uint encoding)
{
InstDb22w1Rnb16w4Vdb12w4IndexAlignb4w4Rmb0w4 inst = new(encoding);
InstEmitNeonMemory.Vst11(context, InstEmitCommon.CombineV(inst.Vd, inst.D), inst.Rn, inst.Rm, inst.IndexAlign, 1);
}
public static void Vst11A3(CodeGenContext context, uint encoding)
{
InstDb22w1Rnb16w4Vdb12w4IndexAlignb4w4Rmb0w4 inst = new(encoding);
InstEmitNeonMemory.Vst11(context, InstEmitCommon.CombineV(inst.Vd, inst.D), inst.Rn, inst.Rm, inst.IndexAlign, 2);
}
public static void Vst11T1(CodeGenContext context, uint encoding)
{
InstDb22w1Rnb16w4Vdb12w4IndexAlignb4w4Rmb0w4 inst = new(encoding);
InstEmitNeonMemory.Vst11(context, InstEmitCommon.CombineV(inst.Vd, inst.D), inst.Rn, inst.Rm, inst.IndexAlign, 0);
}
public static void Vst11T2(CodeGenContext context, uint encoding)
{
InstDb22w1Rnb16w4Vdb12w4IndexAlignb4w4Rmb0w4 inst = new(encoding);
InstEmitNeonMemory.Vst11(context, InstEmitCommon.CombineV(inst.Vd, inst.D), inst.Rn, inst.Rm, inst.IndexAlign, 1);
}
public static void Vst11T3(CodeGenContext context, uint encoding)
{
InstDb22w1Rnb16w4Vdb12w4IndexAlignb4w4Rmb0w4 inst = new(encoding);
InstEmitNeonMemory.Vst11(context, InstEmitCommon.CombineV(inst.Vd, inst.D), inst.Rn, inst.Rm, inst.IndexAlign, 2);
}
public static void Vst1MA1(CodeGenContext context, uint encoding)
{
InstDb22w1Rnb16w4Vdb12w4Sizeb6w2Alignb4w2Rmb0w4 inst = new(encoding);
InstEmitNeonMemory.Vst1M(context, InstEmitCommon.CombineV(inst.Vd, inst.D), inst.Rn, inst.Rm, 1, inst.Align, inst.Size);
}
public static void Vst1MA2(CodeGenContext context, uint encoding)
{
InstDb22w1Rnb16w4Vdb12w4Sizeb6w2Alignb4w2Rmb0w4 inst = new(encoding);
InstEmitNeonMemory.Vst1M(context, InstEmitCommon.CombineV(inst.Vd, inst.D), inst.Rn, inst.Rm, 2, inst.Align, inst.Size);
}
public static void Vst1MA3(CodeGenContext context, uint encoding)
{
InstDb22w1Rnb16w4Vdb12w4Sizeb6w2Alignb4w2Rmb0w4 inst = new(encoding);
InstEmitNeonMemory.Vst1M(context, InstEmitCommon.CombineV(inst.Vd, inst.D), inst.Rn, inst.Rm, 3, inst.Align, inst.Size);
}
public static void Vst1MA4(CodeGenContext context, uint encoding)
{
InstDb22w1Rnb16w4Vdb12w4Sizeb6w2Alignb4w2Rmb0w4 inst = new(encoding);
InstEmitNeonMemory.Vst1M(context, InstEmitCommon.CombineV(inst.Vd, inst.D), inst.Rn, inst.Rm, 4, inst.Align, inst.Size);
}
public static void Vst1MT1(CodeGenContext context, uint encoding)
{
InstDb22w1Rnb16w4Vdb12w4Sizeb6w2Alignb4w2Rmb0w4 inst = new(encoding);
InstEmitNeonMemory.Vst1M(context, InstEmitCommon.CombineV(inst.Vd, inst.D), inst.Rn, inst.Rm, 1, inst.Align, inst.Size);
}
public static void Vst1MT2(CodeGenContext context, uint encoding)
{
InstDb22w1Rnb16w4Vdb12w4Sizeb6w2Alignb4w2Rmb0w4 inst = new(encoding);
InstEmitNeonMemory.Vst1M(context, InstEmitCommon.CombineV(inst.Vd, inst.D), inst.Rn, inst.Rm, 2, inst.Align, inst.Size);
}
public static void Vst1MT3(CodeGenContext context, uint encoding)
{
InstDb22w1Rnb16w4Vdb12w4Sizeb6w2Alignb4w2Rmb0w4 inst = new(encoding);
InstEmitNeonMemory.Vst1M(context, InstEmitCommon.CombineV(inst.Vd, inst.D), inst.Rn, inst.Rm, 3, inst.Align, inst.Size);
}
public static void Vst1MT4(CodeGenContext context, uint encoding)
{
InstDb22w1Rnb16w4Vdb12w4Sizeb6w2Alignb4w2Rmb0w4 inst = new(encoding);
InstEmitNeonMemory.Vst1M(context, InstEmitCommon.CombineV(inst.Vd, inst.D), inst.Rn, inst.Rm, 4, inst.Align, inst.Size);
}
public static void Vst21A1(CodeGenContext context, uint encoding)
{
InstDb22w1Rnb16w4Vdb12w4IndexAlignb4w4Rmb0w4 inst = new(encoding);
InstEmitNeonMemory.Vst21(context, InstEmitCommon.CombineV(inst.Vd, inst.D), inst.Rn, inst.Rm, inst.IndexAlign, 0);
}
public static void Vst21A2(CodeGenContext context, uint encoding)
{
InstDb22w1Rnb16w4Vdb12w4IndexAlignb4w4Rmb0w4 inst = new(encoding);
InstEmitNeonMemory.Vst21(context, InstEmitCommon.CombineV(inst.Vd, inst.D), inst.Rn, inst.Rm, inst.IndexAlign, 1);
}
public static void Vst21A3(CodeGenContext context, uint encoding)
{
InstDb22w1Rnb16w4Vdb12w4IndexAlignb4w4Rmb0w4 inst = new(encoding);
InstEmitNeonMemory.Vst21(context, InstEmitCommon.CombineV(inst.Vd, inst.D), inst.Rn, inst.Rm, inst.IndexAlign, 2);
}
public static void Vst21T1(CodeGenContext context, uint encoding)
{
InstDb22w1Rnb16w4Vdb12w4IndexAlignb4w4Rmb0w4 inst = new(encoding);
InstEmitNeonMemory.Vst21(context, InstEmitCommon.CombineV(inst.Vd, inst.D), inst.Rn, inst.Rm, inst.IndexAlign, 0);
}
public static void Vst21T2(CodeGenContext context, uint encoding)
{
InstDb22w1Rnb16w4Vdb12w4IndexAlignb4w4Rmb0w4 inst = new(encoding);
InstEmitNeonMemory.Vst21(context, InstEmitCommon.CombineV(inst.Vd, inst.D), inst.Rn, inst.Rm, inst.IndexAlign, 1);
}
public static void Vst21T3(CodeGenContext context, uint encoding)
{
InstDb22w1Rnb16w4Vdb12w4IndexAlignb4w4Rmb0w4 inst = new(encoding);
InstEmitNeonMemory.Vst21(context, InstEmitCommon.CombineV(inst.Vd, inst.D), inst.Rn, inst.Rm, inst.IndexAlign, 2);
}
public static void Vst2MA1(CodeGenContext context, uint encoding)
{
InstDb22w1Rnb16w4Vdb12w4Sizeb6w2Alignb4w2Rmb0w4 inst = new(encoding);
InstEmitNeonMemory.Vst2M(context, InstEmitCommon.CombineV(inst.Vd, inst.D), inst.Rn, inst.Rm, (encoding >> 8) & 0xf, inst.Align, inst.Size);
}
public static void Vst2MA2(CodeGenContext context, uint encoding)
{
InstDb22w1Rnb16w4Vdb12w4Sizeb6w2Alignb4w2Rmb0w4 inst = new(encoding);
InstEmitNeonMemory.Vst2M(context, InstEmitCommon.CombineV(inst.Vd, inst.D), inst.Rn, inst.Rm, inst.Align, inst.Size);
}
public static void Vst2MT1(CodeGenContext context, uint encoding)
{
InstDb22w1Rnb16w4Vdb12w4Sizeb6w2Alignb4w2Rmb0w4 inst = new(encoding);
InstEmitNeonMemory.Vst2M(context, InstEmitCommon.CombineV(inst.Vd, inst.D), inst.Rn, inst.Rm, (encoding >> 8) & 0xf, inst.Align, inst.Size);
}
public static void Vst2MT2(CodeGenContext context, uint encoding)
{
InstDb22w1Rnb16w4Vdb12w4Sizeb6w2Alignb4w2Rmb0w4 inst = new(encoding);
InstEmitNeonMemory.Vst2M(context, InstEmitCommon.CombineV(inst.Vd, inst.D), inst.Rn, inst.Rm, inst.Align, inst.Size);
}
public static void Vst31A1(CodeGenContext context, uint encoding)
{
InstDb22w1Rnb16w4Vdb12w4IndexAlignb4w4Rmb0w4 inst = new(encoding);
InstEmitNeonMemory.Vst31(context, InstEmitCommon.CombineV(inst.Vd, inst.D), inst.Rn, inst.Rm, inst.IndexAlign, 0);
}
public static void Vst31A2(CodeGenContext context, uint encoding)
{
InstDb22w1Rnb16w4Vdb12w4IndexAlignb4w4Rmb0w4 inst = new(encoding);
InstEmitNeonMemory.Vst31(context, InstEmitCommon.CombineV(inst.Vd, inst.D), inst.Rn, inst.Rm, inst.IndexAlign, 1);
}
public static void Vst31A3(CodeGenContext context, uint encoding)
{
InstDb22w1Rnb16w4Vdb12w4IndexAlignb4w4Rmb0w4 inst = new(encoding);
InstEmitNeonMemory.Vst31(context, InstEmitCommon.CombineV(inst.Vd, inst.D), inst.Rn, inst.Rm, inst.IndexAlign, 2);
}
public static void Vst31T1(CodeGenContext context, uint encoding)
{
InstDb22w1Rnb16w4Vdb12w4IndexAlignb4w4Rmb0w4 inst = new(encoding);
InstEmitNeonMemory.Vst31(context, InstEmitCommon.CombineV(inst.Vd, inst.D), inst.Rn, inst.Rm, inst.IndexAlign, 0);
}
public static void Vst31T2(CodeGenContext context, uint encoding)
{
InstDb22w1Rnb16w4Vdb12w4IndexAlignb4w4Rmb0w4 inst = new(encoding);
InstEmitNeonMemory.Vst31(context, InstEmitCommon.CombineV(inst.Vd, inst.D), inst.Rn, inst.Rm, inst.IndexAlign, 1);
}
public static void Vst31T3(CodeGenContext context, uint encoding)
{
InstDb22w1Rnb16w4Vdb12w4IndexAlignb4w4Rmb0w4 inst = new(encoding);
InstEmitNeonMemory.Vst31(context, InstEmitCommon.CombineV(inst.Vd, inst.D), inst.Rn, inst.Rm, inst.IndexAlign, 2);
}
public static void Vst3MA1(CodeGenContext context, uint encoding)
{
InstDb22w1Rnb16w4Vdb12w4Sizeb6w2Alignb4w2Rmb0w4 inst = new(encoding);
InstEmitNeonMemory.Vst3M(context, InstEmitCommon.CombineV(inst.Vd, inst.D), inst.Rn, inst.Rm, (encoding >> 8) & 0xf, inst.Align, inst.Size);
}
public static void Vst3MT1(CodeGenContext context, uint encoding)
{
InstDb22w1Rnb16w4Vdb12w4Sizeb6w2Alignb4w2Rmb0w4 inst = new(encoding);
InstEmitNeonMemory.Vst3M(context, InstEmitCommon.CombineV(inst.Vd, inst.D), inst.Rn, inst.Rm, (encoding >> 8) & 0xf, inst.Align, inst.Size);
}
public static void Vst41A1(CodeGenContext context, uint encoding)
{
InstDb22w1Rnb16w4Vdb12w4IndexAlignb4w4Rmb0w4 inst = new(encoding);
InstEmitNeonMemory.Vst41(context, InstEmitCommon.CombineV(inst.Vd, inst.D), inst.Rn, inst.Rm, inst.IndexAlign, 0);
}
public static void Vst41A2(CodeGenContext context, uint encoding)
{
InstDb22w1Rnb16w4Vdb12w4IndexAlignb4w4Rmb0w4 inst = new(encoding);
InstEmitNeonMemory.Vst41(context, InstEmitCommon.CombineV(inst.Vd, inst.D), inst.Rn, inst.Rm, inst.IndexAlign, 1);
}
public static void Vst41A3(CodeGenContext context, uint encoding)
{
InstDb22w1Rnb16w4Vdb12w4IndexAlignb4w4Rmb0w4 inst = new(encoding);
InstEmitNeonMemory.Vst41(context, InstEmitCommon.CombineV(inst.Vd, inst.D), inst.Rn, inst.Rm, inst.IndexAlign, 2);
}
public static void Vst41T1(CodeGenContext context, uint encoding)
{
InstDb22w1Rnb16w4Vdb12w4IndexAlignb4w4Rmb0w4 inst = new(encoding);
InstEmitNeonMemory.Vst41(context, InstEmitCommon.CombineV(inst.Vd, inst.D), inst.Rn, inst.Rm, inst.IndexAlign, 0);
}
public static void Vst41T2(CodeGenContext context, uint encoding)
{
InstDb22w1Rnb16w4Vdb12w4IndexAlignb4w4Rmb0w4 inst = new(encoding);
InstEmitNeonMemory.Vst41(context, InstEmitCommon.CombineV(inst.Vd, inst.D), inst.Rn, inst.Rm, inst.IndexAlign, 1);
}
public static void Vst41T3(CodeGenContext context, uint encoding)
{
InstDb22w1Rnb16w4Vdb12w4IndexAlignb4w4Rmb0w4 inst = new(encoding);
InstEmitNeonMemory.Vst41(context, InstEmitCommon.CombineV(inst.Vd, inst.D), inst.Rn, inst.Rm, inst.IndexAlign, 2);
}
public static void Vst4MA1(CodeGenContext context, uint encoding)
{
InstDb22w1Rnb16w4Vdb12w4Sizeb6w2Alignb4w2Rmb0w4 inst = new(encoding);
InstEmitNeonMemory.Vst4M(context, InstEmitCommon.CombineV(inst.Vd, inst.D), inst.Rn, inst.Rm, (encoding >> 8) & 0xf, inst.Align, inst.Size);
}
public static void Vst4MT1(CodeGenContext context, uint encoding)
{
InstDb22w1Rnb16w4Vdb12w4Sizeb6w2Alignb4w2Rmb0w4 inst = new(encoding);
InstEmitNeonMemory.Vst4M(context, InstEmitCommon.CombineV(inst.Vd, inst.D), inst.Rn, inst.Rm, (encoding >> 8) & 0xf, inst.Align, inst.Size);
}
public static void VstmA1(CodeGenContext context, uint encoding)
{
InstCondb28w4Pb24w1Ub23w1Db22w1Wb21w1Rnb16w4Vdb12w4Imm871b1w7 inst = new(encoding);
InstEmitNeonMemory.Vstm(context, InstEmitCommon.CombineV(inst.Vd, inst.D), inst.Rn, inst.Imm871, inst.U != 0, inst.W != 0, singleRegs: false);
}
public static void VstmA2(CodeGenContext context, uint encoding)
{
InstCondb28w4Pb24w1Ub23w1Db22w1Wb21w1Rnb16w4Vdb12w4Imm8b0w8 inst = new(encoding);
InstEmitNeonMemory.Vstm(context, InstEmitCommon.CombineVF(inst.D, inst.Vd), inst.Rn, inst.Imm8, inst.U != 0, inst.W != 0, singleRegs: true);
}
public static void VstmT1(CodeGenContext context, uint encoding)
{
InstPb24w1Ub23w1Db22w1Wb21w1Rnb16w4Vdb12w4Imm871b1w7 inst = new(encoding);
InstEmitNeonMemory.Vstm(context, InstEmitCommon.CombineV(inst.Vd, inst.D), inst.Rn, inst.Imm871, inst.U != 0, inst.W != 0, singleRegs: false);
}
public static void VstmT2(CodeGenContext context, uint encoding)
{
InstPb24w1Ub23w1Db22w1Wb21w1Rnb16w4Vdb12w4Imm8b0w8 inst = new(encoding);
InstEmitNeonMemory.Vstm(context, InstEmitCommon.CombineVF(inst.D, inst.Vd), inst.Rn, inst.Imm8, inst.U != 0, inst.W != 0, singleRegs: true);
}
public static void VstrA1(CodeGenContext context, uint encoding)
{
InstCondb28w4Ub23w1Db22w1Rnb16w4Vdb12w4Sizeb8w2Imm8b0w8 inst = new(encoding);
InstEmitNeonMemory.Vstr(context, InstEmitCommon.CombineV(inst.Vd, inst.D, inst.Size), inst.Rn, inst.Imm8, inst.U != 0, inst.Size);
}
public static void VstrT1(CodeGenContext context, uint encoding)
{
InstUb23w1Db22w1Rnb16w4Vdb12w4Sizeb8w2Imm8b0w8 inst = new(encoding);
InstEmitNeonMemory.Vstr(context, InstEmitCommon.CombineV(inst.Vd, inst.D, inst.Size), inst.Rn, inst.Imm8, inst.U != 0, inst.Size);
}
public static void VsubhnA1(CodeGenContext context, uint encoding)
{
InstDb22w1Sizeb20w2Vnb16w4Vdb12w4Nb7w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonArithmetic.Vsubhn(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vn, inst.N), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.Size);
}
public static void VsubhnT1(CodeGenContext context, uint encoding)
{
InstDb22w1Sizeb20w2Vnb16w4Vdb12w4Nb7w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonArithmetic.Vsubhn(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vn, inst.N), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.Size);
}
public static void VsublA1(CodeGenContext context, uint encoding)
{
InstUb24w1Db22w1Sizeb20w2Vnb16w4Vdb12w4Nb7w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonArithmetic.Vsubl(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vn, inst.N), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.U != 0, inst.Size);
}
public static void VsublT1(CodeGenContext context, uint encoding)
{
InstUb28w1Db22w1Sizeb20w2Vnb16w4Vdb12w4Nb7w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonArithmetic.Vsubl(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vn, inst.N), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.U != 0, inst.Size);
}
public static void VsubwA1(CodeGenContext context, uint encoding)
{
InstUb24w1Db22w1Sizeb20w2Vnb16w4Vdb12w4Nb7w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonArithmetic.Vsubw(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vn, inst.N), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.U != 0, inst.Size);
}
public static void VsubwT1(CodeGenContext context, uint encoding)
{
InstUb28w1Db22w1Sizeb20w2Vnb16w4Vdb12w4Nb7w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonArithmetic.Vsubw(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vn, inst.N), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.U != 0, inst.Size);
}
public static void VsubFA1(CodeGenContext context, uint encoding)
{
InstDb22w1Szb20w1Vnb16w4Vdb12w4Nb7w1Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonArithmetic.VsubF(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vn, inst.N), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.Sz, inst.Q);
}
public static void VsubFA2(CodeGenContext context, uint encoding)
{
InstCondb28w4Db22w1Vnb16w4Vdb12w4Sizeb8w2Nb7w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitVfpArithmetic.VsubF(context, InstEmitCommon.CombineV(inst.Vd, inst.D, inst.Size), InstEmitCommon.CombineV(inst.Vn, inst.N, inst.Size), InstEmitCommon.CombineV(inst.Vm, inst.M, inst.Size), inst.Size);
}
public static void VsubFT1(CodeGenContext context, uint encoding)
{
InstDb22w1Szb20w1Vnb16w4Vdb12w4Nb7w1Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonArithmetic.VsubF(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vn, inst.N), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.Sz, inst.Q);
}
public static void VsubFT2(CodeGenContext context, uint encoding)
{
InstDb22w1Vnb16w4Vdb12w4Sizeb8w2Nb7w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitVfpArithmetic.VsubF(context, InstEmitCommon.CombineV(inst.Vd, inst.D, inst.Size), InstEmitCommon.CombineV(inst.Vn, inst.N, inst.Size), InstEmitCommon.CombineV(inst.Vm, inst.M, inst.Size), inst.Size);
}
public static void VsubIA1(CodeGenContext context, uint encoding)
{
InstDb22w1Sizeb20w2Vnb16w4Vdb12w4Nb7w1Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonArithmetic.VsubI(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vn, inst.N), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.Size, inst.Q);
}
public static void VsubIT1(CodeGenContext context, uint encoding)
{
InstDb22w1Sizeb20w2Vnb16w4Vdb12w4Nb7w1Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonArithmetic.VsubI(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vn, inst.N), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.Size, inst.Q);
}
public static void VsudotSA1(CodeGenContext context, uint encoding)
{
_ = new InstDb22w1Vnb16w4Vdb12w4Nb7w1Qb6w1Mb5w1Vmb0w4(encoding);
throw new NotImplementedException();
}
public static void VsudotST1(CodeGenContext context, uint encoding)
{
_ = new InstDb22w1Vnb16w4Vdb12w4Nb7w1Qb6w1Mb5w1Vmb0w4(encoding);
throw new NotImplementedException();
}
public static void VswpA1(CodeGenContext context, uint encoding)
{
InstDb22w1Vdb12w4Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonMove.Vswp(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.Q);
}
public static void VswpT1(CodeGenContext context, uint encoding)
{
InstDb22w1Vdb12w4Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonMove.Vswp(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.Q);
}
public static void VtblA1(CodeGenContext context, uint encoding)
{
InstDb22w1Vnb16w4Vdb12w4Lenb8w2Nb7w1Opb6w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonMove.Vtbl(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vn, inst.N), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.Op != 0, inst.Len);
}
public static void VtblT1(CodeGenContext context, uint encoding)
{
InstDb22w1Vnb16w4Vdb12w4Lenb8w2Nb7w1Opb6w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonMove.Vtbl(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vn, inst.N), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.Op != 0, inst.Len);
}
public static void VtrnA1(CodeGenContext context, uint encoding)
{
InstDb22w1Sizeb18w2Vdb12w4Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonMove.Vtrn(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.Size, inst.Q);
}
public static void VtrnT1(CodeGenContext context, uint encoding)
{
InstDb22w1Sizeb18w2Vdb12w4Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonMove.Vtrn(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.Size, inst.Q);
}
public static void VtstA1(CodeGenContext context, uint encoding)
{
InstDb22w1Sizeb20w2Vnb16w4Vdb12w4Nb7w1Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonCompare.Vtst(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vn, inst.N), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.Size, inst.Q);
}
public static void VtstT1(CodeGenContext context, uint encoding)
{
InstDb22w1Sizeb20w2Vnb16w4Vdb12w4Nb7w1Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonCompare.Vtst(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vn, inst.N), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.Size, inst.Q);
}
public static void VudotA1(CodeGenContext context, uint encoding)
{
_ = new InstDb22w1Vnb16w4Vdb12w4Nb7w1Qb6w1Mb5w1Vmb0w4(encoding);
throw new NotImplementedException();
}
public static void VudotT1(CodeGenContext context, uint encoding)
{
_ = new InstDb22w1Vnb16w4Vdb12w4Nb7w1Qb6w1Mb5w1Vmb0w4(encoding);
throw new NotImplementedException();
}
public static void VudotSA1(CodeGenContext context, uint encoding)
{
_ = new InstDb22w1Vnb16w4Vdb12w4Nb7w1Qb6w1Mb5w1Vmb0w4(encoding);
throw new NotImplementedException();
}
public static void VudotST1(CodeGenContext context, uint encoding)
{
_ = new InstDb22w1Vnb16w4Vdb12w4Nb7w1Qb6w1Mb5w1Vmb0w4(encoding);
throw new NotImplementedException();
}
public static void VummlaA1(CodeGenContext context, uint encoding)
{
_ = new InstDb22w1Vnb16w4Vdb12w4Nb7w1Mb5w1Vmb0w4(encoding);
throw new NotImplementedException();
}
public static void VummlaT1(CodeGenContext context, uint encoding)
{
_ = new InstDb22w1Vnb16w4Vdb12w4Nb7w1Mb5w1Vmb0w4(encoding);
throw new NotImplementedException();
}
public static void VusdotA1(CodeGenContext context, uint encoding)
{
_ = new InstDb22w1Vnb16w4Vdb12w4Nb7w1Qb6w1Mb5w1Vmb0w4(encoding);
throw new NotImplementedException();
}
public static void VusdotT1(CodeGenContext context, uint encoding)
{
_ = new InstDb22w1Vnb16w4Vdb12w4Nb7w1Qb6w1Mb5w1Vmb0w4(encoding);
throw new NotImplementedException();
}
public static void VusdotSA1(CodeGenContext context, uint encoding)
{
_ = new InstDb22w1Vnb16w4Vdb12w4Nb7w1Qb6w1Mb5w1Vmb0w4(encoding);
throw new NotImplementedException();
}
public static void VusdotST1(CodeGenContext context, uint encoding)
{
_ = new InstDb22w1Vnb16w4Vdb12w4Nb7w1Qb6w1Mb5w1Vmb0w4(encoding);
throw new NotImplementedException();
}
public static void VusmmlaA1(CodeGenContext context, uint encoding)
{
_ = new InstDb22w1Vnb16w4Vdb12w4Nb7w1Mb5w1Vmb0w4(encoding);
throw new NotImplementedException();
}
public static void VusmmlaT1(CodeGenContext context, uint encoding)
{
_ = new InstDb22w1Vnb16w4Vdb12w4Nb7w1Mb5w1Vmb0w4(encoding);
throw new NotImplementedException();
}
public static void VuzpA1(CodeGenContext context, uint encoding)
{
InstDb22w1Sizeb18w2Vdb12w4Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonMove.Vuzp(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.Size, inst.Q);
}
public static void VuzpT1(CodeGenContext context, uint encoding)
{
InstDb22w1Sizeb18w2Vdb12w4Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonMove.Vuzp(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.Size, inst.Q);
}
public static void VzipA1(CodeGenContext context, uint encoding)
{
InstDb22w1Sizeb18w2Vdb12w4Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonMove.Vzip(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.Size, inst.Q);
}
public static void VzipT1(CodeGenContext context, uint encoding)
{
InstDb22w1Sizeb18w2Vdb12w4Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
InstEmitNeonMove.Vzip(context, InstEmitCommon.CombineV(inst.Vd, inst.D), InstEmitCommon.CombineV(inst.Vm, inst.M), inst.Size, inst.Q);
}
public static void WfeA1(CodeGenContext context, uint encoding)
{
context.Arm64Assembler.Wfe();
}
public static void WfeT1(CodeGenContext context, uint encoding)
{
context.Arm64Assembler.Wfe();
}
public static void WfeT2(CodeGenContext context, uint encoding)
{
context.Arm64Assembler.Wfe();
}
public static void WfiA1(CodeGenContext context, uint encoding)
{
context.Arm64Assembler.Wfi();
}
public static void WfiT1(CodeGenContext context, uint encoding)
{
context.Arm64Assembler.Wfi();
}
public static void WfiT2(CodeGenContext context, uint encoding)
{
context.Arm64Assembler.Wfi();
}
public static void YieldA1(CodeGenContext context, uint encoding)
{
context.Arm64Assembler.Yield();
}
public static void YieldT1(CodeGenContext context, uint encoding)
{
context.Arm64Assembler.Yield();
}
public static void YieldT2(CodeGenContext context, uint encoding)
{
context.Arm64Assembler.Yield();
}
}
}