summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/WebAssembly/WebAssemblyInstrFloat.td
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/lib/Target/WebAssembly/WebAssemblyInstrFloat.td')
-rw-r--r--llvm/lib/Target/WebAssembly/WebAssemblyInstrFloat.td6
1 files changed, 6 insertions, 0 deletions
diff --git a/llvm/lib/Target/WebAssembly/WebAssemblyInstrFloat.td b/llvm/lib/Target/WebAssembly/WebAssemblyInstrFloat.td
index 0d819581621..d966380e6b0 100644
--- a/llvm/lib/Target/WebAssembly/WebAssemblyInstrFloat.td
+++ b/llvm/lib/Target/WebAssembly/WebAssemblyInstrFloat.td
@@ -14,8 +14,10 @@
let Defs = [ARGUMENTS] in {
+let isCommutable = 1 in
defm ADD : BinaryFP<fadd, "add ">;
defm SUB : BinaryFP<fsub, "sub ">;
+let isCommutable = 1 in
defm MUL : BinaryFP<fmul, "mul ">;
defm DIV : BinaryFP<fdiv, "div ">;
defm SQRT : UnaryFP<fsqrt, "sqrt">;
@@ -24,8 +26,10 @@ defm ABS : UnaryFP<fabs, "abs ">;
defm NEG : UnaryFP<fneg, "neg ">;
defm COPYSIGN : BinaryFP<fcopysign, "copysign">;
+let isCommutable = 1 in {
defm MIN : BinaryFP<fminnan, "min ">;
defm MAX : BinaryFP<fmaxnan, "max ">;
+} // isCommutable = 1
defm CEIL : UnaryFP<fceil, "ceil">;
defm FLOOR : UnaryFP<ffloor, "floor">;
@@ -40,8 +44,10 @@ def : Pat<(frint f64:$src), (NEAREST_F64 f64:$src)>;
let Defs = [ARGUMENTS] in {
+let isCommutable = 1 in {
defm EQ : ComparisonFP<SETOEQ, "eq ">;
defm NE : ComparisonFP<SETUNE, "ne ">;
+} // isCommutable = 1
defm LT : ComparisonFP<SETOLT, "lt ">;
defm LE : ComparisonFP<SETOLE, "le ">;
defm GT : ComparisonFP<SETOGT, "gt ">;
OpenPOWER on IntegriCloud