diff options
| author | Vasileios Kalintiris <Vasileios.Kalintiris@imgtec.com> | 2015-01-26 12:33:22 +0000 |
|---|---|---|
| committer | Vasileios Kalintiris <Vasileios.Kalintiris@imgtec.com> | 2015-01-26 12:33:22 +0000 |
| commit | ef96a8ecd6308cc31e43515c2ce0bae6ffbdbbc6 (patch) | |
| tree | 8690f9c5f08e73ef25a3bc3d7e4ec148cb077997 /llvm/test/CodeGen/Mips/llvm-ir/udiv.ll | |
| parent | dceac987bd219730f99b477f7d730486ad39d683 (diff) | |
| download | bcm5719-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.ll | 13 |
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 +} |

