Nico Weber | 379a195 | 2016-05-16 18:14:07 +0000 | [diff] [blame] | 1 | // RUN: %clang_cc1 -ffreestanding -fms-extensions -fms-compatibility -fms-compatibility-version=17.00 -target-feature +sse \ |
Michael Kuperstein | d7b9392 | 2015-08-06 08:24:38 +0000 | [diff] [blame] | 2 | // RUN: -triple i686--windows -emit-llvm %s -o - \ |
Mandeep Singh Grang | be2ad8f | 2016-10-24 18:53:43 +0000 | [diff] [blame] | 3 | // RUN: | FileCheck %s |
Michael Kuperstein | d7b9392 | 2015-08-06 08:24:38 +0000 | [diff] [blame] | 4 | |
Hans Wennborg | f8b91f8 | 2016-06-14 20:14:24 +0000 | [diff] [blame] | 5 | // intrin.h needs size_t, but -ffreestanding prevents us from getting it from |
Michael Kuperstein | d7b9392 | 2015-08-06 08:24:38 +0000 | [diff] [blame] | 6 | // stddef.h. Work around it with this typedef. |
| 7 | typedef __SIZE_TYPE__ size_t; |
Hans Wennborg | f8b91f8 | 2016-06-14 20:14:24 +0000 | [diff] [blame] | 8 | #include <intrin.h> |
Michael Kuperstein | d7b9392 | 2015-08-06 08:24:38 +0000 | [diff] [blame] | 9 | |
| 10 | void capture_ptr(int* i); |
| 11 | void test_mm_align16(int p) { |
| 12 | _MM_ALIGN16 int i; |
| 13 | capture_ptr(&i); |
| 14 | } |
| 15 | |
| 16 | // CHECK: alloca i32, align 16 |