diff options
Diffstat (limited to 'llvm/lib/Target/WebAssembly/WebAssemblyInstrFormats.td')
-rw-r--r-- | llvm/lib/Target/WebAssembly/WebAssemblyInstrFormats.td | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/llvm/lib/Target/WebAssembly/WebAssemblyInstrFormats.td b/llvm/lib/Target/WebAssembly/WebAssemblyInstrFormats.td index 513c36fa2ec..f4d16d39e64 100644 --- a/llvm/lib/Target/WebAssembly/WebAssemblyInstrFormats.td +++ b/llvm/lib/Target/WebAssembly/WebAssemblyInstrFormats.td @@ -53,3 +53,15 @@ multiclass BinaryFP<SDNode node> { def _F64 : I<(outs Float64:$dst), (ins Float64:$lhs, Float64:$rhs), [(set Float64:$dst, (node Float64:$lhs, Float64:$rhs))]>; } +multiclass ComparisonInt<CondCode cond> { + def _I32 : I<(outs Int32:$dst), (ins Int32:$lhs, Int32:$rhs), + [(set Int32:$dst, (setcc Int32:$lhs, Int32:$rhs, cond))]>; + def _I64 : I<(outs Int32:$dst), (ins Int64:$lhs, Int64:$rhs), + [(set Int32:$dst, (setcc Int64:$lhs, Int64:$rhs, cond))]>; +} +multiclass ComparisonFP<CondCode cond> { + def _F32 : I<(outs Int32:$dst), (ins Float32:$lhs, Float32:$rhs), + [(set Int32:$dst, (setcc Float32:$lhs, Float32:$rhs, cond))]>; + def _F64 : I<(outs Int32:$dst), (ins Float64:$lhs, Float64:$rhs), + [(set Int32:$dst, (setcc Float64:$lhs, Float64:$rhs, cond))]>; +} |