Mercurial > projects > ldc
diff gen/d-asm-i386.h @ 220:ccc2e6898a78 trunk
[svn r236] added initial codegen of inline asm, pretty buggy and incomplete still. see the tangotests/asm1.d test for a sample of what does
work!
author | lindquist |
---|---|
date | Fri, 06 Jun 2008 20:14:51 +0200 |
parents | 761c8352f494 |
children | 68687d8c3e9a |
line wrap: on
line diff
--- a/gen/d-asm-i386.h Thu Jun 05 19:22:37 2008 +0200 +++ b/gen/d-asm-i386.h Fri Jun 06 20:14:51 2008 +0200 @@ -1730,7 +1730,7 @@ stmt->regs |= (1 << Reg_EAX)| (1 << Reg_ECX)|(1 << Reg_EDX); - insnTemplate->writebyte('\t'); + insnTemplate->writebyte(' '); for (int i__ = 0; i__ < nOperands; i__++) { int i; if (i__ != 0) @@ -1857,7 +1857,7 @@ e = new AddrExp(0, e); e->type = decl->type->pointerTo(); - +#if !IN_LLVM /* DMD uses the same frame offsets for naked functions. */ if (sc->func->naked) operand->constDisplacement += 4; @@ -1870,7 +1870,7 @@ } e = new PtrExp(0, e); e->type = decl->type; - +#endif operand->constDisplacement = 0; operand->baseReg = Reg_Invalid; @@ -2542,7 +2542,7 @@ machine_mode mode; insnTemplate->writestring((char*) directives[op - Op_db]); - insnTemplate->writebyte('\t'); + insnTemplate->writebyte(' '); do { // DMD is pretty strict here, not even constant expressions are allowed..