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
// 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