Index: include/clang/Basic/TargetInfo.h =================================================================== --- include/clang/Basic/TargetInfo.h +++ include/clang/Basic/TargetInfo.h @@ -72,7 +72,7 @@ unsigned char LargeArrayMinWidth, LargeArrayAlign; unsigned char LongWidth, LongAlign; unsigned char LongLongWidth, LongLongAlign; - unsigned char SuitableAlign; + unsigned short SuitableAlign; unsigned char DefaultAlignForAttributeAligned; unsigned char MinGlobalAlign; unsigned char MaxAtomicPromoteWidth, MaxAtomicInlineWidth; Index: lib/Basic/Targets/X86.cpp =================================================================== --- lib/Basic/Targets/X86.cpp +++ lib/Basic/Targets/X86.cpp @@ -747,7 +747,7 @@ return false; } - SimdDefaultAlign = + SuitableAlign = SimdDefaultAlign = hasFeature("avx512f") ? 512 : hasFeature("avx") ? 256 : 128; return true; } Index: test/CodeGen/builtins-alloca.c =================================================================== --- /dev/null +++ test/CodeGen/builtins-alloca.c @@ -0,0 +1,15 @@ +// RUN: %clang_cc1 -triple x86_64-unknown-unknown -emit-llvm -o - %s | \ +// RUN: FileCheck %s -check-prefix=CHECK_X86_64 +// RUN: %clang_cc1 -triple x86_64-unknown-unknown -emit-llvm -o - %s -target-feature +avx | \ +// RUN: FileCheck %s -check-prefix=CHECK_X86_64_AVX +// RUN: %clang_cc1 -triple x86_64-unknown-unknown -emit-llvm -o - %s -target-feature +avx512f | \ +// RUN: FileCheck %s -check-prefix=CHECK_X86_64_AVX512 + + +char *c1; +// CHECK_X86_64: %1 = alloca i8, i64 1, align 16 +// CHECK_X86_64_AVX: %1 = alloca i8, i64 1, align 32 +// CHECK_X86_64_AVX512: %1 = alloca i8, i64 1, align 64 +void f1() { + c1 = __builtin_alloca(1); +}