summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/RISCV/RISCVSubtarget.h
diff options
context:
space:
mode:
authorAlex Bradbury <asb@lowrisc.org>2017-12-07 10:26:05 +0000
committerAlex Bradbury <asb@lowrisc.org>2017-12-07 10:26:05 +0000
commit0d6cf90663e6662e9b7b6045d56755679c1ffdc9 (patch)
treebb2afe7a44942e06378623f5603275e9355d38be /llvm/lib/Target/RISCV/RISCVSubtarget.h
parent293da70b831f635be52ccf7fc79fb4c483623046 (diff)
downloadbcm5719-llvm-0d6cf90663e6662e9b7b6045d56755679c1ffdc9.tar.gz
bcm5719-llvm-0d6cf90663e6662e9b7b6045d56755679c1ffdc9.zip
[RISCV] MC layer support for the standard RV32F instruction set extension
The most interesting part of this patch is probably the handling of rounding mode arguments. Sadly, the RISC-V assembler handles floating point rounding modes as a special "argument" when it would be more consistent to handle them like the atomics, opcode suffixes. This patch supports parsing this optional parameter, using InstAlias to allow parsing these floating point instructions when no rounding mode is specified. Differential Revision: https://reviews.llvm.org/D39893 llvm-svn: 320020
Diffstat (limited to 'llvm/lib/Target/RISCV/RISCVSubtarget.h')
-rw-r--r--llvm/lib/Target/RISCV/RISCVSubtarget.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/llvm/lib/Target/RISCV/RISCVSubtarget.h b/llvm/lib/Target/RISCV/RISCVSubtarget.h
index 7080ce58efa..82edef65e11 100644
--- a/llvm/lib/Target/RISCV/RISCVSubtarget.h
+++ b/llvm/lib/Target/RISCV/RISCVSubtarget.h
@@ -32,6 +32,7 @@ class RISCVSubtarget : public RISCVGenSubtargetInfo {
virtual void anchor();
bool HasStdExtM = false;
bool HasStdExtA = false;
+ bool HasStdExtF = false;
bool HasRV64 = false;
unsigned XLen = 32;
MVT XLenVT = MVT::i32;
@@ -70,6 +71,7 @@ public:
}
bool hasStdExtM() const { return HasStdExtM; }
bool hasStdExtA() const { return HasStdExtA; }
+ bool hasStdExtF() const { return HasStdExtF; }
bool is64Bit() const { return HasRV64; }
MVT getXLenVT() const { return XLenVT; }
unsigned getXLen() const { return XLen; }
OpenPOWER on IntegriCloud