annotate runtime/import/ldc/llvmasm.di @ 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 4454126b4345
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1152
521dd1626d76 Added initial support for raw LLVM inline asm.
Tomas Lindquist Olsen <tomas.l.olsen gmail.com>
parents:
diff changeset
1 module ldc.llvmasm;
521dd1626d76 Added initial support for raw LLVM inline asm.
Tomas Lindquist Olsen <tomas.l.olsen gmail.com>
parents:
diff changeset
2
1154
9279a9dc6df3 Added support for tuple return with __asmtuple!(int,int) etc.
Tomas Lindquist Olsen <tomas.l.olsen gmail.com>
parents: 1153
diff changeset
3 struct __asmtuple_t(T...)
1152
521dd1626d76 Added initial support for raw LLVM inline asm.
Tomas Lindquist Olsen <tomas.l.olsen gmail.com>
parents:
diff changeset
4 {
1154
9279a9dc6df3 Added support for tuple return with __asmtuple!(int,int) etc.
Tomas Lindquist Olsen <tomas.l.olsen gmail.com>
parents: 1153
diff changeset
5 T v;
1152
521dd1626d76 Added initial support for raw LLVM inline asm.
Tomas Lindquist Olsen <tomas.l.olsen gmail.com>
parents:
diff changeset
6 }
1153
4454126b4345 Added support for single D type register return from __asm.
Tomas Lindquist Olsen <tomas.l.olsen gmail.com>
parents: 1152
diff changeset
7
4454126b4345 Added support for single D type register return from __asm.
Tomas Lindquist Olsen <tomas.l.olsen gmail.com>
parents: 1152
diff changeset
8 pragma(llvm_inline_asm)
4454126b4345 Added support for single D type register return from __asm.
Tomas Lindquist Olsen <tomas.l.olsen gmail.com>
parents: 1152
diff changeset
9 {
1154
9279a9dc6df3 Added support for tuple return with __asmtuple!(int,int) etc.
Tomas Lindquist Olsen <tomas.l.olsen gmail.com>
parents: 1153
diff changeset
10 void __asm( )(char[] asmcode, char[] constraints, ...);
9279a9dc6df3 Added support for tuple return with __asmtuple!(int,int) etc.
Tomas Lindquist Olsen <tomas.l.olsen gmail.com>
parents: 1153
diff changeset
11 T __asm(T)(char[] asmcode, char[] constraints, ...);
9279a9dc6df3 Added support for tuple return with __asmtuple!(int,int) etc.
Tomas Lindquist Olsen <tomas.l.olsen gmail.com>
parents: 1153
diff changeset
12
9279a9dc6df3 Added support for tuple return with __asmtuple!(int,int) etc.
Tomas Lindquist Olsen <tomas.l.olsen gmail.com>
parents: 1153
diff changeset
13 template __asmtuple(T...)
9279a9dc6df3 Added support for tuple return with __asmtuple!(int,int) etc.
Tomas Lindquist Olsen <tomas.l.olsen gmail.com>
parents: 1153
diff changeset
14 {
9279a9dc6df3 Added support for tuple return with __asmtuple!(int,int) etc.
Tomas Lindquist Olsen <tomas.l.olsen gmail.com>
parents: 1153
diff changeset
15 __asmtuple_t!(T) __asmtuple(char[] asmcode, char[] constraints, ...);
9279a9dc6df3 Added support for tuple return with __asmtuple!(int,int) etc.
Tomas Lindquist Olsen <tomas.l.olsen gmail.com>
parents: 1153
diff changeset
16 }
1153
4454126b4345 Added support for single D type register return from __asm.
Tomas Lindquist Olsen <tomas.l.olsen gmail.com>
parents: 1152
diff changeset
17 }