comparison gen/asm-x86-32.h @ 1303:c250e03d8a5b

Make the no-operand versions of floating point inline asm instructions always pop the floating point stack - like dmd does.
author Christian Kamm <kamm incasoftware de>
date Wed, 06 May 2009 18:54:20 +0200
parents a26b99b7e293
children b995c146366e
comparison
equal deleted inserted replaced
1302:a26b99b7e293 1303:c250e03d8a5b
1883 } 1883 }
1884 assert ( type_char != 0 ); 1884 assert ( type_char != 0 );
1885 insnTemplate.write(mnemonic, mlen-1) << tc_1 << type_char; 1885 insnTemplate.write(mnemonic, mlen-1) << tc_1 << type_char;
1886 } 1886 }
1887 break; 1887 break;
1888
1889 case Op_FMath0:
1890 // the no-operand versions of floating point ops always pop
1891 insnTemplate << mnemonic << "p";
1892 break;
1893
1888 default: 1894 default:
1889 // special case fdiv, fsub: see dmd 840, ldc 256 1895 // special case fdiv, fsub: see dmd 840, ldc 256
1890 if (strncmp(mnemonic, "fsub", 4) == 0 || 1896 if (strncmp(mnemonic, "fsub", 4) == 0 ||
1891 strncmp(mnemonic, "fdiv", 4) == 0) 1897 strncmp(mnemonic, "fdiv", 4) == 0)
1892 { 1898 {