Lines Matching refs:fpregs

158 static void parisc_linux_get_fpu_type(u_int fpregs[])  in parisc_linux_get_fpu_type()  argument
164 fpregs[FPU_TYPE_FLAG_POS] = TIMEX_EXTEN_FLAG; in parisc_linux_get_fpu_type()
167 fpregs[FPU_TYPE_FLAG_POS] = ROLEX_EXTEN_FLAG; in parisc_linux_get_fpu_type()
169 fpregs[FPU_TYPE_FLAG_POS] = PA2_0_FPU_FLAG; in parisc_linux_get_fpu_type()
182 fpudispatch(u_int ir, u_int excp_code, u_int holder, u_int fpregs[]) in fpudispatch() argument
190 parisc_linux_get_fpu_type(fpregs); in fpudispatch()
192 fpu_type_flags=fpregs[FPU_TYPE_FLAG_POS]; /* get fpu type flags */ in fpudispatch()
209 return(decode_0c(ir,class,subop,fpregs)); in fpudispatch()
211 return(decode_0e(ir,class,subop,fpregs)); in fpudispatch()
213 return(decode_06(ir,fpregs)); in fpudispatch()
215 return(decode_26(ir,fpregs)); in fpudispatch()
217 return(decode_2e(ir,fpregs)); in fpudispatch()
237 emfpudispatch(u_int ir, u_int dummy1, u_int dummy2, u_int fpregs[]) in emfpudispatch() argument
245 fpu_type_flags=fpregs[FPU_TYPE_FLAG_POS]; /* get fpu type flags */ in emfpudispatch()
259 return(decode_0c(ir,class,subop,fpregs)); in emfpudispatch()
261 return(decode_0e(ir,class,subop,fpregs)); in emfpudispatch()
263 return(decode_06(ir,fpregs)); in emfpudispatch()
265 return(decode_26(ir,fpregs)); in emfpudispatch()
267 return(decode_2e(ir,fpregs)); in emfpudispatch()
275 decode_0c(u_int ir, u_int class, u_int subop, u_int fpregs[]) in decode_0c() argument
285 fpregs[0] = EMULATION_VERSION << 11; in decode_0c()
288 status = &fpregs[0]; /* fp status register */ in decode_0c()
289 local_status = fpregs[0]; /* and local copy */ in decode_0c()
311 fpregs[t+3] = fpregs[r1+3]; in decode_0c()
312 fpregs[t+2] = fpregs[r1+2]; in decode_0c()
315 fpregs[t+1] = fpregs[r1+1]; in decode_0c()
318 fpregs[t] = fpregs[r1]; in decode_0c()
329 fpregs[t+3] = fpregs[r1+3]; in decode_0c()
330 fpregs[t+2] = fpregs[r1+2]; in decode_0c()
333 fpregs[t+1] = fpregs[r1+1]; in decode_0c()
337 fpregs[t] = fpregs[r1] & 0x7fffffff; in decode_0c()
348 fpregs[t+3] = fpregs[r1+3]; in decode_0c()
349 fpregs[t+2] = fpregs[r1+2]; in decode_0c()
352 fpregs[t+1] = fpregs[r1+1]; in decode_0c()
356 fpregs[t] = fpregs[r1] ^ 0x80000000; in decode_0c()
367 fpregs[t+3] = fpregs[r1+3]; in decode_0c()
368 fpregs[t+2] = fpregs[r1+2]; in decode_0c()
371 fpregs[t+1] = fpregs[r1+1]; in decode_0c()
375 fpregs[t] = fpregs[r1] | 0x80000000; in decode_0c()
382 return(sgl_fsqrt(&fpregs[r1],0, in decode_0c()
383 &fpregs[t],status)); in decode_0c()
385 return(dbl_fsqrt(&fpregs[r1],0, in decode_0c()
386 &fpregs[t],status)); in decode_0c()
395 return(sgl_frnd(&fpregs[r1],0, in decode_0c()
396 &fpregs[t],status)); in decode_0c()
398 return(dbl_frnd(&fpregs[r1],0, in decode_0c()
399 &fpregs[t],status)); in decode_0c()
427 return(sgl_to_dbl_fcnvff(&fpregs[r1],0, in decode_0c()
428 &fpregs[t],status)); in decode_0c()
430 return(dbl_to_sgl_fcnvff(&fpregs[r1],0, in decode_0c()
431 &fpregs[t],status)); in decode_0c()
439 return(sgl_to_sgl_fcnvxf(&fpregs[r1],0, in decode_0c()
440 &fpregs[t],status)); in decode_0c()
442 return(sgl_to_dbl_fcnvxf(&fpregs[r1],0, in decode_0c()
443 &fpregs[t],status)); in decode_0c()
445 return(dbl_to_sgl_fcnvxf(&fpregs[r1],0, in decode_0c()
446 &fpregs[t],status)); in decode_0c()
448 return(dbl_to_dbl_fcnvxf(&fpregs[r1],0, in decode_0c()
449 &fpregs[t],status)); in decode_0c()
455 return(sgl_to_sgl_fcnvfx(&fpregs[r1],0, in decode_0c()
456 &fpregs[t],status)); in decode_0c()
458 return(sgl_to_dbl_fcnvfx(&fpregs[r1],0, in decode_0c()
459 &fpregs[t],status)); in decode_0c()
461 return(dbl_to_sgl_fcnvfx(&fpregs[r1],0, in decode_0c()
462 &fpregs[t],status)); in decode_0c()
464 return(dbl_to_dbl_fcnvfx(&fpregs[r1],0, in decode_0c()
465 &fpregs[t],status)); in decode_0c()
471 return(sgl_to_sgl_fcnvfxt(&fpregs[r1],0, in decode_0c()
472 &fpregs[t],status)); in decode_0c()
474 return(sgl_to_dbl_fcnvfxt(&fpregs[r1],0, in decode_0c()
475 &fpregs[t],status)); in decode_0c()
477 return(dbl_to_sgl_fcnvfxt(&fpregs[r1],0, in decode_0c()
478 &fpregs[t],status)); in decode_0c()
480 return(dbl_to_dbl_fcnvfxt(&fpregs[r1],0, in decode_0c()
481 &fpregs[t],status)); in decode_0c()
487 return(sgl_to_sgl_fcnvuf(&fpregs[r1],0, in decode_0c()
488 &fpregs[t],status)); in decode_0c()
490 return(sgl_to_dbl_fcnvuf(&fpregs[r1],0, in decode_0c()
491 &fpregs[t],status)); in decode_0c()
493 return(dbl_to_sgl_fcnvuf(&fpregs[r1],0, in decode_0c()
494 &fpregs[t],status)); in decode_0c()
496 return(dbl_to_dbl_fcnvuf(&fpregs[r1],0, in decode_0c()
497 &fpregs[t],status)); in decode_0c()
503 return(sgl_to_sgl_fcnvfu(&fpregs[r1],0, in decode_0c()
504 &fpregs[t],status)); in decode_0c()
506 return(sgl_to_dbl_fcnvfu(&fpregs[r1],0, in decode_0c()
507 &fpregs[t],status)); in decode_0c()
509 return(dbl_to_sgl_fcnvfu(&fpregs[r1],0, in decode_0c()
510 &fpregs[t],status)); in decode_0c()
512 return(dbl_to_dbl_fcnvfu(&fpregs[r1],0, in decode_0c()
513 &fpregs[t],status)); in decode_0c()
519 return(sgl_to_sgl_fcnvfut(&fpregs[r1],0, in decode_0c()
520 &fpregs[t],status)); in decode_0c()
522 return(sgl_to_dbl_fcnvfut(&fpregs[r1],0, in decode_0c()
523 &fpregs[t],status)); in decode_0c()
525 return(dbl_to_sgl_fcnvfut(&fpregs[r1],0, in decode_0c()
526 &fpregs[t],status)); in decode_0c()
528 return(dbl_to_dbl_fcnvfut(&fpregs[r1],0, in decode_0c()
529 &fpregs[t],status)); in decode_0c()
537 fpu_type_flags=fpregs[FPU_TYPE_FLAG_POS]; in decode_0c()
565 retval = sgl_fcmp(&fpregs[r1], in decode_0c()
566 &fpregs[r2],extru(ir,fptpos,5), in decode_0c()
572 retval = dbl_fcmp(&fpregs[r1], in decode_0c()
573 &fpregs[r2],extru(ir,fptpos,5), in decode_0c()
596 retval = sgl_fcmp(&fpregs[r1], in decode_0c()
597 &fpregs[r2],extru(ir,fptpos,5), in decode_0c()
603 retval = dbl_fcmp(&fpregs[r1], in decode_0c()
604 &fpregs[r2],extru(ir,fptpos,5), in decode_0c()
650 return(sgl_fadd(&fpregs[r1],&fpregs[r2], in decode_0c()
651 &fpregs[t],status)); in decode_0c()
653 return(dbl_fadd(&fpregs[r1],&fpregs[r2], in decode_0c()
654 &fpregs[t],status)); in decode_0c()
663 return(sgl_fsub(&fpregs[r1],&fpregs[r2], in decode_0c()
664 &fpregs[t],status)); in decode_0c()
666 return(dbl_fsub(&fpregs[r1],&fpregs[r2], in decode_0c()
667 &fpregs[t],status)); in decode_0c()
676 return(sgl_fmpy(&fpregs[r1],&fpregs[r2], in decode_0c()
677 &fpregs[t],status)); in decode_0c()
679 return(dbl_fmpy(&fpregs[r1],&fpregs[r2], in decode_0c()
680 &fpregs[t],status)); in decode_0c()
689 return(sgl_fdiv(&fpregs[r1],&fpregs[r2], in decode_0c()
690 &fpregs[t],status)); in decode_0c()
692 return(dbl_fdiv(&fpregs[r1],&fpregs[r2], in decode_0c()
693 &fpregs[t],status)); in decode_0c()
702 return(sgl_frem(&fpregs[r1],&fpregs[r2], in decode_0c()
703 &fpregs[t],status)); in decode_0c()
705 return(dbl_frem(&fpregs[r1],&fpregs[r2], in decode_0c()
706 &fpregs[t],status)); in decode_0c()
720 decode_0e(ir,class,subop,fpregs) in decode_0e() argument
722 u_int fpregs[];
731 status = &fpregs[0];
732 local_status = fpregs[0];
766 fpregs[t+1] = fpregs[r1+1];
769 fpregs[t] = fpregs[r1];
779 fpregs[t+1] = fpregs[r1+1];
782 fpregs[t] = fpregs[r1] & 0x7fffffff;
792 fpregs[t+1] = fpregs[r1+1];
795 fpregs[t] = fpregs[r1] ^ 0x80000000;
805 fpregs[t+1] = fpregs[r1+1];
808 fpregs[t] = fpregs[r1] | 0x80000000;
815 return(sgl_fsqrt(&fpregs[r1],0,
816 &fpregs[t], status));
818 return(dbl_fsqrt(&fpregs[r1],0,
819 &fpregs[t], status));
828 return(sgl_frnd(&fpregs[r1],0,
829 &fpregs[t], status));
831 return(dbl_frnd(&fpregs[r1],0,
832 &fpregs[t], status));
858 return(sgl_to_dbl_fcnvff(&fpregs[r1],0,
859 &fpregs[t],status));
861 return(dbl_to_sgl_fcnvff(&fpregs[r1],0,
862 &fpregs[t],status));
870 return(sgl_to_sgl_fcnvxf(&fpregs[r1],0,
871 &fpregs[t],status));
873 return(sgl_to_dbl_fcnvxf(&fpregs[r1],0,
874 &fpregs[t],status));
876 return(dbl_to_sgl_fcnvxf(&fpregs[r1],0,
877 &fpregs[t],status));
879 return(dbl_to_dbl_fcnvxf(&fpregs[r1],0,
880 &fpregs[t],status));
886 return(sgl_to_sgl_fcnvfx(&fpregs[r1],0,
887 &fpregs[t],status));
889 return(sgl_to_dbl_fcnvfx(&fpregs[r1],0,
890 &fpregs[t],status));
892 return(dbl_to_sgl_fcnvfx(&fpregs[r1],0,
893 &fpregs[t],status));
895 return(dbl_to_dbl_fcnvfx(&fpregs[r1],0,
896 &fpregs[t],status));
902 return(sgl_to_sgl_fcnvfxt(&fpregs[r1],0,
903 &fpregs[t],status));
905 return(sgl_to_dbl_fcnvfxt(&fpregs[r1],0,
906 &fpregs[t],status));
908 return(dbl_to_sgl_fcnvfxt(&fpregs[r1],0,
909 &fpregs[t],status));
911 return(dbl_to_dbl_fcnvfxt(&fpregs[r1],0,
912 &fpregs[t],status));
918 return(sgl_to_sgl_fcnvuf(&fpregs[r1],0,
919 &fpregs[t],status));
921 return(sgl_to_dbl_fcnvuf(&fpregs[r1],0,
922 &fpregs[t],status));
924 return(dbl_to_sgl_fcnvuf(&fpregs[r1],0,
925 &fpregs[t],status));
927 return(dbl_to_dbl_fcnvuf(&fpregs[r1],0,
928 &fpregs[t],status));
934 return(sgl_to_sgl_fcnvfu(&fpregs[r1],0,
935 &fpregs[t],status));
937 return(sgl_to_dbl_fcnvfu(&fpregs[r1],0,
938 &fpregs[t],status));
940 return(dbl_to_sgl_fcnvfu(&fpregs[r1],0,
941 &fpregs[t],status));
943 return(dbl_to_dbl_fcnvfu(&fpregs[r1],0,
944 &fpregs[t],status));
950 return(sgl_to_sgl_fcnvfut(&fpregs[r1],0,
951 &fpregs[t],status));
953 return(sgl_to_dbl_fcnvfut(&fpregs[r1],0,
954 &fpregs[t],status));
956 return(dbl_to_sgl_fcnvfut(&fpregs[r1],0,
957 &fpregs[t],status));
959 return(dbl_to_dbl_fcnvfut(&fpregs[r1],0,
960 &fpregs[t],status));
980 fpu_type_flags=fpregs[FPU_TYPE_FLAG_POS];
994 retval = sgl_fcmp(&fpregs[r1],
995 &fpregs[r2],extru(ir,fptpos,5),
1001 retval = dbl_fcmp(&fpregs[r1],
1002 &fpregs[r2],extru(ir,fptpos,5),
1026 retval = sgl_fcmp(&fpregs[r1],
1027 &fpregs[r2],extru(ir,fptpos,5),
1033 retval = dbl_fcmp(&fpregs[r1],
1034 &fpregs[r2],extru(ir,fptpos,5),
1069 return(sgl_fadd(&fpregs[r1],&fpregs[r2],
1070 &fpregs[t],status));
1072 return(dbl_fadd(&fpregs[r1],&fpregs[r2],
1073 &fpregs[t],status));
1079 return(sgl_fsub(&fpregs[r1],&fpregs[r2],
1080 &fpregs[t],status));
1082 return(dbl_fsub(&fpregs[r1],&fpregs[r2],
1083 &fpregs[t],status));
1115 return(sgl_fmpy(&fpregs[r1],
1116 &fpregs[r2],&fpregs[t],status));
1118 return(dbl_fmpy(&fpregs[r1],
1119 &fpregs[r2],&fpregs[t],status));
1126 return(sgl_fdiv(&fpregs[r1],&fpregs[r2],
1127 &fpregs[t],status));
1129 return(dbl_fdiv(&fpregs[r1],&fpregs[r2],
1130 &fpregs[t],status));
1136 return(sgl_frem(&fpregs[r1],&fpregs[r2],
1137 &fpregs[t],status));
1139 return(dbl_frem(&fpregs[r1],&fpregs[r2],
1140 &fpregs[t],status));
1154 decode_06(ir,fpregs) in decode_06() argument
1156 u_int fpregs[];
1170 status = fpregs[0]; /* use a local copy of status reg */
1171 fpu_type_flags=fpregs[FPU_TYPE_FLAG_POS]; /* get fpu type flags */
1192 if (dbl_fmpy(&fpregs[rm1],&fpregs[rm2],
1195 if (dbl_to_sgl_fcnvfxt(&fpregs[ta],
1201 if (dbl_fmpy(&fpregs[rm1],&fpregs[rm2],&mtmp.ints.i1,
1204 if (dbl_fadd(&fpregs[ta], &fpregs[ra], &atmp.ints.i1,
1216 if (dbl_fmpy(&fpregs[rm1],&fpregs[rm2],&mtmp.ints.i1,
1219 if (dbl_fadd(&fpregs[ta], &fpregs[ra], &atmp.ints.i1,
1229 fpregs[tm] = mtmp.ints.i1;
1230 fpregs[tm+1] = mtmp.ints.i2;
1231 fpregs[ta] = atmp.ints.i1;
1232 fpregs[ta+1] = atmp.ints.i2;
1233 fpregs[0] = status;
1263 if (sgl_fmpy(&fpregs[rm1],&fpregs[rm2],&mtmp.ints.i1,
1266 if (sgl_to_sgl_fcnvfxt(&fpregs[ta],&atmp.ints.i1,
1271 if (sgl_fmpy(&fpregs[rm1],&fpregs[rm2],&mtmp.ints.i1,
1274 if (sgl_fadd(&fpregs[ta], &fpregs[ra], &atmp.ints.i1,
1282 fpregs[tm] = mtmp.ints.i1;
1283 fpregs[ta] = atmp.ints.i1;
1284 fpregs[0] = status;
1294 decode_26(ir,fpregs) in decode_26() argument
1296 u_int fpregs[];
1309 status = fpregs[0];
1328 if (dbl_fmpy(&fpregs[rm1],&fpregs[rm2],&mtmp.ints.i1,&status))
1330 if (dbl_fsub(&fpregs[ta], &fpregs[ra], &atmp.ints.i1,&status))
1336 fpregs[tm] = mtmp.ints.i1;
1337 fpregs[tm+1] = mtmp.ints.i2;
1338 fpregs[ta] = atmp.ints.i1;
1339 fpregs[ta+1] = atmp.ints.i2;
1340 fpregs[0] = status;
1364 if (sgl_fmpy(&fpregs[rm1],&fpregs[rm2],&mtmp.ints.i1,&status))
1366 if (sgl_fsub(&fpregs[ta], &fpregs[ra], &atmp.ints.i1,&status))
1372 fpregs[tm] = mtmp.ints.i1;
1373 fpregs[ta] = atmp.ints.i1;
1374 fpregs[0] = status;
1385 decode_2e(ir,fpregs) in decode_2e() argument
1387 u_int fpregs[];
1409 return(dbl_fmpynfadd(&fpregs[rm1], &fpregs[rm2],
1410 &fpregs[ra], &fpregs[0], &fpregs[t]));
1412 return(dbl_fmpyfadd(&fpregs[rm1], &fpregs[rm2],
1413 &fpregs[ra], &fpregs[0], &fpregs[t]));
1431 return(sgl_fmpynfadd(&fpregs[rm1], &fpregs[rm2],
1432 &fpregs[ra], &fpregs[0], &fpregs[t]));
1434 return(sgl_fmpyfadd(&fpregs[rm1], &fpregs[rm2],
1435 &fpregs[ra], &fpregs[0], &fpregs[t]));