aboutsummaryrefslogtreecommitdiffstats
path: root/test/CodeGen/X86/i256-add.ll
diff options
context:
space:
mode:
authorDan Gohman <gohman@apple.com>2008-10-07 20:39:12 +0000
committerDan Gohman <gohman@apple.com>2008-10-07 20:39:12 +0000
commit00877fc6578815da8d4c59c334b7593719faff13 (patch)
tree4ca3ffd33dbf42e0019b727e7cd3f4db07cdc63d /test/CodeGen/X86/i256-add.ll
parent95dad830bbf975cb4cea4e1ac685781a18676a7a (diff)
downloadexternal_llvm-00877fc6578815da8d4c59c334b7593719faff13.zip
external_llvm-00877fc6578815da8d4c59c334b7593719faff13.tar.gz
external_llvm-00877fc6578815da8d4c59c334b7593719faff13.tar.bz2
Add a testcase for i256 add. i256 isn't fully supported in
codegen right now, but add and subtract work. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57260 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/CodeGen/X86/i256-add.ll')
-rw-r--r--test/CodeGen/X86/i256-add.ll18
1 files changed, 18 insertions, 0 deletions
diff --git a/test/CodeGen/X86/i256-add.ll b/test/CodeGen/X86/i256-add.ll
new file mode 100644
index 0000000..280ed6b
--- /dev/null
+++ b/test/CodeGen/X86/i256-add.ll
@@ -0,0 +1,18 @@
+; RUN: llvm-as < %s | llc -march=x86 > %t
+; RUN: grep adcl %t | count 7
+; RUN: grep sbbl %t | count 7
+
+define void @add(i256* %p, i256* %q) nounwind {
+ %a = load i256* %p
+ %b = load i256* %q
+ %c = add i256 %a, %b
+ store i256 %c, i256* %p
+ ret void
+}
+define void @sub(i256* %p, i256* %q) nounwind {
+ %a = load i256* %p
+ %b = load i256* %q
+ %c = sub i256 %a, %b
+ store i256 %c, i256* %p
+ ret void
+}