digitalmars.D.bugs - argument checking for IASM FPU opcodes
- Thomas Kuehne (21/21) Oct 16 2005 void a(){
void a(){
asm{
fcmovb ST(2);
}
}
void b(){
asm{
fcmovb ST(0), ST(2);
}
}
void c(){
asm{
fcmovb ST, ST(2);
}
}
Case a is documented as "wrong" but produces reasonable code (DA C2).
Case b isn't documented as "right" and produces the unexpected and effectless
code (DA C0). "ST(2)" was dropped without any error message.
Case c is documented as "right" but fails to compile with the
message: bad type/size of operands 'fcmovb'
Thomas
Oct 16 2005








Thomas Kuehne <thomas-dloop kuehne.cn>