aboutsummaryrefslogtreecommitdiffstats
path: root/test/CodeGen/SPARC
diff options
context:
space:
mode:
authorVenkatraman Govindaraju <venkatra@cs.wisc.edu>2013-10-05 02:29:47 +0000
committerVenkatraman Govindaraju <venkatra@cs.wisc.edu>2013-10-05 02:29:47 +0000
commita8147756d681f100e58e88aae842aebf4f51693d (patch)
tree9a7c9c0c8bac4fcd34f2827a3512cec774c6526a /test/CodeGen/SPARC
parentb64c573649d53bdd89699de9bc57ba48f9dd2f1b (diff)
downloadexternal_llvm-a8147756d681f100e58e88aae842aebf4f51693d.zip
external_llvm-a8147756d681f100e58e88aae842aebf4f51693d.tar.gz
external_llvm-a8147756d681f100e58e88aae842aebf4f51693d.tar.bz2
[Sparc] Use correct alignment while loading/storing fp128 values.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@192023 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/CodeGen/SPARC')
-rw-r--r--test/CodeGen/SPARC/fp128.ll21
1 files changed, 21 insertions, 0 deletions
diff --git a/test/CodeGen/SPARC/fp128.ll b/test/CodeGen/SPARC/fp128.ll
index 2406af7..789e074 100644
--- a/test/CodeGen/SPARC/fp128.ll
+++ b/test/CodeGen/SPARC/fp128.ll
@@ -126,3 +126,24 @@ entry:
store fp128 %0, fp128* %scalar.result, align 8
ret void
}
+
+; HARD-LABEL: fp128_unaligned
+; HARD: ldub
+; HARD: faddq
+; HARD: stb
+; HARD: jmp
+
+; SOFT-LABEL: fp128_unaligned
+; SOFT: ldub
+; SOFT: call _Q_add
+; SOFT: stb
+; SOFT: jmp
+
+define void @fp128_unaligned(fp128* %a, fp128* %b, fp128* %c) {
+entry:
+ %0 = load fp128* %a, align 1
+ %1 = load fp128* %b, align 1
+ %2 = fadd fp128 %0, %1
+ store fp128 %2, fp128* %c, align 1
+ ret void
+}