BFI Bitfield insert This instruction copies a bitfield of <width> bits from the least significant bits of the source register to bit position <lsb> of the destination register, leaving the other destination bits unchanged. If PSTATE.DIT is 1: The execution time of this instruction is independent of: The values of the data supplied in any of its registers. The values of the NZCV flags. The response of this instruction to asynchronous exceptions does not vary based on: The values of the data supplied in any of its registers. The values of the NZCV flags. BFM 0 1 1 0 0 1 1 0 != 11111 0 0 BFI <Wd>, <Wn>, #<lsb>, #<width> BFM <Wd>, <Wn>, #(-<lsb> MOD 32), #(<width>-1) UInt(imms) < UInt(immr) 1 1 BFI <Xd>, <Xn>, #<lsb>, #<width> BFM <Xd>, <Xn>, #(-<lsb> MOD 64), #(<width>-1) UInt(imms) < UInt(immr) <Wd> Is the 32-bit name of the general-purpose destination register, encoded in the "Rd" field. <Wn> Is the 32-bit name of the general-purpose source register, encoded in the "Rn" field. <lsb> For the 32-bit variant: is the bit number of the lsb of the destination bitfield, in the range 0 to 31. <lsb> For the 64-bit variant: is the bit number of the lsb of the destination bitfield, in the range 0 to 63. <width> For the 32-bit variant: is the width of the bitfield, in the range 1 to 32-<lsb>. <width> For the 64-bit variant: is the width of the bitfield, in the range 1 to 64-<lsb>. <Xd> Is the 64-bit name of the general-purpose destination register, encoded in the "Rd" field. <Xn> Is the 64-bit name of the general-purpose source register, encoded in the "Rn" field.