git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@254864
91177308-0d34-0410-b5e6-
96231b3b80d8
//===----------------------------------------------------------------------===//
def bb_op : Operand<OtherVT>;
//===----------------------------------------------------------------------===//
def bb_op : Operand<OtherVT>;
-def tjumptable_op : Operand<iPTR>;
//===----------------------------------------------------------------------===//
// WebAssembly Instruction Format Definitions.
//===----------------------------------------------------------------------===//
// WebAssembly Instruction Format Definitions.
(CONST_I32 tglobaladdr:$dst)>;
def : Pat<(i32 (WebAssemblywrapper texternalsym:$dst)),
(CONST_I32 texternalsym:$dst)>;
(CONST_I32 tglobaladdr:$dst)>;
def : Pat<(i32 (WebAssemblywrapper texternalsym:$dst)),
(CONST_I32 texternalsym:$dst)>;
+def : Pat<(i32 (WebAssemblywrapper tjumptable:$dst)),
+ (CONST_I32 tjumptable:$dst)>;
let Defs = [ARGUMENTS] in {
let Defs = [ARGUMENTS] in {
-def JUMP_TABLE : I<(outs I32:$dst), (ins tjumptable_op:$addr),
- [(set I32:$dst, (WebAssemblywrapper tjumptable:$addr))],
- "jump_table\t$dst, $addr">;
-
// Function signature and local variable declaration "instructions".
def PARAM : I<(outs), (ins variable_ops), [], ".param \t">;
def RESULT : I<(outs), (ins variable_ops), [], ".result \t">;
// Function signature and local variable declaration "instructions".
def PARAM : I<(outs), (ins variable_ops), [], ".param \t">;
def RESULT : I<(outs), (ins variable_ops), [], ".result \t">;