# Use:
# VFP1=(cond:4) VFP2={ne(cond,15)} for ARM
# VFP1=1110 VFP2= for Thumb2

# A8.6.28 CDP, CDP2
# A1 ARMv4*, ARMv5T*, ARMv6*, ARMv7
[VFP1]1110(opc1:4)(CRn:4)(CRd:4)(coproc:4)(opc2:3)0(CRm:4)	[VFP2] {eq(band(coproc,14),10)}	CDP_CDP2_A1

# A8.6.51 LDC, LDC2 (immediate)
# A1 ARMv4*, ARMv5T*, ARMv6*, ARMv7
[VFP1]11000001(Rn:4)(CRd:4)(coproc:4)(imm8:8)	[VFP2] {eq(band(coproc,14),10)} {ne(Rn,15)}	UNDEFINED
[VFP1]110PUDW1(Rn:4)(CRd:4)(coproc:4)(imm8:8)	[VFP2] {eq(band(coproc,14),10)} {ne(Rn,15)} {lor(lor(P,U),W)}	LDC_LDC2_imm_A1

# A8.6.52 LDC, LDC2 (literal)
# A1 ARMv4*, ARMv5T*, ARMv6*, ARMv7
[VFP1]110000011111(CRd:4)(coproc:4)(imm8:8)	[VFP2] {eq(band(coproc,14),10)}	UNDEFINED
[VFP1]110PUDW11111(CRd:4)(coproc:4)(imm8:8)	[VFP2] {eq(band(coproc,14),10)} {lor(lor(P,U),W)}	LDC_LDC2_lit_A1

# A8.6.92 MCR, MCR2
# A1 ARMv5TE*, ARMv6*, ARMv7
# A1 ARMv4*, ARMv5T*, ARMv6*, ARMv7
[VFP1]1110(opc1:3)0(CRn:4)(Rt:4)(coproc:4)(opc2:3)1(CRm:4)	[VFP2] {eq(band(coproc,14),10)}	MCR_MCR2_A1

# A8.6.93 MCRR, MCRR2
# A1 ARMv5TE*, ARMv6*, ARMv7
[VFP1]11000100(Rt2:4)(Rt:4)(coproc:4)(opc1:4)(CRm:4)	[VFP2] {eq(band(coproc,14),10)}	MCRR_MCRR2_A1

# A8.6.100 MRC, MRC2
# A1 ARMv4*, ARMv5T*, ARMv6*, ARMv7
[VFP1]1110(opc1:3)1(CRn:4)(Rt:4)(coproc:4)(opc2:3)1(CRm:4)	[VFP2] {eq(band(coproc,14),10)}	MRC_MRC2_A1

# A8.6.101 MRRC, MRRC2
# A1 ARMv5TE*, ARMv6*, ARMv7
[VFP1]11000101(Rt2:4)(Rt:4)(coproc:4)(opc1:4)(CRm:4)	[VFP2] {eq(band(coproc,14),10)}	MRRC_MRRC2_A1

# A8.6.188 STC, STC2
# A1 ARMv4*, ARMv5T*, ARMv6*, ARMv7
[VFP1]11000000(Rn:4)(CRd:4)(coproc:4)(imm8:8)	[VFP2] {eq(band(coproc,14),10)}	UNDEFINED
[VFP1]110PUDW0(Rn:4)(CRd:4)(coproc:4)(imm8:8)	[VFP2] {eq(band(coproc,14),10)} {lor(lor(P,U),W)}	STC_STC2_A1
