comparison gen/d-asm-i386.h @ 390:e04389bafb3e

Fix inline asm FS:4 by writing the displacement directly into the asm instead of using %fs:$0 with an input constraint.
author Christian Kamm <kamm incasoftware de>
date Sat, 26 Jul 2008 13:38:25 +0200
parents 3f98d46e05a4
children cc40db549aea
comparison
equal deleted inserted replaced
389:722f5e90c39c 390:e04389bafb3e
1927 if (use_star) 1927 if (use_star)
1928 insnTemplate->writebyte('*'); 1928 insnTemplate->writebyte('*');
1929 if (operand->constDisplacement) { 1929 if (operand->constDisplacement) {
1930 if (operand->symbolDisplacement.dim) 1930 if (operand->symbolDisplacement.dim)
1931 insnTemplate->writebyte('+'); 1931 insnTemplate->writebyte('+');
1932 addOperand(fmt, Arg_Integer, newIntExp(operand->constDisplacement), asmcode); 1932 //addOperand(fmt, Arg_Integer, newIntExp(operand->constDisplacement), asmcode);
1933 insnTemplate->printf("%d", operand->constDisplacement);
1933 if (opInfo->operands[i] & Opr_Dest) 1934 if (opInfo->operands[i] & Opr_Dest)
1934 asmcode->clobbersMemory = 1; 1935 asmcode->clobbersMemory = 1;
1935 } 1936 }
1936 if (operand->baseReg != Reg_Invalid || operand->indexReg != Reg_Invalid) { 1937 if (operand->baseReg != Reg_Invalid || operand->indexReg != Reg_Invalid) {
1937 insnTemplate->writebyte('('); 1938 insnTemplate->writebyte('(');