]> granicus.if.org Git - clang/commitdiff
[inline asm] dot operator while using imm generates wrong ir + asm - clang part
authorMarina Yatsina <marina.yatsina@intel.com>
Mon, 26 Jun 2017 16:09:55 +0000 (16:09 +0000)
committerMarina Yatsina <marina.yatsina@intel.com>
Mon, 26 Jun 2017 16:09:55 +0000 (16:09 +0000)
Inline asm dot operator while using imm generates wrong ir and asm
This is the test for the llvm changes committed in revision 306300

This also fixes bugzilla 32987:
https://bugs.llvm.org//show_bug.cgi?id=32987

The llvm part of the review that contains the test can be found here:
https://reviews.llvm.org/D33039

commit on behald of zizhar

Differential Revision:
https://reviews.llvm.org/D33040

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@306301 91177308-0d34-0410-b5e6-96231b3b80d8

test/CodeGen/ms-inline-asm.c

index 5182d7f2e81ac6102a611bfcff7946d109227f2d..d26a660c9b0a659c168ccab75620e7a90eb050e3 100644 (file)
@@ -627,6 +627,12 @@ void t43() {
 // CHECK: call void asm sideeffect inteldialect "mov eax, $0", "*m,~{eax},~{dirflag},~{fpsr},~{flags}"(i32* %{{.*}})
 }
 
+void dot_operator(){
+// CHECK-LABEL: define void @dot_operator
+       __asm { mov eax, 3[ebx]A.b}
+// CHECK: call void asm sideeffect inteldialect "mov eax, $$3[ebx].4", "~{eax},~{dirflag},~{fpsr},~{flags}"
+}
+
 void call_clobber() {
   __asm call t41
   // CHECK-LABEL: define void @call_clobber