1*45699Sbostic /* Acmpf.c 1.2 90/12/04 */ 229597Ssam 3*45699Sbostic #include "align.h" 429597Ssam cmpf(infop) process_info *infop; 529597Ssam /* 629597Ssam /* Compare accumulator (float) with operand. 729597Ssam /* 829597Ssam /*************************************************/ 929597Ssam { 1029597Ssam register float *Register_12; /* Has to be first reg ! */ 1129597Ssam register float *Register_11; 1229597Ssam register long Register_10; 1329597Ssam 1429597Ssam Register_12 = (float *) &acc_high; 1529597Ssam Register_11 = (float *) &operand(infop,0)->data; 1629597Ssam if ( reserved( *(long *)Register_11 ) ) 1729597Ssam exception(infop, ILL_OPRND); 1829597Ssam asm (" ldf (r12)"); 1929597Ssam Register_10=psl; 2029597Ssam Set_psl(r10); /* restore the user psl */ 2129597Ssam asm (" cmpf (r11)"); 2229597Ssam asm (" movpsl r10"); 2329597Ssam New_cc (Register_10); 2429597Ssam } 25