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 | |
4 | void t1() { |
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 | |
14 | void t2() { |
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 | |
23 | void ignore_fe_size() { |
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 | |