blob: f3ed49dcd5d68d99356fbdf66bf07b927d26475b [file] [log] [blame]
Nico Weber379a1952016-05-16 18:14:07 +00001// RUN: %clang_cc1 -ffreestanding -fms-extensions -fms-compatibility -fms-compatibility-version=17.00 -target-feature +sse \
Michael Kupersteind7b93922015-08-06 08:24:38 +00002// RUN: -triple i686--windows -emit-llvm %s -o - \
Mandeep Singh Grangbe2ad8f2016-10-24 18:53:43 +00003// RUN: | FileCheck %s
Michael Kupersteind7b93922015-08-06 08:24:38 +00004
Hans Wennborgf8b91f82016-06-14 20:14:24 +00005// intrin.h needs size_t, but -ffreestanding prevents us from getting it from
Michael Kupersteind7b93922015-08-06 08:24:38 +00006// stddef.h. Work around it with this typedef.
7typedef __SIZE_TYPE__ size_t;
Hans Wennborgf8b91f82016-06-14 20:14:24 +00008#include <intrin.h>
Michael Kupersteind7b93922015-08-06 08:24:38 +00009
10void capture_ptr(int* i);
11void test_mm_align16(int p) {
12 _MM_ALIGN16 int i;
13 capture_ptr(&i);
14}
15
16// CHECK: alloca i32, align 16