Revert r159938 (and r159945) to appease the buildbots.
authorChad Rosier <mcrosier@apple.com>
Mon, 9 Jul 2012 20:43:34 +0000 (20:43 +0000)
committerChad Rosier <mcrosier@apple.com>
Mon, 9 Jul 2012 20:43:34 +0000 (20:43 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@159960 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/ARM/ARMInstrVFP.td
lib/Target/ARM/Disassembler/ARMDisassembler.cpp
test/MC/ARM/simple-fp-encoding.s

index 23c132e4f6a894020d0f3b59c15036c86c434e72..4e2cda433bab2927fc51862252d5372df6a73fe1 100644 (file)
@@ -567,8 +567,8 @@ def VMOVRRS  : AVConv3I<0b11000101, 0b1010,
   bits<4> Rt2;
 
   // Encode instruction operands.
-  let Inst{3-0}   = src1{4-1};
-  let Inst{5}     = src1{0};
+  let Inst{3-0}   = src1{3-0};
+  let Inst{5}     = src1{4};
   let Inst{15-12} = Rt;
   let Inst{19-16} = Rt2;
 
@@ -617,8 +617,8 @@ def VMOVSRR : AVConv5I<0b11000100, 0b1010,
   bits<4> src2;
 
   // Encode instruction operands.
-  let Inst{3-0}   = dst1{4-1};
-  let Inst{5}     = dst1{0};
+  let Inst{3-0}   = dst1{3-0};
+  let Inst{5}     = dst1{4};
   let Inst{15-12} = src1;
   let Inst{19-16} = src2;
 
index c42edd539528d5000196e5e28654cb3dc31200b0..66ea1171ff9e979386c9d6a1595156c71466e526 100644 (file)
@@ -4198,9 +4198,9 @@ static DecodeStatus DecodeVMOVSRR(MCInst &Inst, unsigned Insn,
   DecodeStatus S = MCDisassembler::Success;
   unsigned Rt  = fieldFromInstruction32(Insn, 12, 4);
   unsigned Rt2 = fieldFromInstruction32(Insn, 16, 4);
-  unsigned Rm  = fieldFromInstruction32(Insn,  5, 1);
+  unsigned Rm  = fieldFromInstruction32(Insn,  0, 4);
   unsigned pred = fieldFromInstruction32(Insn, 28, 4);
-  Rm |= fieldFromInstruction32(Insn, 0, 4) << 4;
+  Rm |= fieldFromInstruction32(Insn, 5, 1) << 4;
 
   if (Rt == 0xF || Rt2 == 0xF || Rm == 0x1F)
     S = MCDisassembler::SoftFail;
@@ -4224,9 +4224,9 @@ static DecodeStatus DecodeVMOVRRS(MCInst &Inst, unsigned Insn,
   DecodeStatus S = MCDisassembler::Success;
   unsigned Rt  = fieldFromInstruction32(Insn, 12, 4);
   unsigned Rt2 = fieldFromInstruction32(Insn, 16, 4);
-  unsigned Rm  = fieldFromInstruction32(Insn,  5, 1);
+  unsigned Rm  = fieldFromInstruction32(Insn,  0, 4);
   unsigned pred = fieldFromInstruction32(Insn, 28, 4);
-  Rm |= fieldFromInstruction32(Insn, 0, 4) << 1;
+  Rm |= fieldFromInstruction32(Insn, 5, 1) << 4;
 
   if (Rt == 0xF || Rt2 == 0xF || Rm == 0x1F)
     S = MCDisassembler::SoftFail;
index 2a226205a086d27387ee1c27fe21baeaf941239f..a766b9539a75087c51c0bac81e259701847e5cc1 100644 (file)
 @ CHECK: vmov r0, r1, d16            @ encoding: [0x30,0x0b,0x51,0xec]
         vmov    r0, r1, d16
 
-@ Between two single precision registers and two core registers
-        vmov s3, s4, r1, r2
-        vmov s2, s3, r1, r2
-        vmov r1, r2, s3, s4
-        vmov r1, r2, s2, s3
-@ CHECK: vmov s3, s4, r1, r2      @ encoding: [0x31,0x1a,0x42,0xec]
-@ CHECK: vmov s2, s3, r1, r2      @ encoding: [0x11,0x1a,0x42,0xec]
-@ CHECK: vmov r1, r2, s3, s4      @ encoding: [0x31,0x1a,0x52,0xec]
-@ CHECK: vmov r1, r2, s2, s3      @ encoding: [0x11,0x1a,0x52,0xec]
-
-@ Between one double precision register and two core registers
-        vmov d15, r1, r2 
-        vmov d16, r1, r2
-        vmov r1, r2, d15
-        vmov r1, r2, d16
-@ CHECK: vmov d15, r1, r2         @ encoding: [0x1f,0x1b,0x42,0xec]
-@ CHECK: vmov d16, r1, r2         @ encoding: [0x30,0x1b,0x42,0xec]
-@ CHECK: vmov r1, r2, d15         @ encoding: [0x1f,0x1b,0x52,0xec]
-@ CHECK: vmov r1, r2, d16         @ encoding: [0x30,0x1b,0x52,0xec]
-
-
 @ CHECK: vldr d17, [r0]           @ encoding: [0x00,0x1b,0xd0,0xed]
 @ CHECK: vldr s0, [lr]            @ encoding: [0x00,0x0a,0x9e,0xed]
 @ CHECK: vldr d0, [lr]            @ encoding: [0x00,0x0b,0x9e,0xed]