xref: /llvm-project/clang/test/CodeGen/ms-inline-asm-avx512.c (revision adc402bf3d0565ac2bc7efbdd05f0d846e818041)
1 // REQUIRES: x86-registered-target
2 // RUN: %clang_cc1 %s -triple x86_64-pc-windows-msvc -target-cpu skylake-avx512 -fasm-blocks -emit-llvm -o - | FileCheck %s
3 
t1(void)4 void t1(void) {
5 // CHECK: @t1
6 // CHECK: call void asm sideeffect inteldialect "vaddpd zmm8, zmm27, zmm6", "~{zmm8},~{dirflag},~{fpsr},~{flags}"()
7 // CHECK: ret void
8   __asm {
9 	  vaddpd zmm8, zmm27, zmm6
10   }
11 }
12 
13 
t2(void)14 void t2(void) {
15 // CHECK: @t2
16 // CHECK: call void asm sideeffect inteldialect "vaddpd zmm8 {k1}, zmm27, zmm6", "~{zmm8},~{dirflag},~{fpsr},~{flags}"()
17 // CHECK: ret void
18   __asm {
19 	  vaddpd zmm8 {k1}, zmm27, zmm6
20   }
21 }
22 
ignore_fe_size(void)23 void ignore_fe_size(void) {
24   // CHECK-LABEL: define dso_local void @ignore_fe_size()
25   char c;
26   // CHECK: vaddps xmm1, xmm2, $1{1to4}
27   __asm vaddps xmm1, xmm2, [c]{1to4}
28   // CHECK: vaddps xmm1, xmm2, $2
29   __asm vaddps xmm1, xmm2, [c]
30   // CHECK: mov eax, $3
31   __asm mov eax, [c]
32   // CHECK: mov $0, rax
33   __asm mov [c], rax
34 }
35