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..