Add a test for PR20343 after llvm r213303.
authorNico Weber <nicolasweber@gmx.de>
Thu, 17 Jul 2014 20:25:36 +0000 (20:25 +0000)
committerNico Weber <nicolasweber@gmx.de>
Thu, 17 Jul 2014 20:25:36 +0000 (20:25 +0000)
llvm-svn: 213305

clang/test/CodeGen/ms-inline-asm.c

index 3b55b50..e08803c 100644 (file)
@@ -476,3 +476,19 @@ void t40(float a) {
   // CHECK: call void asm sideeffect inteldialect "fld dword ptr $0", "*m,~{dirflag},~{fpsr},~{flags}"(float* {{.*}})
   // CHECK: call void asm sideeffect inteldialect "fistp dword ptr $0", "=*m,~{dirflag},~{fpsr},~{flags}"(i32* {{.*}})
 }
+
+void t41(unsigned short a) {
+  __asm mov cs, a;
+  __asm mov ds, a;
+  __asm mov es, a;
+  __asm mov fs, a;
+  __asm mov gs, a;
+  __asm mov ss, a;
+  // CHECK-LABEL: define void @t41
+  // CHECK: call void asm sideeffect inteldialect "mov cs, word ptr $0", "*m,~{dirflag},~{fpsr},~{flags}"(i16* %a.addr)
+  // CHECK: call void asm sideeffect inteldialect "mov ds, word ptr $0", "*m,~{dirflag},~{fpsr},~{flags}"(i16* %a.addr)
+  // CHECK: call void asm sideeffect inteldialect "mov es, word ptr $0", "*m,~{dirflag},~{fpsr},~{flags}"(i16* %a.addr)
+  // CHECK: call void asm sideeffect inteldialect "mov fs, word ptr $0", "*m,~{dirflag},~{fpsr},~{flags}"(i16* %a.addr)
+  // CHECK: call void asm sideeffect inteldialect "mov gs, word ptr $0", "*m,~{dirflag},~{fpsr},~{flags}"(i16* %a.addr)
+  // CHECK: call void asm sideeffect inteldialect "mov ss, word ptr $0", "*m,~{dirflag},~{fpsr},~{flags}"(i16* %a.addr)
+}