aboutsummaryrefslogtreecommitdiffstats
path: root/lib/Target/ARM/ARMInstrVFP.td
diff options
context:
space:
mode:
authorJim Grosbach <grosbach@apple.com>2011-10-03 23:38:36 +0000
committerJim Grosbach <grosbach@apple.com>2011-10-03 23:38:36 +0000
commit9d39036f62674606565217a10db28171b9594bc7 (patch)
tree0838a0ef005b9ec40b38b8200dff725c1d4c4fd8 /lib/Target/ARM/ARMInstrVFP.td
parent2a3f19d7e3f77d4d2f8e2b030d6ec1fa11b2abea (diff)
downloadexternal_llvm-9d39036f62674606565217a10db28171b9594bc7.zip
external_llvm-9d39036f62674606565217a10db28171b9594bc7.tar.gz
external_llvm-9d39036f62674606565217a10db28171b9594bc7.tar.bz2
ARM assembly parsing and encoding for VMOV immediate.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@141046 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/ARM/ARMInstrVFP.td')
-rw-r--r--lib/Target/ARM/ARMInstrVFP.td8
1 files changed, 8 insertions, 0 deletions
diff --git a/lib/Target/ARM/ARMInstrVFP.td b/lib/Target/ARM/ARMInstrVFP.td
index 7115db5..e746cf2 100644
--- a/lib/Target/ARM/ARMInstrVFP.td
+++ b/lib/Target/ARM/ARMInstrVFP.td
@@ -31,6 +31,12 @@ def arm_fmdrr : SDNode<"ARMISD::VMOVDRR", SDT_VMOVDRR>;
// Operand Definitions.
//
+// 8-bit floating-point immediate encodings.
+def FPImmOperand : AsmOperandClass {
+ let Name = "FPImm";
+ let ParserMethod = "parseFPImm";
+}
+
def vfp_f32imm : Operand<f32>,
PatLeaf<(f32 fpimm), [{
return ARM_AM::getFP32Imm(N->getValueAPF()) != -1;
@@ -40,6 +46,7 @@ def vfp_f32imm : Operand<f32>,
return CurDAG->getTargetConstant(enc, MVT::i32);
}]>> {
let PrintMethod = "printFPImmOperand";
+ let ParserMatchClass = FPImmOperand;
}
def vfp_f64imm : Operand<f64>,
@@ -51,6 +58,7 @@ def vfp_f64imm : Operand<f64>,
return CurDAG->getTargetConstant(enc, MVT::i32);
}]>> {
let PrintMethod = "printFPImmOperand";
+ let ParserMatchClass = FPImmOperand;
}