| // REQUIRES: x86-registered-target | |
| // RUN: %clang_cc1 %s -triple x86_64-pc-windows-msvc -target-cpu skylake-avx512 -fasm-blocks -emit-llvm -o - | FileCheck %s | |
| void t1(void) { | |
| // CHECK: @t1 | |
| // CHECK: call void asm sideeffect inteldialect "vaddpd zmm8, zmm27, zmm6", "~{zmm8},~{dirflag},~{fpsr},~{flags}"() | |
| // CHECK: ret void | |
| __asm { | |
| vaddpd zmm8, zmm27, zmm6 | |
| } | |
| } | |
| void t2(void) { | |
| // CHECK: @t2 | |
| // CHECK: call void asm sideeffect inteldialect "vaddpd zmm8 {k1}, zmm27, zmm6", "~{zmm8},~{dirflag},~{fpsr},~{flags}"() | |
| // CHECK: ret void | |
| __asm { | |
| vaddpd zmm8 {k1}, zmm27, zmm6 | |
| } | |
| } | |
| void ignore_fe_size(void) { | |
| // CHECK-LABEL: define dso_local void @ignore_fe_size() | |
| char c; | |
| // CHECK: vaddps xmm1, xmm2, $1{1to4} | |
| __asm vaddps xmm1, xmm2, [c]{1to4} | |
| // CHECK: vaddps xmm1, xmm2, $2 | |
| __asm vaddps xmm1, xmm2, [c] | |
| // CHECK: mov eax, $3 | |
| __asm mov eax, [c] | |
| // CHECK: mov $0, rax | |
| __asm mov [c], rax | |
| } |