diff --git a/gen/asm-x86-32.h b/gen/asm-x86-32.h index 7d4a9545..b2ed99b1 100644 --- a/gen/asm-x86-32.h +++ b/gen/asm-x86-32.h @@ -1885,6 +1885,12 @@ namespace AsmParserx8632 insnTemplate.write(mnemonic, mlen-1) << tc_1 << type_char; } break; + + case Op_FMath0: + // the no-operand versions of floating point ops always pop + insnTemplate << mnemonic << "p"; + break; + default: // special case fdiv, fsub: see dmd 840, ldc 256 if (strncmp(mnemonic, "fsub", 4) == 0 || diff --git a/gen/asm-x86-64.h b/gen/asm-x86-64.h index 4afdf95d..51f0d8af 100644 --- a/gen/asm-x86-64.h +++ b/gen/asm-x86-64.h @@ -2007,6 +2007,12 @@ namespace AsmParserx8664 insnTemplate.write(mnemonic, mlen-1) << tc_1 << type_char; } break; + + case Op_FMath0: + // the no-operand versions of floating point ops always pop + insnTemplate << mnemonic << "p"; + break; + default: // special case fdiv, fsub: see dmd 840, ldc 256 if (strncmp(mnemonic, "fsub", 4) == 0 ||