xref: /aosp_15_r20/external/llvm/test/CodeGen/NVPTX/nvcl-param-align.ll (revision 9880d6810fe72a1726cb53787c6711e909410d58)
1*9880d681SAndroid Build Coastguard Worker; RUN: llc < %s -march=nvptx -mcpu=sm_20 | FileCheck %s
2*9880d681SAndroid Build Coastguard Worker
3*9880d681SAndroid Build Coastguard Workertarget triple = "nvptx-unknown-nvcl"
4*9880d681SAndroid Build Coastguard Worker
5*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: .entry foo(
6*9880d681SAndroid Build Coastguard Workerdefine void @foo(i64 %img, i64 %sampler, <5 x float>* %v) {
7*9880d681SAndroid Build Coastguard Worker; The parameter alignment should be the next power of 2 of 5xsizeof(float),
8*9880d681SAndroid Build Coastguard Worker; which is 32.
9*9880d681SAndroid Build Coastguard Worker; CHECK: .param .u32 .ptr .align 32 foo_param_2
10*9880d681SAndroid Build Coastguard Worker  ret void
11*9880d681SAndroid Build Coastguard Worker}
12*9880d681SAndroid Build Coastguard Worker
13*9880d681SAndroid Build Coastguard Worker!nvvm.annotations = !{!1, !2, !3}
14*9880d681SAndroid Build Coastguard Worker!1 = !{void (i64, i64, <5 x float>*)* @foo, !"kernel", i32 1}
15*9880d681SAndroid Build Coastguard Worker!2 = !{void (i64, i64, <5 x float>*)* @foo, !"rdoimage", i32 0}
16*9880d681SAndroid Build Coastguard Worker!3 = !{void (i64, i64, <5 x float>*)* @foo, !"sampler", i32 1}
17