summaryrefslogtreecommitdiffstats
path: root/llvm/test/CodeGen/Mips/llvm-ir/udiv.ll
diff options
context:
space:
mode:
authorVasileios Kalintiris <Vasileios.Kalintiris@imgtec.com>2015-01-26 12:33:22 +0000
committerVasileios Kalintiris <Vasileios.Kalintiris@imgtec.com>2015-01-26 12:33:22 +0000
commitef96a8ecd6308cc31e43515c2ce0bae6ffbdbbc6 (patch)
tree8690f9c5f08e73ef25a3bc3d7e4ec148cb077997 /llvm/test/CodeGen/Mips/llvm-ir/udiv.ll
parentdceac987bd219730f99b477f7d730486ad39d683 (diff)
downloadbcm5719-llvm-ef96a8ecd6308cc31e43515c2ce0bae6ffbdbbc6.tar.gz
bcm5719-llvm-ef96a8ecd6308cc31e43515c2ce0bae6ffbdbbc6.zip
[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 llvm-svn: 227089
Diffstat (limited to 'llvm/test/CodeGen/Mips/llvm-ir/udiv.ll')
-rw-r--r--llvm/test/CodeGen/Mips/llvm-ir/udiv.ll13
1 files changed, 13 insertions, 0 deletions
diff --git a/llvm/test/CodeGen/Mips/llvm-ir/udiv.ll b/llvm/test/CodeGen/Mips/llvm-ir/udiv.ll
index 16034247216..1f7aa0d5f4c 100644
--- a/llvm/test/CodeGen/Mips/llvm-ir/udiv.ll
+++ b/llvm/test/CodeGen/Mips/llvm-ir/udiv.ll
@@ -93,3 +93,16 @@ entry:
%r = udiv i64 %a, %b
ret i64 %r
}
+
+define signext i128 @udiv_i128(i128 signext %a, i128 signext %b) {
+entry:
+; ALL-LABEL: udiv_i128:
+
+ ; GP32: lw $25, %call16(__udivti3)($gp)
+
+ ; GP64-NOT-R6: ld $25, %call16(__udivti3)($gp)
+ ; 64-R6: ld $25, %call16(__udivti3)($gp)
+
+ %r = udiv i128 %a, %b
+ ret i128 %r
+}
OpenPOWER on IntegriCloud