Mercurial > projects > ldc
annotate runtime/import/ldc/llvmasm.di @ 1598:20799faa301d
Merged the patch for dmd bugzilla #3620 by request of downs.
author | Robert Clipsham <robert@octarineparrot.com> |
---|---|
date | Sun, 20 Dec 2009 13:58:08 +0000 |
parents | 9279a9dc6df3 |
children |
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 } |