Add encoding for 'fmstat'.
authorBill Wendling <isanbard@gmail.com>
Thu, 14 Oct 2010 01:19:34 +0000 (01:19 +0000)
committerBill Wendling <isanbard@gmail.com>
Thu, 14 Oct 2010 01:19:34 +0000 (01:19 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116466 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/ARM/ARMCodeEmitter.cpp
lib/Target/ARM/ARMInstrVFP.td
test/MC/ARM/simple-fp-encoding.ll

index 9254fcd91741002a89ddefdd57b1dfedce7248fa..fa27a7531bd898d851bd8d47481b57306f9d3e07 100644 (file)
@@ -1599,10 +1599,6 @@ void ARMCodeEmitter::emitMiscInstruction(const MachineInstr &MI) {
   default:
     llvm_unreachable("ARMCodeEmitter::emitMiscInstruction");
 
-  case ARM::FMSTAT:
-    // No further encoding needed.
-    break;
-
   case ARM::FCONSTD:
   case ARM::FCONSTS: {
     // Encode Dd / Sd.
index a67e64594a346312e8d54f9f746a1889f48440cb..c7f3f85eec38023e371e1ee5208e2ac67aa03b65 100644 (file)
@@ -927,7 +927,9 @@ def FMSTAT : VFPAI<(outs), (ins), VFPMiscFrm, IIC_fpSTAT, "vmrs",
   let Inst{15-12} = 0b1111;
   let Inst{11-8}  = 0b1010;
   let Inst{7}     = 0;
+  let Inst{6-5}   = 0b00;
   let Inst{4}     = 1;
+  let Inst{3-0}   = 0b0000;
 }
 
 // FPSCR <-> GPR (for disassembly only)
index 90f81696bda58cc2f4a477826ebbbc37e625f2aa..84ccb6d005a375a15c6b248fa8438febb26fdaa2 100644 (file)
@@ -331,6 +331,8 @@ entry:
   ret float %sub
 }
 
+; FIXME: Check for fmstat instruction.
+
 define i32 @f100() nounwind readnone {
 entry:
 ; CHECK: f100