Lines Matching +full:3 +full:- +full:31

1 /* SPDX-License-Identifier: GPL-2.0-or-later */
3 * Linux/PA-RISC Project (http://www.parisc-linux.org/)
5 * Floating-point emulation code
6 * Copyright (C) 2001 Hewlett-Packard (Paul Bame) <bame@debian.org>
26 PA header file -- do not include this header file for non-PA builds.
40 * Declare the basic structures for the 3 different
41 * floating-point precisions.
44 * +-------+-------+-------+-------+-------+-------+-------+-------+
46 * +-------+-------+-------+-------+-------+-------+-------+-------+
56 #define Sexponentmantissa(object) Bitfield_mask( 1, 31,object)
62 #define Slow(object) Bitfield_mask( 31, 1,object)
64 #define Slow31(object) Bitfield_mask( 1, 31,object)
65 #define Shigh31(object) Bitfield_extract( 0, 31,object)
66 #define Ssignedhigh31(object) Bitfield_signed_extract( 0, 31,object)
72 #define Sbit31(object) Bitfield_mask( 31, 1,object)
79 Bitfield_deposit(value,1,31,object)
81 #define Deposit_slow(object,value) Bitfield_deposit(value,31,1,object)
88 #define Is_slow(object) Bitfield_mask( 31, 1,object)
93 #define Is_sbit31(object) Bitfield_mask( 31, 1,object)
97 * +-------+-------+-------+-------+-------+-------+-------+-------+
99 * +-------+-------+-------+-------+-------+-------+-------+-------+
101 * +-------+-------+-------+-------+-------+-------+-------+-------+
103 * +-------+-------+-------+-------+-------+-------+-------+-------+
113 #define Dexponentmantissap1(object) Bitfield_mask( 1, 31,object)
119 #define Dlowp1(object) Bitfield_mask( 31, 1,object)
120 #define Dlow31p1(object) Bitfield_mask( 1, 31,object)
123 #define Dhigh31p1(object) Bitfield_extract( 0, 31,object)
124 #define Dsignedhigh31p1(object) Bitfield_signed_extract( 0, 31,object)
125 #define Dbit3p1(object) Bitfield_extract( 3, 1,object)
132 Bitfield_deposit(value,1,31,object)
134 #define Deposit_dlowp1(object,value) Bitfield_deposit(value,31,1,object)
141 #define Is_dlowp1(object) Bitfield_mask( 31, 1,object)
143 #define Is_dbit3p1(object) Bitfield_mask( 3, 1,object)
147 #define Dlowp2(object) Bitfield_mask( 31, 1,object)
149 #define Dlow31p2(object) Bitfield_mask( 1, 31,object)
151 #define Dhigh31p2(object) Bitfield_extract( 0, 31,object)
153 #define Dbit3p2(object) Bitfield_extract( 3, 1,object)
158 #define Dbit31p2(object) Bitfield_mask( 31, 1,object)
160 #define Deposit_dlowp2(object,value) Bitfield_deposit(value,31,1,object)
162 #define Is_dlowp2(object) Bitfield_mask( 31, 1,object)
165 #define Is_dbit3p2(object) Bitfield_mask( 3, 1,object)
170 #define Is_dbit31p2(object) Bitfield_mask( 31, 1,object)
174 * +-------+-------+-------+-------+-------+-------+-------+-------+
176 * +-------+-------+-------+-------+-------+-------+-------+-------+
178 * +-------+-------+-------+-------+-------+-------+-------+-------+
180 * +-------+-------+-------+-------+-------+-------+-------+-------+
182 * +-------+-------+-------+-------+-------+-------+-------+-------+
183 * | mantissa part 3 |
184 * +-------+-------+-------+-------+-------+-------+-------+-------+
186 * +-------+-------+-------+-------+-------+-------+-------+-------+
188 * +-------+-------+-------+-------+-------+-------+-------+-------+
203 Bitfield_extract( 1, 31,u_qexponentmantissap1,qexponentmantissap1)
209 Bitfield_extract(31, 1,u_qlowp1,qlowp1)
210 Bitfield_extract( 1, 31,u_qlow31p1,qlow31p1)
213 Bitfield_extract( 0, 31,u_qhigh31p1,qhigh31p1)
220 Bitfield_extract(31, 1,u_qlowp2,qlowp2)
221 Bitfield_extract( 1, 31,u_qlow31p2,qlow31p2)
223 Bitfield_extract( 0, 31,u_qhigh31p2,qhigh31p2)
230 Bitfield_extract(31, 1,u_qlowp3,qlowp3)
231 Bitfield_extract( 1, 31,u_qlow31p3,qlow31p3)
233 Bitfield_extract( 0, 31,u_qhigh31p3,qhigh31p3)
240 Bitfield_extract(31, 1,u_qlowp4,qlowp4)
241 Bitfield_extract( 1, 31,u_qlow31p4,qlow31p4)
243 Bitfield_extract( 0, 31,u_qhigh31p4,qhigh31p4)
248 /* Extension - An additional structure to hold the guard, round and
253 #define Exthigh31(object) Bitfield_extract( 0, 31,object)
254 #define Extlow31(object) Bitfield_extract( 1, 31,object)
255 #define Extlow(object) Bitfield_extract( 31, 1,object)
258 * Single extended - The upper word is just like single precision,
263 #define Sextlowp1(object) Bitfield_extract( 31, 1,object)
265 #define Sextlow31p2(object) Bitfield_extract( 1, 31,object)
270 * Double extended - The upper two words are just like double precision,
277 #define Dextlowp2(object) Bitfield_extract( 31, 1,object)
279 #define Dextlow31p3(object) Bitfield_extract( 1, 31,object)
282 #define Deposit_dextlowp4(object,value) Bitfield_deposit(value,31,1,object)
285 * Declare the basic structures for the 3 different
286 * fixed-point precisions.
289 * +-------+-------+-------+-------+-------+-------+-------+-------+
291 * +-------+-------+-------+-------+-------+-------+-------+-------+
297 * +-------+-------+-------+-------+-------+-------+-------+-------+
299 * +-------+-------+-------+-------+-------+-------+-------+-------+
301 * +-------+-------+-------+-------+-------+-------+-------+-------+
303 * +-------+-------+-------+-------+-------+-------+-------+-------+
317 * +-------+-------+-------+-------+-------+-------+-------+-------+
319 * +-------+-------+-------+-------+-------+-------+-------+-------+
321 * +-------+-------+-------+-------+-------+-------+-------+-------+
323 * +-------+-------+-------+-------+-------+-------+-------+-------+
325 * +-------+-------+-------+-------+-------+-------+-------+-------+
326 * | integer part 3 |
327 * +-------+-------+-------+-------+-------+-------+-------+-------+
329 * +-------+-------+-------+-------+-------+-------+-------+-------+
331 * +-------+-------+-------+-------+-------+-------+-------+-------+
355 #define SGL_EMIN (-126)
365 #define DBL_EMIN (-1022)
375 #define QUAD_EMIN (-16382)
394 #define QUAD 3
405 * 0 1 2 3 4 5 6 7 8 910 1 2 3 4 5 6 7 8 920 1 2 3 4 5 6 7 8 930 1
406 * +-------+-------+-------+-------+-------+-------+-------+-------+
408 * +-------+-------+-------+-------+-------+-------+-------+-------+
417 #define Inexacttrap(object) Bitfield_extract( 31, 1,object)
421 #define Underflowflag(object) Bitfield_extract( 3, 1,object)
431 #define ROUNDMINUS 3
450 * 0 1 2 3 4 5 6 7 8 910 1 2 3 4 5 6 7 8 920 1 2 3 4 5 6 7 8 930 1
451 * +-------+-------+-------+-------+-------+-------+-------+-------+
453 * +-------+-------+-------+-------+-------+-------+-------+-------+
458 #define Parmfield(object) Bitfield_extract( 23, 3,object)
463 #define Set_parmfield(object,value) Bitfield_deposit(value, 23, 3,object)
469 * 0 1 2 3 4 5 6 7 8 910 1 2 3 4 5 6 7 8 920 1 2 3 4 5 6 7 8 930 1
470 * +-------+-------+-------+-------+-------+-------+-------+-------+
472 * +-------+-------+-------+-------+-------+-------+-------+-------+
478 #define Exceptionbit(object) Bitfield_extract( 31, 1,object)
505 #define Set_underflowflag() Bitfield_deposit(1,3,1,Fpustatus_register)
538 (int )Extall(extent) = 0 - (int )Extall(extent)
539 #define Ext_setone_low(extent) Bitfield_deposit(1,31,1,extent)
552 #define FABS (3<<2) | 0
559 #define FCNVFXT (3<<2) | 1
563 #define FADD (0<<2) | 3
564 #define FSUB (1<<2) | 3
565 #define FMPY (2<<2) | 3
566 #define FDIV (3<<2) | 3
567 #define FREM (4<<2) | 3