/titanic_41/usr/src/uts/sparc/fpu/ |
H A D | pack.c | 39 fp_simd_type *pfpsd, /* Pointer to simulator data */ in overflow_to_infinity() argument 44 switch (pfpsd->fp_direction) { in overflow_to_infinity() 66 fp_simd_type *pfpsd, /* Pointer to simulator data */ in round() argument 76 fpu_set_exception(pfpsd, fp_inexact); in round() 77 switch (pfpsd->fp_direction) { in round() 107 if ((pfpsd->fp_direction == fp_nearest) && in round() 115 fp_simd_type *pfpsd, /* Pointer to simulator data */ in packint32() argument 127 round(pfpsd, pu); in packint32() 143 pfpsd->fp_current_exceptions &= ~(1 << (int)fp_inexact); in packint32() 144 fpu_set_exception(pfpsd, fp_invalid); in packint32() [all …]
|
H A D | fpu_simulator.c | 168 fp_simd_type *pfpsd, /* Pointer to fpu simulator data */ in _fp_fpu_simulator() argument 185 pfpsd->fp_current_exceptions = 0; /* Init current exceptions. */ in _fp_fpu_simulator() 186 pfpsd->fp_fsrtem = fsr.tem; /* Obtain fsr's tem */ in _fp_fpu_simulator() 190 pfpsd->fp_direction = GSR_IM(gsr) ? GSR_IRND(gsr) : fsr.rnd; in _fp_fpu_simulator() 191 pfpsd->fp_precision = fsr.rnp; in _fp_fpu_simulator() 203 _fp_unpack(pfpsd, &us1, nrs1, fma_inst->sz); in _fp_fpu_simulator() 204 _fp_unpack(pfpsd, &us2, nrs2, fma_inst->sz); in _fp_fpu_simulator() 205 _fp_mul(pfpsd, &us1, &us2, &ust); in _fp_fpu_simulator() 206 if ((pfpsd->fp_current_exceptions & fsr.tem) == 0) { in _fp_fpu_simulator() 207 _fp_unpack(pfpsd, &us3, nrs3, fma_inst->sz); in _fp_fpu_simulator() [all …]
|
H A D | unpack.c | 99 fp_simd_type *pfpsd, /* simulator data */ in unpacksingle() argument 131 fpu_set_exception(pfpsd, fp_invalid); in unpacksingle() 146 fp_simd_type *pfpsd, /* simulator data */ in unpackdouble() argument 179 fpu_set_exception(pfpsd, fp_invalid); in unpackdouble() 196 fp_simd_type *pfpsd, /* simulator data */ in unpackextended() argument 234 fpu_set_exception(pfpsd, fp_invalid); in unpackextended() 244 fp_simd_type *pfpsd, /* simulator data */ in _fp_unpack() argument 258 pfpsd->fp_current_read_freg(&f, n, pfpsd); in _fp_unpack() 265 pfpsd->fp_current_read_dreg(&fp.ll[0], DOUBLE(n), pfpsd); in _fp_unpack() 269 pfpsd->fp_current_read_freg(&f, n, pfpsd); in _fp_unpack() [all …]
|
H A D | utility.c | 38 fp_simd_type *pfpsd) in _fp_read_vfreg() argument 40 *pf = pfpsd->fp_current_pfregs->fpu_fr.fpu_regs[n]; in _fp_read_vfreg() 47 fp_simd_type *pfpsd) in _fp_write_vfreg() argument 49 pfpsd->fp_current_pfregs->fpu_fr.fpu_regs[n] = *pf; in _fp_write_vfreg() 56 fp_simd_type *pfpsd) in _fp_read_vdreg() argument 58 *pd = pfpsd->fp_current_pfregs->fpu_fr.fpu_dregs[n]; in _fp_read_vdreg() 65 fp_simd_type *pfpsd) in _fp_write_vdreg() argument 67 pfpsd->fp_current_pfregs->fpu_fr.fpu_dregs[n] = *pd; in _fp_write_vdreg() 180 fpu_set_exception(pfpsd, ex) in fpu_set_exception() argument 181 fp_simd_type *pfpsd; /* Pointer to simulator data */ in fpu_set_exception() [all …]
|
H A D | addsub.c | 93 true_sub(pfpsd, px, py, pz) in true_sub() argument 94 fp_simd_type *pfpsd; /* Pointer to simulator data */ in true_sub() 113 fpu_error_nan(pfpsd, pz); /* Inf - Inf -> NaN */ 118 pz->sign = (pfpsd->fp_direction == fp_negative); 151 pz->sign = (pfpsd->fp_direction == fp_negative); 201 _fp_add(pfpsd, px, py, pz) in _fp_add() argument 202 fp_simd_type *pfpsd; in _fp_add() 208 true_sub(pfpsd, px, py, pz); 212 _fp_sub(pfpsd, px, py, pz) in _fp_sub() argument 213 fp_simd_type *pfpsd; in _fp_sub() [all …]
|
H A D | iu_simulator.c | 177 fp_simd_type *pfpsd, /* FPU simulator data. */ in _fp_iu_simulator() argument 190 return (vis_rdgsr(pfpsd, pinst, pregs, in _fp_iu_simulator() 196 return (vis_wrgsr(pfpsd, pinst, pregs, in _fp_iu_simulator() 201 return (movcc(pfpsd, pinst, pregs, prw, pfpu)); in _fp_iu_simulator() 206 return (fldst(pfpsd, pinst, pregs, prw)); in _fp_iu_simulator()
|
H A D | div.c | 32 _fp_div(pfpsd, px, py, pz) in _fp_div() argument 33 fp_simd_type *pfpsd; in _fp_div() 54 fpu_error_nan(pfpsd, pz); 61 fpu_set_exception(pfpsd, fp_division); 162 _fp_sqrt(pfpsd, px, pz) in _fp_sqrt() argument 163 fp_simd_type *pfpsd; in _fp_sqrt() 176 fpu_error_nan(pfpsd, pz); 182 fpu_error_nan(pfpsd, pz);
|
H A D | compare.c | 31 _fp_compare(pfpsd, px, py, strict) in _fp_compare() argument 32 fp_simd_type *pfpsd; /* simulator data */ in _fp_compare() 46 fpu_set_exception(pfpsd, fp_invalid);
|
H A D | mul.c | 32 _fp_mul(pfpsd, px, py, pz) in _fp_mul() argument 33 fp_simd_type *pfpsd; in _fp_mul() 59 fpu_error_nan(pfpsd, pz);
|
/titanic_41/usr/src/uts/sun4/os/ |
H A D | visinstr.c | 80 fp_simd_type *pfpsd, /* FPU simulator data. */ in vis_fpu_simulator() argument 123 ftt = vis_edge(pfpsd, f.inst, pregs, prw); in vis_fpu_simulator() 128 ftt = vis_array(pfpsd, f.inst, pregs, prw); in vis_fpu_simulator() 132 ftt = vis_alignaddr(pfpsd, f.inst, pregs, prw, fp); in vis_fpu_simulator() 135 ftt = vis_bmask(pfpsd, f.inst, pregs, prw, fp); in vis_fpu_simulator() 145 ftt = vis_fcmp(pfpsd, f.inst, pregs, prw); in vis_fpu_simulator() 154 ftt = vis_fmul(pfpsd, f.inst); in vis_fpu_simulator() 161 ftt = vis_fpixel(pfpsd, f.inst, fp); in vis_fpu_simulator() 165 ftt = vis_pdist(pfpsd, pinst, pregs, prw, f.inst.opf); in vis_fpu_simulator() 168 ftt = vis_faligndata(pfpsd, pinst, fp); in vis_fpu_simulator() [all …]
|
/titanic_41/usr/src/uts/sparc/v9/fpu/ |
H A D | uword.c | 47 fp_simd_type *pfpsd) /* Pointer to fpu simulator data. */ in _fp_read_inst() argument 65 pfpsd->fp_trapaddr = (caddr_t)address; in _fp_read_inst() 66 pfpsd->fp_traprw = S_READ; in _fp_read_inst() 76 fp_simd_type *pfpsd) /* Pointer to fpu simulator data. */ in _fp_read_extword() argument 94 pfpsd->fp_trapaddr = (caddr_t)address; in _fp_read_extword() 95 pfpsd->fp_traprw = S_READ; in _fp_read_extword() 105 fp_simd_type *pfpsd) /* Pointer to fpu simulator data. */ in _fp_read_word() argument 123 pfpsd->fp_trapaddr = (caddr_t)address; in _fp_read_word() 124 pfpsd->fp_traprw = S_READ; in _fp_read_word() 134 fp_simd_type *pfpsd) /* Pointer to fpu simulator data. */ in _fp_write_extword() argument [all …]
|
H A D | v9instr.c | 49 fp_simd_type *pfpsd, /* FPU simulator data. */ in fldst() argument 74 return (vis_fldst(pfpsd, pinst, pregs, prw, asi)); in fldst() 78 ftt = read_iureg(pfpsd, pinst.rs1, pregs, prw, &fea); in fldst() 81 ftt = read_iureg(pfpsd, pinst.rs2, pregs, prw, &tea); in fldst() 88 ftt = read_iureg(pfpsd, pinst.rs1, pregs, prw, &tea); in fldst() 126 pfpsd->fp_trapaddr = (caddr_t)ea; /* setup bad addr in case we trap */ in fldst() 128 pfpsd->fp_traprw = S_READ; in fldst() 130 pfpsd->fp_traprw = S_WRITE; in fldst() 150 fp_simd_type *pfpsd, /* Pointer to fpu simulator data */ in fmovcc_fcc() argument 242 _fp_unpack_word(pfpsd, &usr, nrs2); in fmovcc_fcc() [all …]
|
H A D | fpu.c | 526 fp_simd_type *pfpsd, /* Pointer to simulator data */ in fp_traps() argument 536 fpu_trap(rp, pfpsd->fp_trapaddr, T_FP_EXCEPTION_IEEE, in fp_traps() 537 pfpsd->fp_trapcode); in fp_traps() 540 fpu_trap(rp, pfpsd->fp_trapaddr, T_DATA_EXCEPTION, 0); in fp_traps() 543 fpu_trap(rp, pfpsd->fp_trapaddr, T_ALIGNMENT, 0); in fp_traps() 546 fpu_trap(rp, pfpsd->fp_trapaddr, T_UNIMP_INSTR, 0); in fp_traps()
|
/titanic_41/usr/src/uts/sparc/sys/fpu/ |
H A D | fpu_simulator.h | 395 extern enum ftt_type fpu_vis_sim(fp_simd_type *pfpsd, fp_inst_type *pinst, 401 extern enum ftt_type fpu_simulator(fp_simd_type *pfpsd, fp_inst_type *pinst, 407 extern enum ftt_type fp_emulator(fp_simd_type *pfpsd, fp_inst_type *pinst, 413 extern void fp_traps(fp_simd_type *pfpsd, enum ftt_type ftt, struct regs *rp); 444 fp_simd_type *pfpsd, /* Pointer to FPU simulator data */ 454 fp_simd_type *pfpsd, /* Pointer to FPU simulator data */ 465 fp_simd_type *pfpsd, /* Pointer to FPU simulator data */
|