Owner's manual

Table Of Contents
3-18 DS785UM1
Copyright 2007 Cirrus Logic
MaverickCrunch Co-Processor
EP93xx User’s Guide
3
3
3
Fields that are ignored by the co-processor are shaded. Dark shading implies that a field is
processed by the ARM itself and can have any value, while light shading indicates that the
field, though ignored by both the ARM and the co-processor, should have the value shown.
Table 3-10. MaverickCrunch Instruction Set
Maverick
Crunch
Co-
Processor
Instruction
Type
ARM
Co-
Processor
Instruction
Type
Instruction Description
Loads LDC
cfldrs CRd, [Rn] Load CRd with single stored at address in Rn
cfldrd CRd, [Rn] Load CRd with double stored at address in Rn
cfldr32 CRd, [Rn]
Load CRd with 32-bit integer stored at address in Rn, sign extend through
bit 63
cfldr64 CRd, [Rn] Load CRd with 64-bit integer stored at address in Rn
Stores STC
cfstrs CRd, [Rn] Store single in CRd at address in Rn
cfstrd CRd, [Rn] Store double in CRd at address in Rn
cflstr32 CRd, [Rn] Store 32-bit integer in CRd at address in Rn
cfstr64 CRd, [Rn] Store 64-bit integer in CRd at address in Rn
Moves to co-
processor
MCR
cfmvsr CRn, Rd Move single from Rd to CRn[63:32]
cfmvdlr CRn, Rd Move lower half of double from Rd to CRn[31:0]
cfmvdhr CRn, Rd Move upper half of double from Rd to CRn[63:32]
cfmv64lr CRn, Rd
Move lower half of 64-bit integer from Rd to CRn[31:0], sign extend bit 31
through bits [63:31]
cfmv64hr CRn, Rd Move upper half of 64-bit integer from Rd to CRn[63:32]
Moves from co-
processor
MRC
cfmvsr Rd, CRn Move single from CRn[63:32] to Rd
cfmvrdl Rd, CRn Move lower half of double from CRn[31:0] to Rd
cfmvrdh Rd, CRn Move upper half of double from CRn[63:32] to Rd
cfmvr64l Rd, CRn Move lower half of 64-bit integer from CRn[31:0] to Rd
cfmvr64h Rd, CRn Move upper half of 64-bit integer from CRn[63:32] to Rd
Moves to
accumulator
CDP
cfmval32 CRd, CRn Move 32-bit integer from CRn [31:0] to accumulator CRd[31:0]
cfmvam32 CRd, CRn Move 32-bit integer from CRn [31:0] to accumulator CRd[63:32]
cfmvah32 CRd, CRn
Move lower 8 bits of 32-bit integer from CRn [7:0] to accumulator
CRd[71:64]
cfmva32 CRd, CRn
Move 32-bit integer from CRn[31:0] to accumulator CRd[31:0] and sign
extend through bit 71
cfmva64 CRd, CRn
Move 64-bit integer from CRn to accumulator CRd[63:0] and sign extend
through bit 71