diff options
| author | Dimitry Andric <dim@FreeBSD.org> | 2019-01-19 10:01:25 +0000 |
|---|---|---|
| committer | Dimitry Andric <dim@FreeBSD.org> | 2019-01-19 10:01:25 +0000 |
| commit | d8e91e46262bc44006913e6796843909f1ac7bcd (patch) | |
| tree | 7d0c143d9b38190e0fa0180805389da22cd834c5 /lib/Target/WebAssembly/WebAssemblySubtarget.h | |
| parent | b7eb8e35e481a74962664b63dfb09483b200209a (diff) | |
Notes
Diffstat (limited to 'lib/Target/WebAssembly/WebAssemblySubtarget.h')
| -rw-r--r-- | lib/Target/WebAssembly/WebAssemblySubtarget.h | 20 |
1 files changed, 14 insertions, 6 deletions
diff --git a/lib/Target/WebAssembly/WebAssemblySubtarget.h b/lib/Target/WebAssembly/WebAssemblySubtarget.h index b170dbff3b32..0a0c04609ac4 100644 --- a/lib/Target/WebAssembly/WebAssemblySubtarget.h +++ b/lib/Target/WebAssembly/WebAssemblySubtarget.h @@ -29,11 +29,16 @@ namespace llvm { class WebAssemblySubtarget final : public WebAssemblyGenSubtargetInfo { - bool HasSIMD128; - bool HasAtomics; - bool HasNontrappingFPToInt; - bool HasSignExt; - bool HasExceptionHandling; + enum SIMDEnum { + NoSIMD, + SIMD128, + UnimplementedSIMD128, + } SIMDLevel = NoSIMD; + + bool HasAtomics = false; + bool HasNontrappingFPToInt = false; + bool HasSignExt = false; + bool HasExceptionHandling = false; /// String name of used CPU. std::string CPUString; @@ -77,7 +82,10 @@ public: // Predicates used by WebAssemblyInstrInfo.td. bool hasAddr64() const { return TargetTriple.isArch64Bit(); } - bool hasSIMD128() const { return HasSIMD128; } + bool hasSIMD128() const { return SIMDLevel >= SIMD128; } + bool hasUnimplementedSIMD128() const { + return SIMDLevel >= UnimplementedSIMD128; + } bool hasAtomics() const { return HasAtomics; } bool hasNontrappingFPToInt() const { return HasNontrappingFPToInt; } bool hasSignExt() const { return HasSignExt; } |
