FreeBSD/contrib/binutils/gas/config/tc-arm.c
/* Transfer between coprocessor and ARM registers.
   MRC{cond} <coproc>, <opcode_1>, <Rd>, <CRn>, <CRm>{, <opcode_2>}
   MRC2
   MCR{cond}
   MCR2

   No special properties.  */
Transfer between coprocessor and ARM registers.

No special properties.
Transfer between coprocessor and ARM registers . No special properties .
static void
do_co_reg (void)
{
  inst.instruction |= inst.operands[0].reg << 8;
  inst.instruction |= inst.operands[1].imm << 21;
  if (inst.operands[2].isvec != 0)
    inst.instruction |= 15 << 12;
  else
    inst.instruction |= inst.operands[2].reg << 12;
  inst.instruction |= inst.operands[3].reg << 16;
  inst.instruction |= inst.operands[4].reg;
  inst.instruction |= inst.operands[5].imm << 5;
}
static void do_co_reg ( void ) { inst . instruction |= inst . operands [ 0 ] . reg << 8 ; inst . instruction |= inst . operands [ 1 ] . imm << 21 ; if ( inst . operands [ 2 ] . isvec != 0 ) inst . instruction |= 15 << 12 ; else inst . instruction |= inst . operands [ 2 ] . reg << 12 ; inst . instruction |= inst . operands [ 3 ] . reg << 16 ; inst . instruction |= inst . operands [ 4 ] . reg ; inst . instruction |= inst . operands [ 5 ] . imm << 5 ; }
Transfer between coprocessor and ARM registers.
Transfer between coprocessor and ARM registers .
/* If this is a vector we are using the APSR_nzcv syntax, encode as r15 */