2016-05-17 02:14:07 +08:00
|
|
|
// RUN: %clang_cc1 -ffreestanding -fms-extensions -fms-compatibility -fms-compatibility-version=17.00 -target-feature +sse \
|
2015-08-06 16:24:38 +08:00
|
|
|
// RUN: -triple i686--windows -emit-llvm %s -o - \
|
2016-10-25 02:53:43 +08:00
|
|
|
// RUN: | FileCheck %s
|
2015-08-06 16:24:38 +08:00
|
|
|
|
2016-06-15 04:14:24 +08:00
|
|
|
// intrin.h needs size_t, but -ffreestanding prevents us from getting it from
|
2015-08-06 16:24:38 +08:00
|
|
|
// stddef.h. Work around it with this typedef.
|
|
|
|
typedef __SIZE_TYPE__ size_t;
|
2016-06-15 04:14:24 +08:00
|
|
|
#include <intrin.h>
|
2015-08-06 16:24:38 +08:00
|
|
|
|
|
|
|
void capture_ptr(int* i);
|
|
|
|
void test_mm_align16(int p) {
|
|
|
|
_MM_ALIGN16 int i;
|
|
|
|
capture_ptr(&i);
|
|
|
|
}
|
|
|
|
|
|
|
|
// CHECK: alloca i32, align 16
|