blob: 8c3e5f7c569b436a96364ba5d56e7cbe6b12cdf2 [file] [log] [blame]
Chad Rosier48a05b92012-08-08 21:15:52 +00001// RUN: %clang_cc1 %s -triple x86_64-apple-darwin10 -O0 -fms-extensions -fenable-experimental-ms-inline-asm -w -emit-llvm -o - | FileCheck %s
Chad Rosierb64f3102012-08-08 20:37:31 +00002
3void t1() {
4// CHECK: @t1
Chad Rosier74896e02012-08-10 00:00:34 +00005// CHECK: call void asm sideeffect "", "~{dirflag},~{fpsr},~{flags}"() nounwind ia_nsdialect
Chad Rosierb64f3102012-08-08 20:37:31 +00006// CHECK: ret void
7 __asm {}
8}
Chad Rosier265f5382012-08-13 20:32:07 +00009
10void t2() {
11// CHECK: @t2
12// CHECK: call void asm sideeffect "nop\0Anop\0Anop", "~{dirflag},~{fpsr},~{flags}"() nounwind ia_nsdialect
13// CHECK: ret void
14 __asm nop
15 __asm nop
16 __asm nop
17}
18
19void t3() {
20// CHECK: @t3
21// CHECK: call void asm sideeffect "nop\0Anop\0Anop", "~{dirflag},~{fpsr},~{flags}"() nounwind ia_nsdialect
22// CHECK: ret void
23 __asm nop __asm nop __asm nop
24}
25
26void t4(void) {
27// CHECK: @t4
28// CHECK: call void asm sideeffect "mov ebx, eax\0Amov ecx, ebx", "~{dirflag},~{fpsr},~{flags}"() nounwind ia_nsdialect
29// CHECK: ret void
30 __asm mov ebx, eax
31 __asm mov ecx, ebx
32}
33
34void t5(void) {
35// CHECK: @t5
36// CHECK: call void asm sideeffect "mov ebx, eax\0Amov ecx, ebx", "~{dirflag},~{fpsr},~{flags}"() nounwind ia_nsdialect
37// CHECK: ret void
38 __asm mov ebx, eax __asm mov ecx, ebx
39}
40