dmd Backend converted to Boost License
David Nadlinger via Digitalmars-d-announce
digitalmars-d-announce at puremagic.com
Fri Apr 7 17:23:59 PDT 2017
On Friday, 7 April 2017 at 22:57:39 UTC, Walter Bright wrote:
> Thanks for pointing that out, I didn't know that. I just
> assumed LDC would have gone with a clang-style inline assembler
> (does clang even have inline asm?).
LDC supports both DMD-style asm {} blocks as well as LLVM's
native inline assembly format, which is very similar to GCC's,
with explicit clobber specifications and explicit parameter
passing (https://wiki.dlang.org/LDC_inline_assembly_expressions).
The latter is useful on non-x86 platforms as well as to allow
more optimizations of functions using inline asm such as inlining
(although inlining in particular can also be enabled for
DMD-style asm blocks using a pragma).
There are also inline IR expressions for the few situations where
you don't want to drop down all the way to inline assembly but
still need to crack open the hood and control the emitted LLVM
IR: https://wiki.dlang.org/LDC_inline_IR. For example, we use it
to implement some target-independent SIMD intrinsics in the
library.
— David
More information about the Digitalmars-d-announce
mailing list