summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/WebAssembly/InstPrinter/WebAssemblyInstPrinter.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/lib/Target/WebAssembly/InstPrinter/WebAssemblyInstPrinter.cpp')
-rw-r--r--llvm/lib/Target/WebAssembly/InstPrinter/WebAssemblyInstPrinter.cpp20
1 files changed, 20 insertions, 0 deletions
diff --git a/llvm/lib/Target/WebAssembly/InstPrinter/WebAssemblyInstPrinter.cpp b/llvm/lib/Target/WebAssembly/InstPrinter/WebAssemblyInstPrinter.cpp
index 7400e6f56fe..d7e504f5d10 100644
--- a/llvm/lib/Target/WebAssembly/InstPrinter/WebAssemblyInstPrinter.cpp
+++ b/llvm/lib/Target/WebAssembly/InstPrinter/WebAssemblyInstPrinter.cpp
@@ -195,6 +195,26 @@ WebAssemblyInstPrinter::printWebAssemblyP2AlignOperand(const MCInst *MI,
O << ":p2align=" << Imm;
}
+void
+WebAssemblyInstPrinter::printWebAssemblySignatureOperand(const MCInst *MI,
+ unsigned OpNo,
+ raw_ostream &O) {
+ int64_t Imm = MI->getOperand(OpNo).getImm();
+ switch (Imm) {
+ case WebAssembly::Void: break;
+ case WebAssembly::I32: O << "i32"; break;
+ case WebAssembly::I64: O << "i64"; break;
+ case WebAssembly::F32: O << "f32"; break;
+ case WebAssembly::F64: O << "f64"; break;
+ case WebAssembly::I8x16: O << "i8x16"; break;
+ case WebAssembly::I16x8: O << "i16x8"; break;
+ case WebAssembly::I32x4: O << "i32x4"; break;
+ case WebAssembly::I64x2: O << "i32x4"; break;
+ case WebAssembly::F32x4: O << "f32x4"; break;
+ case WebAssembly::F64x2: O << "f64x2"; break;
+ }
+}
+
const char *llvm::WebAssembly::TypeToString(MVT Ty) {
switch (Ty.SimpleTy) {
case MVT::i32:
OpenPOWER on IntegriCloud