• Home
  • Raw
  • Download

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()
314 fpregs[t+1] = fpregs[r1+1]; in decode_0c()
316 fpregs[t] = fpregs[r1]; in decode_0c()
326 fpregs[t+3] = fpregs[r1+3]; in decode_0c()
327 fpregs[t+2] = fpregs[r1+2]; in decode_0c()
329 fpregs[t+1] = fpregs[r1+1]; in decode_0c()
332 fpregs[t] = fpregs[r1] & 0x7fffffff; in decode_0c()
342 fpregs[t+3] = fpregs[r1+3]; in decode_0c()
343 fpregs[t+2] = fpregs[r1+2]; in decode_0c()
345 fpregs[t+1] = fpregs[r1+1]; in decode_0c()
348 fpregs[t] = fpregs[r1] ^ 0x80000000; in decode_0c()
358 fpregs[t+3] = fpregs[r1+3]; in decode_0c()
359 fpregs[t+2] = fpregs[r1+2]; in decode_0c()
361 fpregs[t+1] = fpregs[r1+1]; in decode_0c()
364 fpregs[t] = fpregs[r1] | 0x80000000; in decode_0c()
370 return(sgl_fsqrt(&fpregs[r1],0, in decode_0c()
371 &fpregs[t],status)); in decode_0c()
373 return(dbl_fsqrt(&fpregs[r1],0, in decode_0c()
374 &fpregs[t],status)); in decode_0c()
382 return(sgl_frnd(&fpregs[r1],0, in decode_0c()
383 &fpregs[t],status)); in decode_0c()
385 return(dbl_frnd(&fpregs[r1],0, in decode_0c()
386 &fpregs[t],status)); in decode_0c()
414 return(sgl_to_dbl_fcnvff(&fpregs[r1],0, in decode_0c()
415 &fpregs[t],status)); in decode_0c()
417 return(dbl_to_sgl_fcnvff(&fpregs[r1],0, in decode_0c()
418 &fpregs[t],status)); in decode_0c()
425 return(sgl_to_sgl_fcnvxf(&fpregs[r1],0, in decode_0c()
426 &fpregs[t],status)); in decode_0c()
428 return(sgl_to_dbl_fcnvxf(&fpregs[r1],0, in decode_0c()
429 &fpregs[t],status)); in decode_0c()
431 return(dbl_to_sgl_fcnvxf(&fpregs[r1],0, in decode_0c()
432 &fpregs[t],status)); in decode_0c()
434 return(dbl_to_dbl_fcnvxf(&fpregs[r1],0, in decode_0c()
435 &fpregs[t],status)); in decode_0c()
440 return(sgl_to_sgl_fcnvfx(&fpregs[r1],0, in decode_0c()
441 &fpregs[t],status)); in decode_0c()
443 return(sgl_to_dbl_fcnvfx(&fpregs[r1],0, in decode_0c()
444 &fpregs[t],status)); in decode_0c()
446 return(dbl_to_sgl_fcnvfx(&fpregs[r1],0, in decode_0c()
447 &fpregs[t],status)); in decode_0c()
449 return(dbl_to_dbl_fcnvfx(&fpregs[r1],0, in decode_0c()
450 &fpregs[t],status)); in decode_0c()
455 return(sgl_to_sgl_fcnvfxt(&fpregs[r1],0, in decode_0c()
456 &fpregs[t],status)); in decode_0c()
458 return(sgl_to_dbl_fcnvfxt(&fpregs[r1],0, in decode_0c()
459 &fpregs[t],status)); in decode_0c()
461 return(dbl_to_sgl_fcnvfxt(&fpregs[r1],0, in decode_0c()
462 &fpregs[t],status)); in decode_0c()
464 return(dbl_to_dbl_fcnvfxt(&fpregs[r1],0, in decode_0c()
465 &fpregs[t],status)); in decode_0c()
470 return(sgl_to_sgl_fcnvuf(&fpregs[r1],0, in decode_0c()
471 &fpregs[t],status)); in decode_0c()
473 return(sgl_to_dbl_fcnvuf(&fpregs[r1],0, in decode_0c()
474 &fpregs[t],status)); in decode_0c()
476 return(dbl_to_sgl_fcnvuf(&fpregs[r1],0, in decode_0c()
477 &fpregs[t],status)); in decode_0c()
479 return(dbl_to_dbl_fcnvuf(&fpregs[r1],0, in decode_0c()
480 &fpregs[t],status)); in decode_0c()
485 return(sgl_to_sgl_fcnvfu(&fpregs[r1],0, in decode_0c()
486 &fpregs[t],status)); in decode_0c()
488 return(sgl_to_dbl_fcnvfu(&fpregs[r1],0, in decode_0c()
489 &fpregs[t],status)); in decode_0c()
491 return(dbl_to_sgl_fcnvfu(&fpregs[r1],0, in decode_0c()
492 &fpregs[t],status)); in decode_0c()
494 return(dbl_to_dbl_fcnvfu(&fpregs[r1],0, in decode_0c()
495 &fpregs[t],status)); in decode_0c()
500 return(sgl_to_sgl_fcnvfut(&fpregs[r1],0, in decode_0c()
501 &fpregs[t],status)); in decode_0c()
503 return(sgl_to_dbl_fcnvfut(&fpregs[r1],0, in decode_0c()
504 &fpregs[t],status)); in decode_0c()
506 return(dbl_to_sgl_fcnvfut(&fpregs[r1],0, in decode_0c()
507 &fpregs[t],status)); in decode_0c()
509 return(dbl_to_dbl_fcnvfut(&fpregs[r1],0, in decode_0c()
510 &fpregs[t],status)); in decode_0c()
517 fpu_type_flags=fpregs[FPU_TYPE_FLAG_POS]; in decode_0c()
545 retval = sgl_fcmp(&fpregs[r1], in decode_0c()
546 &fpregs[r2],extru(ir,fptpos,5), in decode_0c()
552 retval = dbl_fcmp(&fpregs[r1], in decode_0c()
553 &fpregs[r2],extru(ir,fptpos,5), in decode_0c()
576 retval = sgl_fcmp(&fpregs[r1], in decode_0c()
577 &fpregs[r2],extru(ir,fptpos,5), in decode_0c()
583 retval = dbl_fcmp(&fpregs[r1], in decode_0c()
584 &fpregs[r2],extru(ir,fptpos,5), in decode_0c()
627 return(sgl_fadd(&fpregs[r1],&fpregs[r2], in decode_0c()
628 &fpregs[t],status)); in decode_0c()
630 return(dbl_fadd(&fpregs[r1],&fpregs[r2], in decode_0c()
631 &fpregs[t],status)); in decode_0c()
639 return(sgl_fsub(&fpregs[r1],&fpregs[r2], in decode_0c()
640 &fpregs[t],status)); in decode_0c()
642 return(dbl_fsub(&fpregs[r1],&fpregs[r2], in decode_0c()
643 &fpregs[t],status)); in decode_0c()
651 return(sgl_fmpy(&fpregs[r1],&fpregs[r2], in decode_0c()
652 &fpregs[t],status)); in decode_0c()
654 return(dbl_fmpy(&fpregs[r1],&fpregs[r2], in decode_0c()
655 &fpregs[t],status)); in decode_0c()
663 return(sgl_fdiv(&fpregs[r1],&fpregs[r2], in decode_0c()
664 &fpregs[t],status)); in decode_0c()
666 return(dbl_fdiv(&fpregs[r1],&fpregs[r2], in decode_0c()
667 &fpregs[t],status)); in decode_0c()
675 return(sgl_frem(&fpregs[r1],&fpregs[r2], in decode_0c()
676 &fpregs[t],status)); in decode_0c()
678 return(dbl_frem(&fpregs[r1],&fpregs[r2], in decode_0c()
679 &fpregs[t],status)); in decode_0c()
692 decode_0e(ir,class,subop,fpregs) in decode_0e() argument
694 u_int fpregs[];
703 status = &fpregs[0];
704 local_status = fpregs[0];
738 fpregs[t+1] = fpregs[r1+1];
740 fpregs[t] = fpregs[r1];
749 fpregs[t+1] = fpregs[r1+1];
751 fpregs[t] = fpregs[r1] & 0x7fffffff;
760 fpregs[t+1] = fpregs[r1+1];
762 fpregs[t] = fpregs[r1] ^ 0x80000000;
771 fpregs[t+1] = fpregs[r1+1];
773 fpregs[t] = fpregs[r1] | 0x80000000;
779 return(sgl_fsqrt(&fpregs[r1],0,
780 &fpregs[t], status));
782 return(dbl_fsqrt(&fpregs[r1],0,
783 &fpregs[t], status));
791 return(sgl_frnd(&fpregs[r1],0,
792 &fpregs[t], status));
794 return(dbl_frnd(&fpregs[r1],0,
795 &fpregs[t], status));
821 return(sgl_to_dbl_fcnvff(&fpregs[r1],0,
822 &fpregs[t],status));
824 return(dbl_to_sgl_fcnvff(&fpregs[r1],0,
825 &fpregs[t],status));
832 return(sgl_to_sgl_fcnvxf(&fpregs[r1],0,
833 &fpregs[t],status));
835 return(sgl_to_dbl_fcnvxf(&fpregs[r1],0,
836 &fpregs[t],status));
838 return(dbl_to_sgl_fcnvxf(&fpregs[r1],0,
839 &fpregs[t],status));
841 return(dbl_to_dbl_fcnvxf(&fpregs[r1],0,
842 &fpregs[t],status));
847 return(sgl_to_sgl_fcnvfx(&fpregs[r1],0,
848 &fpregs[t],status));
850 return(sgl_to_dbl_fcnvfx(&fpregs[r1],0,
851 &fpregs[t],status));
853 return(dbl_to_sgl_fcnvfx(&fpregs[r1],0,
854 &fpregs[t],status));
856 return(dbl_to_dbl_fcnvfx(&fpregs[r1],0,
857 &fpregs[t],status));
862 return(sgl_to_sgl_fcnvfxt(&fpregs[r1],0,
863 &fpregs[t],status));
865 return(sgl_to_dbl_fcnvfxt(&fpregs[r1],0,
866 &fpregs[t],status));
868 return(dbl_to_sgl_fcnvfxt(&fpregs[r1],0,
869 &fpregs[t],status));
871 return(dbl_to_dbl_fcnvfxt(&fpregs[r1],0,
872 &fpregs[t],status));
877 return(sgl_to_sgl_fcnvuf(&fpregs[r1],0,
878 &fpregs[t],status));
880 return(sgl_to_dbl_fcnvuf(&fpregs[r1],0,
881 &fpregs[t],status));
883 return(dbl_to_sgl_fcnvuf(&fpregs[r1],0,
884 &fpregs[t],status));
886 return(dbl_to_dbl_fcnvuf(&fpregs[r1],0,
887 &fpregs[t],status));
892 return(sgl_to_sgl_fcnvfu(&fpregs[r1],0,
893 &fpregs[t],status));
895 return(sgl_to_dbl_fcnvfu(&fpregs[r1],0,
896 &fpregs[t],status));
898 return(dbl_to_sgl_fcnvfu(&fpregs[r1],0,
899 &fpregs[t],status));
901 return(dbl_to_dbl_fcnvfu(&fpregs[r1],0,
902 &fpregs[t],status));
907 return(sgl_to_sgl_fcnvfut(&fpregs[r1],0,
908 &fpregs[t],status));
910 return(sgl_to_dbl_fcnvfut(&fpregs[r1],0,
911 &fpregs[t],status));
913 return(dbl_to_sgl_fcnvfut(&fpregs[r1],0,
914 &fpregs[t],status));
916 return(dbl_to_dbl_fcnvfut(&fpregs[r1],0,
917 &fpregs[t],status));
935 fpu_type_flags=fpregs[FPU_TYPE_FLAG_POS];
949 retval = sgl_fcmp(&fpregs[r1],
950 &fpregs[r2],extru(ir,fptpos,5),
956 retval = dbl_fcmp(&fpregs[r1],
957 &fpregs[r2],extru(ir,fptpos,5),
981 retval = sgl_fcmp(&fpregs[r1],
982 &fpregs[r2],extru(ir,fptpos,5),
988 retval = dbl_fcmp(&fpregs[r1],
989 &fpregs[r2],extru(ir,fptpos,5),
1023 return(sgl_fadd(&fpregs[r1],&fpregs[r2],
1024 &fpregs[t],status));
1026 return(dbl_fadd(&fpregs[r1],&fpregs[r2],
1027 &fpregs[t],status));
1032 return(sgl_fsub(&fpregs[r1],&fpregs[r2],
1033 &fpregs[t],status));
1035 return(dbl_fsub(&fpregs[r1],&fpregs[r2],
1036 &fpregs[t],status));
1067 return(sgl_fmpy(&fpregs[r1],
1068 &fpregs[r2],&fpregs[t],status));
1070 return(dbl_fmpy(&fpregs[r1],
1071 &fpregs[r2],&fpregs[t],status));
1077 return(sgl_fdiv(&fpregs[r1],&fpregs[r2],
1078 &fpregs[t],status));
1080 return(dbl_fdiv(&fpregs[r1],&fpregs[r2],
1081 &fpregs[t],status));
1086 return(sgl_frem(&fpregs[r1],&fpregs[r2],
1087 &fpregs[t],status));
1089 return(dbl_frem(&fpregs[r1],&fpregs[r2],
1090 &fpregs[t],status));
1104 decode_06(ir,fpregs) in decode_06() argument
1106 u_int fpregs[];
1120 status = fpregs[0]; /* use a local copy of status reg */
1121 fpu_type_flags=fpregs[FPU_TYPE_FLAG_POS]; /* get fpu type flags */
1142 if (dbl_fmpy(&fpregs[rm1],&fpregs[rm2],
1145 if (dbl_to_sgl_fcnvfxt(&fpregs[ta],
1151 if (dbl_fmpy(&fpregs[rm1],&fpregs[rm2],&mtmp.ints.i1,
1154 if (dbl_fadd(&fpregs[ta], &fpregs[ra], &atmp.ints.i1,
1166 if (dbl_fmpy(&fpregs[rm1],&fpregs[rm2],&mtmp.ints.i1,
1169 if (dbl_fadd(&fpregs[ta], &fpregs[ra], &atmp.ints.i1,
1179 fpregs[tm] = mtmp.ints.i1;
1180 fpregs[tm+1] = mtmp.ints.i2;
1181 fpregs[ta] = atmp.ints.i1;
1182 fpregs[ta+1] = atmp.ints.i2;
1183 fpregs[0] = status;
1213 if (sgl_fmpy(&fpregs[rm1],&fpregs[rm2],&mtmp.ints.i1,
1216 if (sgl_to_sgl_fcnvfxt(&fpregs[ta],&atmp.ints.i1,
1221 if (sgl_fmpy(&fpregs[rm1],&fpregs[rm2],&mtmp.ints.i1,
1224 if (sgl_fadd(&fpregs[ta], &fpregs[ra], &atmp.ints.i1,
1232 fpregs[tm] = mtmp.ints.i1;
1233 fpregs[ta] = atmp.ints.i1;
1234 fpregs[0] = status;
1244 decode_26(ir,fpregs) in decode_26() argument
1246 u_int fpregs[];
1259 status = fpregs[0];
1278 if (dbl_fmpy(&fpregs[rm1],&fpregs[rm2],&mtmp.ints.i1,&status))
1280 if (dbl_fsub(&fpregs[ta], &fpregs[ra], &atmp.ints.i1,&status))
1286 fpregs[tm] = mtmp.ints.i1;
1287 fpregs[tm+1] = mtmp.ints.i2;
1288 fpregs[ta] = atmp.ints.i1;
1289 fpregs[ta+1] = atmp.ints.i2;
1290 fpregs[0] = status;
1314 if (sgl_fmpy(&fpregs[rm1],&fpregs[rm2],&mtmp.ints.i1,&status))
1316 if (sgl_fsub(&fpregs[ta], &fpregs[ra], &atmp.ints.i1,&status))
1322 fpregs[tm] = mtmp.ints.i1;
1323 fpregs[ta] = atmp.ints.i1;
1324 fpregs[0] = status;
1335 decode_2e(ir,fpregs) in decode_2e() argument
1337 u_int fpregs[];
1359 return(dbl_fmpynfadd(&fpregs[rm1], &fpregs[rm2],
1360 &fpregs[ra], &fpregs[0], &fpregs[t]));
1362 return(dbl_fmpyfadd(&fpregs[rm1], &fpregs[rm2],
1363 &fpregs[ra], &fpregs[0], &fpregs[t]));
1381 return(sgl_fmpynfadd(&fpregs[rm1], &fpregs[rm2],
1382 &fpregs[ra], &fpregs[0], &fpregs[t]));
1384 return(sgl_fmpyfadd(&fpregs[rm1], &fpregs[rm2],
1385 &fpregs[ra], &fpregs[0], &fpregs[t]));