summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorJustin Holewinski <justin.holewinski@gmail.com>2012-11-09 23:50:24 +0000
committerJustin Holewinski <justin.holewinski@gmail.com>2012-11-09 23:50:24 +0000
commit89443ff7ae81e6a439b5b67e5dd587a450090599 (patch)
tree94e043f5f2634de56d26efc51faa722e5272b79e /test
parentf1adbfe4e23ce08d1afa1245f2515e863813a6ac (diff)
downloadllvm-89443ff7ae81e6a439b5b67e5dd587a450090599.tar.gz
llvm-89443ff7ae81e6a439b5b67e5dd587a450090599.tar.bz2
llvm-89443ff7ae81e6a439b5b67e5dd587a450090599.tar.xz
[NVPTX] Use ABI alignment for parameters when alignment is not specified.
Affects SM 2.0+. Fixes bug 13324. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@167646 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test')
-rw-r--r--test/CodeGen/NVPTX/param-align.ll25
1 files changed, 25 insertions, 0 deletions
diff --git a/test/CodeGen/NVPTX/param-align.ll b/test/CodeGen/NVPTX/param-align.ll
new file mode 100644
index 0000000000..84ccb650d4
--- /dev/null
+++ b/test/CodeGen/NVPTX/param-align.ll
@@ -0,0 +1,25 @@
+; RUN: llc < %s -march=nvptx -mcpu=sm_20 | FileCheck %s
+
+;;; Need 4-byte alignment on float* passed byval
+define ptx_device void @t1(float* byval %x) {
+; CHECK: .func t1
+; CHECK: .param .align 4 .b8 t1_param_0[4]
+ ret void
+}
+
+
+;;; Need 8-byte alignment on double* passed byval
+define ptx_device void @t2(double* byval %x) {
+; CHECK: .func t2
+; CHECK: .param .align 8 .b8 t2_param_0[8]
+ ret void
+}
+
+
+;;; Need 4-byte alignment on float2* passed byval
+%struct.float2 = type { float, float }
+define ptx_device void @t3(%struct.float2* byval %x) {
+; CHECK: .func t3
+; CHECK: .param .align 4 .b8 t3_param_0[8]
+ ret void
+}