[PATCH] [mips] Enable arithmetic and binary operations for the i128 data type.

Daniel Sanders daniel.sanders at imgtec.com
Sat Jan 24 05:49:58 PST 2015


LGTM with the comment. As with the other patch, please try to annotate the redundant instructions with FIXME's but there's quite a few so I'm not going to require that.

I was reminded last night that I hadn't committed the add/sub portion I did a few weeks back. I committed it today as r227003. Feel free to revert it if the conflict is awkward since your patch makes the same change and fixes all the other operations too.


================
Comment at: lib/Target/Mips/MipsSEISelDAGToDAG.cpp:251-256
@@ +250,8 @@
+
+  if (Subtarget->isGP64bit()) {
+    Carry = CurDAG->getMachineNode(Mips::SUBREG_TO_REG, DL, VT,
+                                   CurDAG->getTargetConstant(0, VT),
+                                   SDValue(Carry, 0),
+                                   CurDAG->getTargetConstant(Mips::sub_32, VT));
+  }
+
----------------
Please add a comment about this. I believe you are working around the fact that we currently use i32 for conditions on MIPS64 but we should probably be using i64.

http://reviews.llvm.org/D7143

EMAIL PREFERENCES
  http://reviews.llvm.org/settings/panel/emailpreferences/






More information about the llvm-commits mailing list