Run DCE after a LoopFlatten test to reduce spurious output [nfc]
[llvm-project.git] / clang / test / CodeGen / inline-asm-mixed-style.c
blob97410f028ab5e0323cbe8f036d254e36bb3380e0
1 // RUN: %clang_cc1 -ffreestanding -triple i386-unknown-unknown -fasm-blocks -O0 -emit-llvm -S %s -o - | FileCheck %s
2 // RUN: %clang_cc1 -ffreestanding -triple x86_64-unknown-unknown -fasm-blocks -O0 -emit-llvm -S %s -o - | FileCheck %s
3 // REQUIRES: x86-registered-target
5 #include <immintrin.h>
7 void f(void) {
8 __asm mov eax, ebx
9 __asm mov ebx, ecx
10 __asm__("movl %ecx, %edx");
11 // CHECK: movl %ebx, %eax
12 // CHECK: movl %ecx, %ebx
13 // CHECK: movl %ecx, %edx
15 __asm mov eax, ebx
16 __asm volatile ("movl %ecx, %edx");
17 // CHECK: movl %ebx, %eax
18 // CHECK: movl %ecx, %edx
20 __asm volatile goto ("movl %ecx, %edx");
21 // CHECK: movl %ecx, %edx
23 __asm mov eax, ebx
24 __asm goto ("movl %ecx, %edx");
25 // CHECK: movl %ebx, %eax
26 // CHECK: movl %ecx, %edx