Mercurial > projects > ldc
diff tests/mini/__asm1.d @ 1154:9279a9dc6df3
Added support for tuple return with __asmtuple!(int,int) etc.
author | Tomas Lindquist Olsen <tomas.l.olsen gmail.com> |
---|---|
date | Sat, 28 Mar 2009 08:25:58 +0100 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/mini/__asm1.d Sat Mar 28 08:25:58 2009 +0100 @@ -0,0 +1,22 @@ +import ldc.llvmasm; +void main() { + version(X86) + { + int i; + __asm("movl $1, $0", "=*m,i", &i, 42); + assert(i == 42); + + int j = __asm!(int)("movl $1, %eax", "={ax},i", 42); + assert(j == 42); + + auto k = __asmtuple!(int,int)("mov $2, %eax ; mov $3, %edx", "={ax},={dx},i,i", 10, 20); + assert(k.v[0] == 10); + assert(k.v[1] == 20); + } + else version(PPC) + { + int j = 42; + int i = __asm!(int)("li $1, $0", "=r,*m", &j); + assert(i == 42); + } +}