From: Bob Wilson Date: Mon, 28 Jun 2010 21:16:30 +0000 (+0000) Subject: Refactor encoding function for NEON 1-register with modified immediate format. X-Git-Url: http://plrg.eecs.uci.edu/git/?a=commitdiff_plain;h=08baddbc0708d6965b72b40aa3c1f40b56a31835;p=oota-llvm.git Refactor encoding function for NEON 1-register with modified immediate format. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107070 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Target/ARM/ARMCodeEmitter.cpp b/lib/Target/ARM/ARMCodeEmitter.cpp index cf3ae981745..00237a72ff1 100644 --- a/lib/Target/ARM/ARMCodeEmitter.cpp +++ b/lib/Target/ARM/ARMCodeEmitter.cpp @@ -1630,15 +1630,11 @@ void ARMCodeEmitter::emitNEON1RegModImmInstruction(const MachineInstr &MI) { // Immediate fields: Op, Cmode, I, Imm3, Imm4 unsigned Imm = MI.getOperand(1).getImm(); unsigned Op = (Imm >> 12) & 1; - Binary |= (Op << 5); unsigned Cmode = (Imm >> 8) & 0xf; - Binary |= (Cmode << 8); unsigned I = (Imm >> 7) & 1; - Binary |= (I << 24); unsigned Imm3 = (Imm >> 4) & 0x7; - Binary |= (Imm3 << 16); unsigned Imm4 = Imm & 0xf; - Binary |= Imm4; + Binary |= (I << 24) | (Imm3 << 16) | (Cmode << 8) | (Op << 5) | Imm4; if (Subtarget->isThumb()) Binary = convertNEONDataProcToThumb(Binary); emitWordLE(Binary);