For example
asm ("memw(%0++%1) = %2" : : "r"(addr),"a"(mod),"r"(val) : "memory")
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@308763
91177308-0d34-0410-b5e6-
96231b3b80d8
return true;
}
break;
+ case 'a': // Modifier register m0-m1.
+ Info.setAllowsRegister();
+ return true;
case 's':
// Relocatable constant.
return true;
asm ("%0 = memw(##%1)" : "=r"(r) : "s"(&g));
// CHECK: call i32 asm "$0 = memw(##$1)", "=r,s"(i32* @g)
}
+
+void fred(unsigned *p, unsigned m, unsigned v) {
+ asm ("memw(%0++%1) = %2" : : "r"(p),"a"(m),"r"(v) : "memory");
+// CHECK: call void asm sideeffect "memw($0++$1) = $2", "r,a,r,~{memory}"(i32* %0, i32 %1, i32 %2)
+}
+