OpCode32SimdBinary.cs 847 B

123456789101112131415161718192021
  1. namespace ARMeilleure.Decoders
  2. {
  3. /// <summary>
  4. /// A special alias that always runs in 64 bit int, to speed up binary ops a little.
  5. /// </summary>
  6. class OpCode32SimdBinary : OpCode32SimdReg
  7. {
  8. public new static OpCode Create(InstDescriptor inst, ulong address, int opCode) => new OpCode32SimdBinary(inst, address, opCode, false);
  9. public new static OpCode CreateT32(InstDescriptor inst, ulong address, int opCode) => new OpCode32SimdBinary(inst, address, opCode, true);
  10. public OpCode32SimdBinary(InstDescriptor inst, ulong address, int opCode, bool isThumb) : base(inst, address, opCode, isThumb)
  11. {
  12. Size = 3;
  13. if (DecoderHelper.VectorArgumentsInvalid(Q, Vd, Vm, Vn))
  14. {
  15. Instruction = InstDescriptor.Undefined;
  16. }
  17. }
  18. }
  19. }