gem5 v25.0.0.1
Loading...
Searching...
No Matches
fplib.hh
Go to the documentation of this file.
1/*
2 * Copyright (c) 2012-2013, 2017-2018, 2024-2025 ARM Limited
3 * Copyright (c) 2020 Metempsy Technology Consulting
4 * All rights reserved
5 *
6 * The license below extends only to copyright in the software and shall
7 * not be construed as granting a license to any other intellectual
8 * property including but not limited to intellectual property relating
9 * to a hardware implementation of the functionality of the software
10 * licensed hereunder. You may use the software subject to the license
11 * terms below provided that you ensure that this notice is replicated
12 * unmodified and in its entirety in all distributions of the software,
13 * modified or unmodified, in source code or in binary form.
14 *
15 * Redistribution and use in source and binary forms, with or without
16 * modification, are permitted provided that the following conditions are
17 * met: redistributions of source code must retain the above copyright
18 * notice, this list of conditions and the following disclaimer;
19 * redistributions in binary form must reproduce the above copyright
20 * notice, this list of conditions and the following disclaimer in the
21 * documentation and/or other materials provided with the distribution;
22 * neither the name of the copyright holders nor the names of its
23 * contributors may be used to endorse or promote products derived from
24 * this software without specific prior written permission.
25 *
26 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
27 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
28 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
29 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
30 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
31 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
32 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
33 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
34 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
35 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
36 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
37 */
38
46
47#ifndef __ARCH_ARM_INSTS_FPLIB_HH__
48#define __ARCH_ARM_INSTS_FPLIB_HH__
49
50#include <stdint.h>
51
52#include "arch/arm/regs/misc.hh"
53
54namespace gem5
55{
56
57namespace ArmISA
58{
59
69
70static inline FPRounding
71FPCRRounding(FPSCR &fpscr)
72{
73 return (FPRounding)((uint32_t)fpscr >> 22 & 3);
74}
75
77template <class T>
80template <class T>
81T fplibAdd(T op1, T op2, FPSCR &fpscr);
83template <class T>
84int fplibCompare(T op1, T op2, bool signal_nans, FPSCR &fpscr);
86template <class T>
87bool fplibCompareEQ(T op1, T op2, FPSCR &fpscr);
89template <class T>
90bool fplibCompareGE(T op1, T op2, FPSCR &fpscr);
92template <class T>
93bool fplibCompareGT(T op1, T op2, FPSCR &fpscr);
95template <class T>
96bool fplibCompareUN(T op1, T op2, FPSCR &fpscr);
98template <class T1, class T2>
99T2 fplibConvert(T1 op, FPRounding rounding, FPSCR &fpscr);
101template <class T>
102T fplibDiv(T op1, T op2, FPSCR &fpscr);
104template <class T>
107template <class T>
108T fplibMax(T op1, T op2, FPSCR &fpscr);
110template <class T>
111T fplibMaxNum(T op1, T op2, FPSCR &fpscr);
113template <class T>
114T fplibMin(T op1, T op2, FPSCR &fpscr);
116template <class T>
117T fplibMinNum(T op1, T op2, FPSCR &fpscr);
119template <class T>
120T fplibMul(T op1, T op2, FPSCR &fpscr);
122template <class T>
123T fplibMulAdd(T addend, T op1, T op2, FPSCR &fpscr);
124template <class T1, class T2>
125T2 fplibMulAddH(T2 addend, T1 op1, T1 op2, FPSCR &fpscr);
127template <class T>
128T fplibMulX(T op1, T op2, FPSCR &fpscr);
130template <class T>
133template <class T>
134T fplibRSqrtEstimate(T op, FPSCR &fpscr);
136template <class T>
137T fplibRSqrtStepFused(T op1, T op2, FPSCR &fpscr);
139template <class T>
140T fplibRecipEstimate(T op, FPSCR &fpscr);
142template <class T>
143T fplibRecipStepFused(T op1, T op2, FPSCR &fpscr);
145template <class T>
146T fplibRecpX(T op, FPSCR &fpscr);
148template <class T>
149T fplibRoundInt(T op, FPRounding rounding, bool exact, FPSCR &fpscr);
151template <class T>
152T fplibRoundIntN(T op, FPRounding rounding, bool exact, int intsize,
153 FPSCR &fpscr);
155template <class T>
156T fplibScale(T op1, T op2, FPSCR &fpscr);
158template <class T>
159T fplibSqrt(T op, FPSCR &fpscr);
161template <class T>
162T fplibSub(T op1, T op2, FPSCR &fpscr);
164template <class T>
165T fplibTrigMulAdd(uint8_t coeff_index, T op1, T op2, FPSCR &fpscr);
167template <class T>
168T fplibTrigSMul(T op1, T op2, FPSCR &fpscr);
170template <class T>
171T fplibTrigSSel(T op1, T op2, FPSCR &fpscr);
173template <class T1, class T2>
174T2 fplibFPToFixed(T1 op, int fbits, bool u, FPRounding rounding, FPSCR &fpscr);
176template <class T>
177T fplibFixedToFP(uint64_t op, int fbits, bool u, FPRounding rounding,
178 FPSCR &fpscr);
180template <class T>
181T fplibInfinity(int sgn);
183template <class T>
186uint32_t fplibFPToFixedJS(uint64_t op, FPSCR &fpscr, bool Is64, uint8_t &nz);
187
188template <class T>
189T fplib32RSqrtStep(T op1, T op2, FPSCR &fpscr);
190template <class T>
191T fplib32RecipStep(T op1, T op2, FPSCR &fpscr);
192
193/* Function specializations... */
194template <>
195uint16_t fplibAbs(uint16_t op);
196template <>
197uint32_t fplibAbs(uint32_t op);
198template <>
199uint64_t fplibAbs(uint64_t op);
200template <>
201uint16_t fplibAdd(uint16_t op1, uint16_t op2, FPSCR &fpscr);
202template <>
203uint32_t fplibAdd(uint32_t op1, uint32_t op2, FPSCR &fpscr);
204template <>
205uint64_t fplibAdd(uint64_t op1, uint64_t op2, FPSCR &fpscr);
206template <>
207int fplibCompare(uint16_t op1, uint16_t op2, bool signal_nans, FPSCR &fpscr);
208template <>
209int fplibCompare(uint32_t op1, uint32_t op2, bool signal_nans, FPSCR &fpscr);
210template <>
211int fplibCompare(uint64_t op1, uint64_t op2, bool signal_nans, FPSCR &fpscr);
212template <>
213bool fplibCompareEQ(uint16_t op1, uint16_t op2, FPSCR &fpscr);
214template <>
215bool fplibCompareEQ(uint32_t op1, uint32_t op2, FPSCR &fpscr);
216template <>
217bool fplibCompareEQ(uint64_t op1, uint64_t op2, FPSCR &fpscr);
218template <>
219bool fplibCompareGE(uint16_t op1, uint16_t op2, FPSCR &fpscr);
220template <>
221bool fplibCompareGE(uint32_t op1, uint32_t op2, FPSCR &fpscr);
222template <>
223bool fplibCompareGE(uint64_t op1, uint64_t op2, FPSCR &fpscr);
224template <>
225bool fplibCompareGT(uint16_t op1, uint16_t op2, FPSCR &fpscr);
226template <>
227bool fplibCompareGT(uint32_t op1, uint32_t op2, FPSCR &fpscr);
228template <>
229bool fplibCompareGT(uint64_t op1, uint64_t op2, FPSCR &fpscr);
230template <>
231bool fplibCompareUN(uint16_t op1, uint16_t op2, FPSCR &fpscr);
232template <>
233bool fplibCompareUN(uint32_t op1, uint32_t op2, FPSCR &fpscr);
234template <>
235bool fplibCompareUN(uint64_t op1, uint64_t op2, FPSCR &fpscr);
236template <>
237uint16_t fplibConvert(uint32_t op, FPRounding rounding, FPSCR &fpscr);
238template <>
239uint16_t fplibConvert(uint64_t op, FPRounding rounding, FPSCR &fpscr);
240template <>
241uint32_t fplibConvert(uint16_t op, FPRounding rounding, FPSCR &fpscr);
242template <>
243uint32_t fplibConvert(uint64_t op, FPRounding rounding, FPSCR &fpscr);
244template <>
245uint64_t fplibConvert(uint16_t op, FPRounding rounding, FPSCR &fpscr);
246template <>
247uint64_t fplibConvert(uint32_t op, FPRounding rounding, FPSCR &fpscr);
248template <>
249uint16_t fplibDiv(uint16_t op1, uint16_t op2, FPSCR &fpscr);
250template <>
251uint32_t fplibDiv(uint32_t op1, uint32_t op2, FPSCR &fpscr);
252template <>
253uint64_t fplibDiv(uint64_t op1, uint64_t op2, FPSCR &fpscr);
254template <>
255uint16_t fplibExpA(uint16_t op);
256template <>
257uint32_t fplibExpA(uint32_t op);
258template <>
259uint64_t fplibExpA(uint64_t op);
260template <>
261uint16_t fplibMax(uint16_t op1, uint16_t op2, FPSCR &fpscr);
262template <>
263uint32_t fplibMax(uint32_t op1, uint32_t op2, FPSCR &fpscr);
264template <>
265uint64_t fplibMax(uint64_t op1, uint64_t op2, FPSCR &fpscr);
266template <>
267uint16_t fplibMaxNum(uint16_t op1, uint16_t op2, FPSCR &fpscr);
268template <>
269uint32_t fplibMaxNum(uint32_t op1, uint32_t op2, FPSCR &fpscr);
270template <>
271uint64_t fplibMaxNum(uint64_t op1, uint64_t op2, FPSCR &fpscr);
272template <>
273uint16_t fplibMin(uint16_t op1, uint16_t op2, FPSCR &fpscr);
274template <>
275uint32_t fplibMin(uint32_t op1, uint32_t op2, FPSCR &fpscr);
276template <>
277uint64_t fplibMin(uint64_t op1, uint64_t op2, FPSCR &fpscr);
278template <>
279uint16_t fplibMinNum(uint16_t op1, uint16_t op2, FPSCR &fpscr);
280template <>
281uint32_t fplibMinNum(uint32_t op1, uint32_t op2, FPSCR &fpscr);
282template <>
283uint64_t fplibMinNum(uint64_t op1, uint64_t op2, FPSCR &fpscr);
284template <>
285uint16_t fplibMul(uint16_t op1, uint16_t op2, FPSCR &fpscr);
286template <>
287uint32_t fplibMul(uint32_t op1, uint32_t op2, FPSCR &fpscr);
288template <>
289uint64_t fplibMul(uint64_t op1, uint64_t op2, FPSCR &fpscr);
290template <>
291uint16_t fplibMulAdd(uint16_t addend, uint16_t op1, uint16_t op2,
292 FPSCR &fpscr);
293template <>
294uint32_t fplibMulAdd(uint32_t addend, uint32_t op1, uint32_t op2,
295 FPSCR &fpscr);
296template <>
297uint64_t fplibMulAdd(uint64_t addend, uint64_t op1, uint64_t op2,
298 FPSCR &fpscr);
299template <>
300uint32_t fplibMulAddH(uint32_t addend, uint16_t op1, uint16_t op2,
301 FPSCR &fpscr);
302template <>
303uint16_t fplibMulX(uint16_t op1, uint16_t op2, FPSCR &fpscr);
304template <>
305uint32_t fplibMulX(uint32_t op1, uint32_t op2, FPSCR &fpscr);
306template <>
307uint64_t fplibMulX(uint64_t op1, uint64_t op2, FPSCR &fpscr);
308template <>
309uint16_t fplibNeg(uint16_t op);
310template <>
311uint32_t fplibNeg(uint32_t op);
312template <>
313uint64_t fplibNeg(uint64_t op);
314template <>
315uint16_t fplibRSqrtEstimate(uint16_t op, FPSCR &fpscr);
316template <>
317uint32_t fplibRSqrtEstimate(uint32_t op, FPSCR &fpscr);
318template<>
319uint64_t fplibRSqrtEstimate(uint64_t op, FPSCR &fpscr);
320template <>
321uint16_t fplibRSqrtStepFused(uint16_t op1, uint16_t op2, FPSCR &fpscr);
322template <>
323uint32_t fplibRSqrtStepFused(uint32_t op1, uint32_t op2, FPSCR &fpscr);
324template <>
325uint64_t fplibRSqrtStepFused(uint64_t op1, uint64_t op2, FPSCR &fpscr);
326template <>
327uint16_t fplibRecipEstimate(uint16_t op, FPSCR &fpscr);
328template <>
329uint32_t fplibRecipEstimate(uint32_t op, FPSCR &fpscr);
330template <>
331uint64_t fplibRecipEstimate(uint64_t op, FPSCR &fpscr);
332template <>
333uint16_t fplibRecipStepFused(uint16_t op1, uint16_t op2, FPSCR &fpscr);
334template <>
335uint32_t fplibRecipStepFused(uint32_t op1, uint32_t op2, FPSCR &fpscr);
336template <>
337uint64_t fplibRecipStepFused(uint64_t op1, uint64_t op2, FPSCR &fpscr);
338template <>
339uint16_t fplibRecpX(uint16_t op, FPSCR &fpscr);
340template <>
341uint32_t fplibRecpX(uint32_t op, FPSCR &fpscr);
342template <>
343uint64_t fplibRecpX(uint64_t op, FPSCR &fpscr);
344template <>
345uint16_t fplibRoundInt(uint16_t op, FPRounding rounding, bool exact,
346 FPSCR &fpscr);
347template <>
348uint32_t fplibRoundInt(uint32_t op, FPRounding rounding, bool exact,
349 FPSCR &fpscr);
350template <>
351uint64_t fplibRoundInt(uint64_t op, FPRounding rounding, bool exact,
352 FPSCR &fpscr);
353template <>
354uint32_t fplibRoundIntN(uint32_t op, FPRounding rounding, bool exact,
355 int intsize, FPSCR &fpscr);
356template <>
357uint64_t fplibRoundIntN(uint64_t op, FPRounding rounding, bool exact,
358 int intsize, FPSCR &fpscr);
359template <>
360uint16_t fplibScale(uint16_t op1, uint16_t op2, FPSCR &fpscr);
361template <>
362uint32_t fplibScale(uint32_t op1, uint32_t op2, FPSCR &fpscr);
363template <>
364uint64_t fplibScale(uint64_t op1, uint64_t op2, FPSCR &fpscr);
365template <>
366uint16_t fplibSqrt(uint16_t op, FPSCR &fpscr);
367template <>
368uint32_t fplibSqrt(uint32_t op, FPSCR &fpscr);
369template <>
370uint64_t fplibSqrt(uint64_t op, FPSCR &fpscr);
371template <>
372uint16_t fplibSub(uint16_t op1, uint16_t op2, FPSCR &fpscr);
373template <>
374uint32_t fplibSub(uint32_t op1, uint32_t op2, FPSCR &fpscr);
375template <>
376uint64_t fplibSub(uint64_t op1, uint64_t op2, FPSCR &fpscr);
377template <>
378uint16_t fplibTrigMulAdd(uint8_t coeff_index, uint16_t op1, uint16_t op2,
379 FPSCR &fpscr);
380template <>
381uint32_t fplibTrigMulAdd(uint8_t coeff_index, uint32_t op1, uint32_t op2,
382 FPSCR &fpscr);
383template <>
384uint64_t fplibTrigMulAdd(uint8_t coeff_index, uint64_t op1, uint64_t op2,
385 FPSCR &fpscr);
386template <>
387uint16_t fplibTrigSMul(uint16_t op1, uint16_t op2, FPSCR &fpscr);
388template <>
389uint32_t fplibTrigSMul(uint32_t op1, uint32_t op2, FPSCR &fpscr);
390template <>
391uint64_t fplibTrigSMul(uint64_t op1, uint64_t op2, FPSCR &fpscr);
392template <>
393uint16_t fplibTrigSSel(uint16_t op1, uint16_t op2, FPSCR &fpscr);
394template <>
395uint32_t fplibTrigSSel(uint32_t op1, uint32_t op2, FPSCR &fpscr);
396template <>
397uint64_t fplibTrigSSel(uint64_t op1, uint64_t op2, FPSCR &fpscr);
398template <>
399uint16_t fplibFPToFixed(uint16_t op, int fbits, bool u, FPRounding rounding,
400 FPSCR &fpscr);
401template <>
402uint32_t fplibFPToFixed(uint16_t op, int fbits, bool u, FPRounding rounding,
403 FPSCR &fpscr);
404template <>
405uint32_t fplibFPToFixed(uint32_t op, int fbits, bool u, FPRounding rounding,
406 FPSCR &fpscr);
407template <>
408uint32_t fplibFPToFixed(uint64_t op, int fbits, bool u, FPRounding rounding,
409 FPSCR &fpscr);
410template <>
411uint64_t fplibFPToFixed(uint16_t op, int fbits, bool u, FPRounding rounding,
412 FPSCR &fpscr);
413template <>
414uint64_t fplibFPToFixed(uint32_t op, int fbits, bool u, FPRounding rounding,
415 FPSCR &fpscr);
416template <>
417uint64_t fplibFPToFixed(uint64_t op, int fbits, bool u, FPRounding rounding,
418 FPSCR &fpscr);
419template <>
420uint16_t fplibFixedToFP(uint64_t op, int fbits, bool u, FPRounding rounding,
421 FPSCR &fpscr);
422template <>
423uint32_t fplibFixedToFP(uint64_t op, int fbits, bool u, FPRounding rounding,
424 FPSCR &fpscr);
425template <>
426uint64_t fplibFixedToFP(uint64_t op, int fbits, bool u, FPRounding rounding,
427 FPSCR &fpscr);
428template <>
429uint16_t fplibInfinity(int sgn);
430template <>
431uint32_t fplibInfinity(int sgn);
432template <>
433uint64_t fplibInfinity(int sgn);
434template <>
435uint16_t fplibDefaultNaN();
436template <>
437uint32_t fplibDefaultNaN();
438template <>
439uint64_t fplibDefaultNaN();
440
441template <>
442uint16_t fplib32RSqrtStep(uint16_t op1, uint16_t op2, FPSCR &fpscr);
443template <>
444uint16_t fplib32RecipStep(uint16_t op1, uint16_t op2, FPSCR &fpscr);
445
446} // namespace ArmISA
447} // namespace gem5
448
449#endif
uint16_t fplibMax(uint16_t op1, uint16_t op2, FPSCR &fpscr)
Definition fplib.cc:3391
uint16_t fplib32RSqrtStep(uint16_t op1, uint16_t op2, FPSCR &fpscr)
Definition fplib.cc:5423
uint32_t fplibFPToFixedJS(uint64_t op, FPSCR &fpscr, bool is64, uint8_t &nz)
Floating-point JS convert to a signed integer, with rounding to zero.
Definition fplib.cc:5132
uint16_t fplib32RecipStep(uint16_t op1, uint16_t op2, FPSCR &fpscr)
Definition fplib.cc:5452
static FPRounding FPCRRounding(FPSCR &fpscr)
Definition fplib.hh:71
uint16_t fplibMinNum(uint16_t op1, uint16_t op2, FPSCR &fpscr)
Definition fplib.cc:3553
uint16_t fplibMaxNum(uint16_t op1, uint16_t op2, FPSCR &fpscr)
Definition fplib.cc:3460
uint16_t fplibDiv(uint16_t op1, uint16_t op2, FPSCR &fpscr)
Definition fplib.cc:3117
uint16_t fplibRSqrtEstimate(uint16_t op, FPSCR &fpscr)
Definition fplib.cc:3740
uint16_t fplibNeg(uint16_t op)
Definition fplib.cc:3700
bool fplibCompareGT(uint16_t a, uint16_t b, FPSCR &fpscr)
Definition fplib.cc:2470
uint16_t fplibRecipEstimate(uint16_t op, FPSCR &fpscr)
Definition fplib.cc:3935
uint16_t fplibConvert(uint32_t op, FPRounding rounding, FPSCR &fpscr)
Definition fplib.cc:2825
uint16_t fplibExpA(uint16_t op)
Definition fplib.cc:3147
uint16_t fplibTrigSSel(uint16_t op1, uint16_t op2, FPSCR &fpscr)
Definition fplib.cc:4905
uint16_t fplibFixedToFP(uint64_t op, int fbits, bool u, FPRounding rounding, FPSCR &fpscr)
Definition fplib.cc:5343
uint16_t fplibSqrt(uint16_t op, FPSCR &fpscr)
Definition fplib.cc:4685
bool fplibCompareEQ(uint16_t a, uint16_t b, FPSCR &fpscr)
Definition fplib.cc:2450
uint32_t fplibMulAddH(uint32_t addend, uint16_t op1, uint16_t op2, FPSCR &fpscr)
Definition fplib.cc:3106
uint16_t fplibAdd(uint16_t op1, uint16_t op2, FPSCR &fpscr)
Definition fplib.cc:2591
uint16_t fplibMulX(uint16_t op1, uint16_t op2, FPSCR &fpscr)
Definition fplib.cc:3607
uint16_t fplibAbs(uint16_t op)
Definition fplib.cc:2570
bool fplibCompareGE(uint16_t a, uint16_t b, FPSCR &fpscr)
Definition fplib.cc:2460
uint16_t fplibMul(uint16_t op1, uint16_t op2, FPSCR &fpscr)
Definition fplib.cc:3577
uint16_t fplibScale(uint16_t op1, uint16_t op2, FPSCR &fpscr)
Definition fplib.cc:4655
Bitfield< 22 > u
uint32_t fplibRoundIntN(uint32_t op, FPRounding rounding, bool exact, int intsize, FPSCR &fpscr)
Definition fplib.cc:4487
uint16_t fplibRecpX(uint16_t op, FPSCR &fpscr)
Definition fplib.cc:4211
uint16_t fplibRecipStepFused(uint16_t op1, uint16_t op2, FPSCR &fpscr)
Definition fplib.cc:4121
uint16_t fplibTrigSMul(uint16_t op1, uint16_t op2, FPSCR &fpscr)
Definition fplib.cc:4847
uint16_t fplibTrigMulAdd(uint8_t coeff_index, uint16_t op1, uint16_t op2, FPSCR &fpscr)
Definition fplib.cc:4745
uint16_t fplibRSqrtStepFused(uint16_t op1, uint16_t op2, FPSCR &fpscr)
Definition fplib.cc:3845
int fplibCompare(uint16_t op1, uint16_t op2, bool signal_nans, FPSCR &fpscr)
Definition fplib.cc:2621
uint16_t fplibDefaultNaN()
Definition fplib.cc:5401
uint16_t fplibFPToFixed(uint16_t op, int fbits, bool u, FPRounding rounding, FPSCR &fpscr)
Definition fplib.cc:5015
uint16_t fplibSub(uint16_t op1, uint16_t op2, FPSCR &fpscr)
Definition fplib.cc:4715
uint16_t fplibMulAdd(uint16_t addend, uint16_t op1, uint16_t op2, FPSCR &fpscr)
Definition fplib.cc:3076
uint16_t fplibInfinity(int sgn)
Definition fplib.cc:5380
uint16_t fplibRoundInt(uint16_t op, FPRounding rounding, bool exact, FPSCR &fpscr)
Definition fplib.cc:4292
@ FPRounding_POSINF
Definition fplib.hh:63
@ FPRounding_ZERO
Definition fplib.hh:65
@ FPRounding_TIEEVEN
Definition fplib.hh:62
@ FPRounding_TIEAWAY
Definition fplib.hh:66
@ FPRounding_ODD
Definition fplib.hh:67
@ FPRounding_NEGINF
Definition fplib.hh:64
uint16_t fplibMin(uint16_t op1, uint16_t op2, FPSCR &fpscr)
Definition fplib.cc:3484
bool fplibCompareUN(uint16_t a, uint16_t b, FPSCR &fpscr)
Definition fplib.cc:2480
Bitfield< 4 > op
Definition types.hh:83
Copyright (c) 2024 Arm Limited All rights reserved.
Definition binary32.hh:36

Generated on Sat Oct 18 2025 08:06:37 for gem5 by doxygen 1.14.0