Files
clang-p2996/clang/test/CodeGen/aix_alloca_align.c
Xiangling Liao 05bef88eb3 [AIX] Let alloca return 16 bytes alignment
On AIX, to support vector types, which should always be 16 bytes aligned,
we set alloca to return 16 bytes aligned memory space.

Differential Revision: https://reviews.llvm.org/D89910
2020-10-23 14:41:32 -04:00

20 lines
618 B
C

// RUN: %clang_cc1 -triple=powerpc-ibm-aix-xcoff -S -emit-llvm < %s | \
// RUN: FileCheck --check-prefix=32BIT %s
// RUN: %clang_cc1 -triple=powerpc64-ibm-aix-xcoff -S -emit-llvm < %s | \
// RUN: FileCheck --check-prefix=64BIT %s
typedef __SIZE_TYPE__ size_t;
extern void *alloca(size_t __size) __attribute__((__nothrow__));
void foo() {
char *ptr1 = (char *)alloca(sizeof(char) * 9);
char *ptr2 = (char *)alloca(sizeof(char) * 32);
}
// 32BIT: %0 = alloca i8, i32 9, align 16
// 32BIT: %1 = alloca i8, i32 32, align 16
// 64BIT: %0 = alloca i8, i64 9, align 16
// 64BIT: %1 = alloca i8, i64 32, align 16