1 /*- 2 * Copyright (c) 1986 The Regents of the University of California. 3 * All rights reserved. 4 * 5 * This code is derived from software contributed to Berkeley by 6 * Computer Consoles Inc. 7 * 8 * %sccs.include.redist.c% 9 * 10 * @(#)Acmpf2.c 7.1 (Berkeley) 12/06/90 11 */ 12 13 #include "align.h" 14 cmpf2(infop) process_info *infop; 15 /* 16 /* Compare operand 1 with operand2 (float). 17 /* 18 /*************************************************/ 19 { 20 register float *Register_12; /* Has to be first reg ! */ 21 register float *Register_11; 22 register long Register_10; 23 24 Register_12 = (float *) &operand(infop,0)->data; 25 Register_11 = (float *) &operand(infop,1)->data; 26 if ( reserved( *(long *)Register_12 ) || 27 reserved( *(long *)Register_11 ) ) 28 {exception(infop, ILL_OPRND);} 29 30 Register_10=psl; 31 Set_psl(r10); /* restore the user psl */ 32 asm (" cmpf2 (r12),(r11)"); 33 asm (" movpsl r10"); 34 New_cc (Register_10); 35 } 36