[ms-inline asm] Add more tests.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@169411 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/test/CodeGen/ms-inline-asm.c b/test/CodeGen/ms-inline-asm.c
index 7f43da8..d0e9a7b 100644
--- a/test/CodeGen/ms-inline-asm.c
+++ b/test/CodeGen/ms-inline-asm.c
@@ -200,3 +200,32 @@
 // CHECK: t20
 // CHECK: call void asm sideeffect inteldialect "mov eax, $$4", "~{eax},~{dirflag},~{fpsr},~{flags}"() nounwind
 }
+
+
+void t21() {
+  __asm {
+    __asm push ebx
+    __asm mov ebx, 0x07
+    __asm pop ebx
+  }
+// CHECK: t21
+// CHECK: call void asm sideeffect inteldialect "push ebx\0A\09mov ebx, $$0x07\0A\09pop ebx", "~{ebx},~{dirflag},~{fpsr},~{flags}"() nounwind
+}
+
+extern void t22_helper(int x);
+void t22() {
+  int x = 0;
+  __asm {
+    __asm push ebx
+    __asm mov ebx, esp
+  }
+  t22_helper(x);
+  __asm {
+    __asm mov esp, ebx
+    __asm pop ebx
+  }
+// CHECK: t22
+// CHECK: call void asm sideeffect inteldialect "push ebx\0A\09mov ebx, esp", "~{ebx},~{dirflag},~{fpsr},~{flags}"() nounwind
+// CHECK: call void @t22_helper
+// CHECK: call void asm sideeffect inteldialect "mov esp, ebx\0A\09pop ebx", "~{ebx},~{esp},~{dirflag},~{fpsr},~{flags}"() nounwind
+}