1 // RUN: %clang_cc1 -triple i386-unknown-unknown -fasm-blocks -O0 -emit-llvm -S %s -o - | FileCheck %s
2 // REQUIRES: x86-registered-target
3 
4 void f() {
5   __asm mov eax, ebx
6   __asm mov ebx, ecx
7   __asm__("movl %ecx, %edx");
8   // CHECK: movl    %ebx, %eax
9   // CHECK: movl    %ecx, %ebx
10   // CHECK: movl    %ecx, %edx
11 
12   __asm mov eax, ebx
13   __asm volatile ("movl %ecx, %edx");
14   // CHECK: movl    %ebx, %eax
15   // CHECK: movl    %ecx, %edx
16 
17   __asm volatile goto ("movl %ecx, %edx");
18   // CHECK: movl    %ecx, %edx
19 
20   __asm mov eax, ebx
21   __asm goto ("movl %ecx, %edx");
22   // CHECK: movl    %ebx, %eax
23   // CHECK: movl    %ecx, %edx
24 }
25