diff options
| author | FICTURE7 <FICTURE7@gmail.com> | 2021-05-20 16:09:17 +0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-05-20 09:09:17 -0300 |
| commit | 0181068016bc9ca98ee71f1d7b6ab6010c4302f0 (patch) | |
| tree | 89f7e20bc6db8c5cd1e0fdfbde1093ccbd5f2f47 /ARMeilleure/Instructions/InstEmitSimdHelper.cs | |
| parent | 49745cfa37b247c3e49bfae126bafbe41e166bc6 (diff) | |
Add `BIC/ORR Vd.T, #imm` fast path (#2279)
* Add fast path for BIC Vd.T, #imm
* Add fast path for ORR Vd.T, #imm
* Set PTC version
* Fixup Exception to InvalidOperationException
Diffstat (limited to 'ARMeilleure/Instructions/InstEmitSimdHelper.cs')
| -rw-r--r-- | ARMeilleure/Instructions/InstEmitSimdHelper.cs | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/ARMeilleure/Instructions/InstEmitSimdHelper.cs b/ARMeilleure/Instructions/InstEmitSimdHelper.cs index 576f4229..36602f25 100644 --- a/ARMeilleure/Instructions/InstEmitSimdHelper.cs +++ b/ARMeilleure/Instructions/InstEmitSimdHelper.cs @@ -190,6 +190,15 @@ namespace ARMeilleure.Instructions return X86GetAllElements(context, BitConverter.DoubleToInt64Bits(value)); } + public static Operand X86GetAllElements(ArmEmitterContext context, short value) + { + ulong value1 = (ushort)value; + ulong value2 = value1 << 16 | value1; + ulong value4 = value2 << 32 | value2; + + return X86GetAllElements(context, (long)value4); + } + public static Operand X86GetAllElements(ArmEmitterContext context, int value) { Operand vector = context.VectorCreateScalar(Const(value)); |
