diff options
| author | gdkchan <gab.dark.100@gmail.com> | 2022-09-09 21:47:38 -0300 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-09-09 21:47:38 -0300 |
| commit | db45688aa8d0e63d3ffbe50351722ef32f8360f8 (patch) | |
| tree | 3228986398039c37546510ddeecea1600a48b933 /ARMeilleure/Decoders/OpCode32SimdMovn.cs | |
| parent | c6d82209abeacd2336cde99e5a02b4596e70da83 (diff) | |
Implement VRSRA, VRSHRN, VQSHRUN, VQMOVN, VQMOVUN, VQADD, VQSUB, VRHADD, VPADDL, VSUBL, VQDMULH and VMLAL Arm32 NEON instructions (#3677)
* Implement VRSRA, VRSHRN, VQSHRUN, VQMOVN, VQMOVUN, VQADD, VQSUB, VRHADD, VPADDL, VSUBL, VQDMULH and VMLAL Arm32 NEON instructions
* PPTC version
* Fix VQADD/VQSUB
* Improve MRC/MCR handling and exception messages
In case data is being recompiled as code, we don't want to throw at emit stage, instead we should only throw if it actually tries to execute
Diffstat (limited to 'ARMeilleure/Decoders/OpCode32SimdMovn.cs')
| -rw-r--r-- | ARMeilleure/Decoders/OpCode32SimdMovn.cs | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/ARMeilleure/Decoders/OpCode32SimdMovn.cs b/ARMeilleure/Decoders/OpCode32SimdMovn.cs new file mode 100644 index 00000000..e4c5f8db --- /dev/null +++ b/ARMeilleure/Decoders/OpCode32SimdMovn.cs @@ -0,0 +1,12 @@ +namespace ARMeilleure.Decoders +{ + class OpCode32SimdMovn : OpCode32Simd + { + public new static OpCode Create(InstDescriptor inst, ulong address, int opCode) => new OpCode32SimdMovn(inst, address, opCode); + + public OpCode32SimdMovn(InstDescriptor inst, ulong address, int opCode) : base(inst, address, opCode) + { + Size = (opCode >> 18) & 0x3; + } + } +} |
