Fix SWI as a pseudo instruction.

Add VFPv2/3 instruction entries for Thumb2.

git-svn-id: branches/laksen/armiw@29356 -
This commit is contained in:
Jeppe Johansen 2014-12-29 11:34:34 +00:00
parent cbd75428c0
commit 49346b3041
4 changed files with 326 additions and 33 deletions

View File

@ -1550,6 +1550,10 @@ implementation
taicpu(curtai).ops:=2;
end;
end;
A_SWI:
begin
taicpu(curtai).opcode:=A_SVC;
end;
end;
end;
end;
@ -2317,7 +2321,7 @@ implementation
// stm,ldm
#$26,#$69,#$8C,
// vldm/vstm
#$44
#$44,#$94
]) then
begin
Matches:=0;
@ -3583,7 +3587,7 @@ implementation
end;
end;
end;
#$40: // VMOV
#$40,#$90: // VMOV
begin
{ set instruction code }
bytes:=bytes or (ord(insentry^.code[1]) shl 24);
@ -3706,7 +3710,7 @@ implementation
end;
end;
end;
#$41: // VMRS/VMSR
#$41,#$91: // VMRS/VMSR
begin
{ set instruction code }
bytes:=bytes or (ord(insentry^.code[1]) shl 24);
@ -3750,7 +3754,7 @@ implementation
bytes:=bytes or (getsupreg(oper[1]^.reg) shl 12);
end;
end;
#$42: // VMUL
#$42,#$92: // VMUL
begin
{ set instruction code }
bytes:=bytes or (ord(insentry^.code[1]) shl 24);
@ -3800,7 +3804,7 @@ implementation
bytes:=bytes or (N shl 7);
bytes:=bytes or (M shl 5);
end;
#$43: // VCVT
#$43,#$93: // VCVT
begin
{ set instruction code }
bytes:=bytes or (ord(insentry^.code[1]) shl 24);
@ -3962,7 +3966,7 @@ implementation
bytes:=bytes or ((rn and $1E) shr 1);
end;
end;
#$44: // VLDM/VSTM/VPUSH/VPOP
#$44,#$94: // VLDM/VSTM/VPUSH/VPOP
begin
{ set instruction code }
bytes:=bytes or (ord(insentry^.code[1]) shl 24);
@ -4079,7 +4083,7 @@ implementation
end;
end;
end;
#$45: // VLDR/VSTR
#$45,#$95: // VLDR/VSTR
begin
{ set instruction code }
bytes:=bytes or (ord(insentry^.code[1]) shl 24);
@ -5040,7 +5044,7 @@ implementation
end;
{ Todo: Decide whether the code above should take care of writing data in an order that makes senes }
if (insentry^.code[0] in [#$80..#$90]) and (bytelen=4) then
if (insentry^.code[0] in [#$80..#$95]) and (bytelen=4) then
bytes:=((bytes shr 16) and $FFFF) or ((bytes and $FFFF) shl 16);
{ we're finished, write code }

View File

@ -401,14 +401,21 @@ reg32,reg32,shifterop \xA\x1\xE0 ARM32,ARMv4
reg32,immshifter \xB\x1\xE0 ARM32,ARMv4
[VMOVcc]
vreg,vreg \x90\xEE\xB0\xA\x40 THUMB32,VFPv2
vreg,vreg \x40\xE\xB0\xA\x40 ARM32,VFPv2
reg32,vreg \x90\xEE\x10\xA\x10 THUMB32,VFPv2
vreg,reg32 \x90\xEE\x00\xA\x10 THUMB32,VFPv2
reg32,vreg \x40\xE\x10\xA\x10 ARM32,VFPv2
vreg,reg32 \x40\xE\x00\xA\x10 ARM32,VFPv2
reg32,reg32,vreg,vreg \x90\xEC\x50\xA\x10 THUMB32,VFPv2
vreg,vreg,reg32,reg32 \x90\xEC\x40\xA\x10 THUMB32,VFPv2
reg32,reg32,vreg,vreg \x40\xC\x50\xA\x10 ARM32,VFPv2
vreg,vreg,reg32,reg32 \x40\xC\x40\xA\x10 ARM32,VFPv2
reg32,reg32,vreg \x90\xEC\x50\xB\x10 THUMB32,VFPv2
vreg,reg32,reg32 \x90\xEC\x40\xB\x10 THUMB32,VFPv2
reg32,reg32,vreg \x40\xC\x50\xB\x10 ARM32,VFPv2
vreg,reg32,reg32 \x40\xC\x40\xB\x10 ARM32,VFPv2
@ -552,8 +559,7 @@ reg32,reg32,reg32 \x4\x0\x40 ARM32,ARMv4
reg32,reg32,reg32,shifterop \x6\x0\x40 ARM32,ARMv4
[SWIcc]
imm \x2\x0F ARM32,ARMv4
immshifter \x2\x0F ARM32,ARMv4
; Old alias for SVC
[SWPcc]
reg32,reg32,memam2 \x27\x10\x09 ARM32,ARMv4
@ -655,23 +661,31 @@ reg32,reg32,reg32,reg32 \x80\xFB\x30\x0\x10 THUMB32,ARMv6T2
reg32,reg32,reg32,reg32 \x15\x1\x20\xC ARM32,ARMv5TE
[VLDMcc]
memam4,reglist \x94\xEC\x10\xA THUMB32,VFPv2
reg32,reglist \x94\xEC\x10\xA THUMB32,VFPv2
memam4,reglist \x44\xC\x10\xA ARM32,VFPv2
reg32,reglist \x44\xC\x10\xA ARM32,VFPv2
[VSTMcc]
memam4,reglist \x94\xEC\x00\xA THUMB32,VFPv2
reg32,reglist \x94\xEC\x00\xA THUMB32,VFPv2
memam4,reglist \x44\xC\x00\xA ARM32,VFPv2
reg32,reglist \x44\xC\x00\xA ARM32,VFPv2
[VPOP]
reglist \x94\xEC\xBD\xA THUMB32,VFPv2
reglist \x44\xC\xBD\xA ARM32,VFPv2
[VPUSH]
reglist \x94\xED\x2D\xA THUMB32,VFPv2
reglist \x44\xD\x2D\xA ARM32,VFPv2
[VLDRcc]
vreg,memam2 \x95\xED\x10\xA THUMB32,VFPv2
vreg,memam2 \x45\xD\x10\xA ARM32,VFPv2
[VSTRcc]
vreg,memam2 \x95\xED\x0\xA THUMB32,VFPv2
vreg,memam2 \x45\xD\x0\xA ARM32,VFPv2
[SMULBBcc]
@ -1431,52 +1445,71 @@ reglo,memam2 \x68\xB9 THUMB,ARMv6T2
; VFP
[VABScc]
vreg,vreg \x92\xEE\xB0\xA\xC0 THUMB32,VFPv2
vreg,vreg \x42\xE\xB0\xA\xC0 ARM32,VFPv2
[VADDcc]
vreg,vreg,vreg \x92\xEE\x30\xA\x0 THUMB32,VFPv2
vreg,vreg,vreg \x42\xE\x30\xA\x0 ARM32,VFPv2
[VCMPcc]
vreg,vreg \x92\xEE\xB4\xA\x40 THUMB32,VFPv2
vreg,immshifter \x92\xEE\xB5\xA\x40 THUMB32,VFPv2
vreg,vreg \x42\xE\xB4\xA\x40 ARM32,VFPv2
vreg,immshifter \x42\xE\xB5\xA\x40 ARM32,VFPv2
[VCMPEcc]
vreg,vreg \x92\xEE\xB4\xA\xC0 THUMB32,VFPv2
vreg,immshifter \x92\xEE\xB5\xA\xC0 THUMB32,VFPv2
vreg,vreg \x42\xE\xB4\xA\xC0 ARM32,VFPv2
vreg,immshifter \x42\xE\xB5\xA\xC0 ARM32,VFPv2
[VCVTcc]
vreg,vreg \x93\xEE\xB8\xA\xC0 THUMB32,VFPv2
vreg,vreg,immshifter \x93\xEE\xBA\xA\x40 THUMB32,VFPv3
vreg,vreg \x43\xE\xB8\xA\xC0 ARM32,VFPv2
vreg,vreg,immshifter \x43\xE\xBA\xA\x40 ARM32,VFPv3
[VCVTRcc]
vreg,vreg \x93\xEE\xB8\xA\x40 THUMB32,VFPv2
vreg,vreg \x43\xE\xB8\xA\x40 ARM32,VFPv2
[VDIVcc]
vreg,vreg,vreg \x92\xEE\x80\xA\x0 THUMB32,VFPv2
vreg,vreg,vreg \x42\xE\x80\xA\x0 ARM32,VFPv2
[VMRScc]
reg32,regf \x91\xEE\xF0\xA\x10 THUMB32,VFPv2
regf,regf \x91\xEE\xF0\xA\x10 THUMB32,VFPv2
reg32,regf \x41\xE\xF0\xA\x10 ARM32,VFPv2
regf,regf \x41\xE\xF0\xA\x10 ARM32,VFPv2
[VMSRcc]
regf,reg32 \x91\xEE\xE0\xA\x10 THUMB32,VFPv2
regf,reg32 \x41\xE\xE0\xA\x10 ARM32,VFPv2
[VMLAcc]
vreg,vreg,vreg \x92\xEE\x0\xA\x00 THUMB32,VFPv2
vreg,vreg,vreg \x42\xE\x0\xA\x00 ARM32,VFPv2
[VMLScc]
vreg,vreg,vreg \x92\xEE\x0\xA\x40 THUMB32,VFPv2
vreg,vreg,vreg \x42\xE\x0\xA\x40 ARM32,VFPv2
[VMULcc]
vreg,vreg,vreg \x92\xEE\x20\xA\x0 THUMB32,VFPv2
vreg,vreg,vreg \x42\xE\x20\xA\x0 ARM32,VFPv2
[VNMLAcc]
vreg,vreg,vreg \x92\xEE\x10\xA\x40 THUMB32,VFPv2
vreg,vreg,vreg \x42\xE\x10\xA\x40 ARM32,VFPv2
[VNMLScc]
vreg,vreg,vreg \x92\xEE\x10\xA\x00 THUMB32,VFPv2
vreg,vreg,vreg \x42\xE\x10\xA\x00 ARM32,VFPv2
[VNMULcc]
vreg,vreg,vreg \x92\xEE\x20\xA\x40 THUMB32,VFPv2
vreg,vreg,vreg \x42\xE\x20\xA\x40 ARM32,VFPv2
[VFMA]
@ -1485,38 +1518,42 @@ vreg,vreg,vreg \x42\xE\x20\xA\x40 ARM32,VFPv2
[VFNMS]
[VNEGcc]
vreg,vreg \x92\xEE\xB1\xA\x40 THUMB32,VFPv2
vreg,vreg \x42\xE\xB1\xA\x40 ARM32,VFPv2
[VSQRT]
vreg,vreg \x92\xEE\xB1\xA\xC0 THUMB32,VFPv2
vreg,vreg \x42\xE\xB1\xA\xC0 ARM32,VFPv2
[VSUB]
vreg,vreg,vreg \x92\xEE\x30\xA\x40 THUMB32,VFPv2
vreg,vreg,vreg \x42\xE\x30\xA\x40 ARM32,VFPv2
[DMB]
[DMBcc]
immshifter \x80\xF3\xBF\x8F\x50 THUMB32,ARMv7
immshifter \x2E\xF5\x7F\xF0\x50 ARM32,ARMv7
[ISB]
[ISBcc]
immshifter \x80\xF3\xBF\x8F\x60 THUMB32,ARMv7
immshifter \x2E\xF5\x7F\xF0\x60 ARM32,ARMv7
[DSB]
[DSBcc]
immshifter \x80\xF3\xBF\x8F\x40 THUMB32,ARMv7
immshifter \x2E\xF5\x7F\xF0\x40 ARM32,ARMv7
[SMC]
[SMCcc]
immshifter \x2E\x01\x60\x00\x70 ARM32,ARMv7
imm32 \x2E\x01\x60\x00\x70 ARM32,ARMv7
; Thumb armv6-m (gcc)
[NEG]
[NEGcc]
[SVC]
[SVCcc]
immshifter \x61\xDF\x0 THUMB,ARMv4T
imm32 \x61\xDF\x0 THUMB,ARMv4T
imm32 \x2\x0F ARM32,ARMv4
immshifter \x2\x0F ARM32,ARMv4
imm32 \x2\x0F ARM32,ARMv4
[BXJcc]
reg32 \x80\xF3\xC0\x8F\x0 THUMB32,ARMv6T2

View File

@ -1,2 +1,2 @@
{ don't edit, this file is generated from armins.dat }
710;
746;

View File

@ -1295,6 +1295,13 @@
code : #11#1#224;
flags : if_arm32 or if_armv4
),
(
opcode : A_VMOV;
ops : 2;
optypes : (ot_vreg,ot_vreg,ot_none,ot_none,ot_none,ot_none);
code : #144#238#176#10#64;
flags : if_thumb32 or if_vfpv2
),
(
opcode : A_VMOV;
ops : 2;
@ -1302,6 +1309,20 @@
code : #64#14#176#10#64;
flags : if_arm32 or if_vfpv2
),
(
opcode : A_VMOV;
ops : 2;
optypes : (ot_reg32,ot_vreg,ot_none,ot_none,ot_none,ot_none);
code : #144#238#16#10#16;
flags : if_thumb32 or if_vfpv2
),
(
opcode : A_VMOV;
ops : 2;
optypes : (ot_vreg,ot_reg32,ot_none,ot_none,ot_none,ot_none);
code : #144#238#0#10#16;
flags : if_thumb32 or if_vfpv2
),
(
opcode : A_VMOV;
ops : 2;
@ -1316,6 +1337,20 @@
code : #64#14#0#10#16;
flags : if_arm32 or if_vfpv2
),
(
opcode : A_VMOV;
ops : 4;
optypes : (ot_reg32,ot_reg32,ot_vreg,ot_vreg,ot_none,ot_none);
code : #144#236#80#10#16;
flags : if_thumb32 or if_vfpv2
),
(
opcode : A_VMOV;
ops : 4;
optypes : (ot_vreg,ot_vreg,ot_reg32,ot_reg32,ot_none,ot_none);
code : #144#236#64#10#16;
flags : if_thumb32 or if_vfpv2
),
(
opcode : A_VMOV;
ops : 4;
@ -1330,6 +1365,20 @@
code : #64#12#64#10#16;
flags : if_arm32 or if_vfpv2
),
(
opcode : A_VMOV;
ops : 3;
optypes : (ot_reg32,ot_reg32,ot_vreg,ot_none,ot_none,ot_none);
code : #144#236#80#11#16;
flags : if_thumb32 or if_vfpv2
),
(
opcode : A_VMOV;
ops : 3;
optypes : (ot_vreg,ot_reg32,ot_reg32,ot_none,ot_none,ot_none);
code : #144#236#64#11#16;
flags : if_thumb32 or if_vfpv2
),
(
opcode : A_VMOV;
ops : 3;
@ -1995,20 +2044,6 @@
code : #6#0#64;
flags : if_arm32 or if_armv4
),
(
opcode : A_SWI;
ops : 1;
optypes : (ot_immediate,ot_none,ot_none,ot_none,ot_none,ot_none);
code : #2#15;
flags : if_arm32 or if_armv4
),
(
opcode : A_SWI;
ops : 1;
optypes : (ot_immediateshifter,ot_none,ot_none,ot_none,ot_none,ot_none);
code : #2#15;
flags : if_arm32 or if_armv4
),
(
opcode : A_SWP;
ops : 3;
@ -2338,6 +2373,20 @@
code : #21#1#32#12;
flags : if_arm32 or if_armv5te
),
(
opcode : A_VLDM;
ops : 2;
optypes : (ot_memoryam4,ot_reglist,ot_none,ot_none,ot_none,ot_none);
code : #148#236#16#10;
flags : if_thumb32 or if_vfpv2
),
(
opcode : A_VLDM;
ops : 2;
optypes : (ot_reg32,ot_reglist,ot_none,ot_none,ot_none,ot_none);
code : #148#236#16#10;
flags : if_thumb32 or if_vfpv2
),
(
opcode : A_VLDM;
ops : 2;
@ -2352,6 +2401,20 @@
code : #68#12#16#10;
flags : if_arm32 or if_vfpv2
),
(
opcode : A_VSTM;
ops : 2;
optypes : (ot_memoryam4,ot_reglist,ot_none,ot_none,ot_none,ot_none);
code : #148#236#0#10;
flags : if_thumb32 or if_vfpv2
),
(
opcode : A_VSTM;
ops : 2;
optypes : (ot_reg32,ot_reglist,ot_none,ot_none,ot_none,ot_none);
code : #148#236#0#10;
flags : if_thumb32 or if_vfpv2
),
(
opcode : A_VSTM;
ops : 2;
@ -2366,6 +2429,13 @@
code : #68#12#0#10;
flags : if_arm32 or if_vfpv2
),
(
opcode : A_VPOP;
ops : 1;
optypes : (ot_reglist,ot_none,ot_none,ot_none,ot_none,ot_none);
code : #148#236#189#10;
flags : if_thumb32 or if_vfpv2
),
(
opcode : A_VPOP;
ops : 1;
@ -2373,6 +2443,13 @@
code : #68#12#189#10;
flags : if_arm32 or if_vfpv2
),
(
opcode : A_VPUSH;
ops : 1;
optypes : (ot_reglist,ot_none,ot_none,ot_none,ot_none,ot_none);
code : #148#237#45#10;
flags : if_thumb32 or if_vfpv2
),
(
opcode : A_VPUSH;
ops : 1;
@ -2380,6 +2457,13 @@
code : #68#13#45#10;
flags : if_arm32 or if_vfpv2
),
(
opcode : A_VLDR;
ops : 2;
optypes : (ot_vreg,ot_memoryam2,ot_none,ot_none,ot_none,ot_none);
code : #149#237#16#10;
flags : if_thumb32 or if_vfpv2
),
(
opcode : A_VLDR;
ops : 2;
@ -2387,6 +2471,13 @@
code : #69#13#16#10;
flags : if_arm32 or if_vfpv2
),
(
opcode : A_VSTR;
ops : 2;
optypes : (ot_vreg,ot_memoryam2,ot_none,ot_none,ot_none,ot_none);
code : #149#237#0#10;
flags : if_thumb32 or if_vfpv2
),
(
opcode : A_VSTR;
ops : 2;
@ -4711,6 +4802,13 @@
code : #104#185;
flags : if_thumb or if_armv6t2
),
(
opcode : A_VABS;
ops : 2;
optypes : (ot_vreg,ot_vreg,ot_none,ot_none,ot_none,ot_none);
code : #146#238#176#10#192;
flags : if_thumb32 or if_vfpv2
),
(
opcode : A_VABS;
ops : 2;
@ -4718,6 +4816,13 @@
code : #66#14#176#10#192;
flags : if_arm32 or if_vfpv2
),
(
opcode : A_VADD;
ops : 3;
optypes : (ot_vreg,ot_vreg,ot_vreg,ot_none,ot_none,ot_none);
code : #146#238#48#10#0;
flags : if_thumb32 or if_vfpv2
),
(
opcode : A_VADD;
ops : 3;
@ -4725,6 +4830,20 @@
code : #66#14#48#10#0;
flags : if_arm32 or if_vfpv2
),
(
opcode : A_VCMP;
ops : 2;
optypes : (ot_vreg,ot_vreg,ot_none,ot_none,ot_none,ot_none);
code : #146#238#180#10#64;
flags : if_thumb32 or if_vfpv2
),
(
opcode : A_VCMP;
ops : 2;
optypes : (ot_vreg,ot_immediateshifter,ot_none,ot_none,ot_none,ot_none);
code : #146#238#181#10#64;
flags : if_thumb32 or if_vfpv2
),
(
opcode : A_VCMP;
ops : 2;
@ -4739,6 +4858,20 @@
code : #66#14#181#10#64;
flags : if_arm32 or if_vfpv2
),
(
opcode : A_VCMPE;
ops : 2;
optypes : (ot_vreg,ot_vreg,ot_none,ot_none,ot_none,ot_none);
code : #146#238#180#10#192;
flags : if_thumb32 or if_vfpv2
),
(
opcode : A_VCMPE;
ops : 2;
optypes : (ot_vreg,ot_immediateshifter,ot_none,ot_none,ot_none,ot_none);
code : #146#238#181#10#192;
flags : if_thumb32 or if_vfpv2
),
(
opcode : A_VCMPE;
ops : 2;
@ -4753,6 +4886,20 @@
code : #66#14#181#10#192;
flags : if_arm32 or if_vfpv2
),
(
opcode : A_VCVT;
ops : 2;
optypes : (ot_vreg,ot_vreg,ot_none,ot_none,ot_none,ot_none);
code : #147#238#184#10#192;
flags : if_thumb32 or if_vfpv2
),
(
opcode : A_VCVT;
ops : 3;
optypes : (ot_vreg,ot_vreg,ot_immediateshifter,ot_none,ot_none,ot_none);
code : #147#238#186#10#64;
flags : if_thumb32 or if_vfpv3
),
(
opcode : A_VCVT;
ops : 2;
@ -4767,6 +4914,13 @@
code : #67#14#186#10#64;
flags : if_arm32 or if_vfpv3
),
(
opcode : A_VCVTR;
ops : 2;
optypes : (ot_vreg,ot_vreg,ot_none,ot_none,ot_none,ot_none);
code : #147#238#184#10#64;
flags : if_thumb32 or if_vfpv2
),
(
opcode : A_VCVTR;
ops : 2;
@ -4774,6 +4928,13 @@
code : #67#14#184#10#64;
flags : if_arm32 or if_vfpv2
),
(
opcode : A_VDIV;
ops : 3;
optypes : (ot_vreg,ot_vreg,ot_vreg,ot_none,ot_none,ot_none);
code : #146#238#128#10#0;
flags : if_thumb32 or if_vfpv2
),
(
opcode : A_VDIV;
ops : 3;
@ -4781,6 +4942,20 @@
code : #66#14#128#10#0;
flags : if_arm32 or if_vfpv2
),
(
opcode : A_VMRS;
ops : 2;
optypes : (ot_reg32,ot_regf,ot_none,ot_none,ot_none,ot_none);
code : #145#238#240#10#16;
flags : if_thumb32 or if_vfpv2
),
(
opcode : A_VMRS;
ops : 2;
optypes : (ot_regf,ot_regf,ot_none,ot_none,ot_none,ot_none);
code : #145#238#240#10#16;
flags : if_thumb32 or if_vfpv2
),
(
opcode : A_VMRS;
ops : 2;
@ -4795,6 +4970,13 @@
code : #65#14#240#10#16;
flags : if_arm32 or if_vfpv2
),
(
opcode : A_VMSR;
ops : 2;
optypes : (ot_regf,ot_reg32,ot_none,ot_none,ot_none,ot_none);
code : #145#238#224#10#16;
flags : if_thumb32 or if_vfpv2
),
(
opcode : A_VMSR;
ops : 2;
@ -4802,6 +4984,13 @@
code : #65#14#224#10#16;
flags : if_arm32 or if_vfpv2
),
(
opcode : A_VMLA;
ops : 3;
optypes : (ot_vreg,ot_vreg,ot_vreg,ot_none,ot_none,ot_none);
code : #146#238#0#10#0;
flags : if_thumb32 or if_vfpv2
),
(
opcode : A_VMLA;
ops : 3;
@ -4809,6 +4998,13 @@
code : #66#14#0#10#0;
flags : if_arm32 or if_vfpv2
),
(
opcode : A_VMLS;
ops : 3;
optypes : (ot_vreg,ot_vreg,ot_vreg,ot_none,ot_none,ot_none);
code : #146#238#0#10#64;
flags : if_thumb32 or if_vfpv2
),
(
opcode : A_VMLS;
ops : 3;
@ -4816,6 +5012,13 @@
code : #66#14#0#10#64;
flags : if_arm32 or if_vfpv2
),
(
opcode : A_VMUL;
ops : 3;
optypes : (ot_vreg,ot_vreg,ot_vreg,ot_none,ot_none,ot_none);
code : #146#238#32#10#0;
flags : if_thumb32 or if_vfpv2
),
(
opcode : A_VMUL;
ops : 3;
@ -4823,6 +5026,13 @@
code : #66#14#32#10#0;
flags : if_arm32 or if_vfpv2
),
(
opcode : A_VNMLA;
ops : 3;
optypes : (ot_vreg,ot_vreg,ot_vreg,ot_none,ot_none,ot_none);
code : #146#238#16#10#64;
flags : if_thumb32 or if_vfpv2
),
(
opcode : A_VNMLA;
ops : 3;
@ -4830,6 +5040,13 @@
code : #66#14#16#10#64;
flags : if_arm32 or if_vfpv2
),
(
opcode : A_VNMLS;
ops : 3;
optypes : (ot_vreg,ot_vreg,ot_vreg,ot_none,ot_none,ot_none);
code : #146#238#16#10#0;
flags : if_thumb32 or if_vfpv2
),
(
opcode : A_VNMLS;
ops : 3;
@ -4837,6 +5054,13 @@
code : #66#14#16#10#0;
flags : if_arm32 or if_vfpv2
),
(
opcode : A_VNMUL;
ops : 3;
optypes : (ot_vreg,ot_vreg,ot_vreg,ot_none,ot_none,ot_none);
code : #146#238#32#10#64;
flags : if_thumb32 or if_vfpv2
),
(
opcode : A_VNMUL;
ops : 3;
@ -4844,6 +5068,13 @@
code : #66#14#32#10#64;
flags : if_arm32 or if_vfpv2
),
(
opcode : A_VNEG;
ops : 2;
optypes : (ot_vreg,ot_vreg,ot_none,ot_none,ot_none,ot_none);
code : #146#238#177#10#64;
flags : if_thumb32 or if_vfpv2
),
(
opcode : A_VNEG;
ops : 2;
@ -4851,6 +5082,13 @@
code : #66#14#177#10#64;
flags : if_arm32 or if_vfpv2
),
(
opcode : A_VSQRT;
ops : 2;
optypes : (ot_vreg,ot_vreg,ot_none,ot_none,ot_none,ot_none);
code : #146#238#177#10#192;
flags : if_thumb32 or if_vfpv2
),
(
opcode : A_VSQRT;
ops : 2;
@ -4858,6 +5096,13 @@
code : #66#14#177#10#192;
flags : if_arm32 or if_vfpv2
),
(
opcode : A_VSUB;
ops : 3;
optypes : (ot_vreg,ot_vreg,ot_vreg,ot_none,ot_none,ot_none);
code : #146#238#48#10#64;
flags : if_thumb32 or if_vfpv2
),
(
opcode : A_VSUB;
ops : 3;
@ -4932,13 +5177,20 @@
opcode : A_SVC;
ops : 1;
optypes : (ot_immediate or ot_bits32,ot_none,ot_none,ot_none,ot_none,ot_none);
code : #97#223#0;
flags : if_thumb or if_armv4t
),
(
opcode : A_SVC;
ops : 1;
optypes : (ot_immediateshifter,ot_none,ot_none,ot_none,ot_none,ot_none);
code : #2#15;
flags : if_arm32 or if_armv4
),
(
opcode : A_SVC;
ops : 1;
optypes : (ot_immediateshifter,ot_none,ot_none,ot_none,ot_none,ot_none);
optypes : (ot_immediate or ot_bits32,ot_none,ot_none,ot_none,ot_none,ot_none);
code : #2#15;
flags : if_arm32 or if_armv4
),