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