]> granicus.if.org Git - llvm/commit
Merging r227089:
authorDaniel Sanders <daniel.sanders@imgtec.com>
Fri, 6 Mar 2015 13:19:44 +0000 (13:19 +0000)
committerDaniel Sanders <daniel.sanders@imgtec.com>
Fri, 6 Mar 2015 13:19:44 +0000 (13:19 +0000)
commita116d74d1f37c4b70a539751e7fbeb8da2fa9476
tree5c419b3b0dc27e736d6768a5f820c1ab4ac72341
parent728686390aabba7d989128e36855f30ac9b740e7
Merging r227089:
------------------------------------------------------------------------
r227089 | vkalintiris | 2015-01-26 12:33:22 +0000 (Mon, 26 Jan 2015) | 15 lines

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

Summary:
This patch adds support for some operations that were missing from
128-bit integer types (add/sub/mul/sdiv/udiv... etc.). With these
changes we can support the __int128_t and __uint128_t data types
from C/C++.

Depends on D7125

Reviewers: dsanders

Subscribers: llvm-commits

Differential Revision: http://reviews.llvm.org/D7143
------------------------------------------------------------------------

git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_35@231471 91177308-0d34-0410-b5e6-96231b3b80d8
17 files changed:
lib/Target/Mips/Mips64InstrInfo.td
lib/Target/Mips/MipsISelLowering.cpp
lib/Target/Mips/MipsSEISelDAGToDAG.cpp
lib/Target/Mips/MipsSEISelLowering.cpp
test/CodeGen/Mips/llvm-ir/add.ll
test/CodeGen/Mips/llvm-ir/and.ll
test/CodeGen/Mips/llvm-ir/ashr.ll
test/CodeGen/Mips/llvm-ir/lshr.ll
test/CodeGen/Mips/llvm-ir/mul.ll
test/CodeGen/Mips/llvm-ir/or.ll
test/CodeGen/Mips/llvm-ir/sdiv.ll
test/CodeGen/Mips/llvm-ir/shl.ll
test/CodeGen/Mips/llvm-ir/srem.ll
test/CodeGen/Mips/llvm-ir/sub.ll
test/CodeGen/Mips/llvm-ir/udiv.ll
test/CodeGen/Mips/llvm-ir/urem.ll
test/CodeGen/Mips/llvm-ir/xor.ll