On MS-style, the following snippet:
int eax;
__asm mov eax, ebx
should yield loading of ebx, into the location pointed by the variable eax
This patch sees to it.
Currently, a reg-to-reg move would have been invoked.
llvm: D34739
Differential Revision: https://reviews.llvm.org/D34740
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@308867
91177308-0d34-0410-b5e6-
96231b3b80d8
--- /dev/null
+// REQUIRES: x86-registered-target
+// RUN: %clang_cc1 %s -triple i386-apple-darwin10 -fasm-blocks -emit-llvm -o - | FileCheck %s
+
+void t() {
+ int eax;
+ int Ecx;
+ __asm mov eax, ebx
+ // CHECK: mov $0, ebx
+ __asm add ecx, Ecx
+ // CHECK: add ecx, $1
+}
+