Lines Matching +full:3 +full:d1
15 * 3. The name of the author may not be used to endorse or promote
49 * something here. %d0 and %d1 is always usable, sometimes %d2 (or
69 1: printf ,"oops:%p,%p,%p\n",3,%a2@(TASK_MM-8),%a2@(TASK_MM-4),%a2@(TASK_MM)
99 clr.l %d1 | sign defaults to zero
103 moveq #1,%d1
105 1: swap %d1
106 move.w #0x3fff+31,%d1
107 move.l %d1,(%a0)+ | set sign / exp
130 move.l %d0,%d1
132 lsr.l #8,%d1 | exponent / sign
133 lsr.l #7,%d1
134 lsr.w #8,%d1
136 cmp.w #0xff,%d1 | NaN / Inf?
139 add.w #0x3fff-0x7f,%d1 | re-bias the exponent.
140 9: move.l %d1,(%a0)+ | fp_ext.sign, fp_ext.exp
152 move.w #0x4000-0x7f,%d1
157 move.w #0x7fff,%d1
163 getuser.l %a1@(4),%d1,fp_err_ua2,%a1
164 printf PCONV,"d2e: %p%p -> %p(",3,%d0,%d1,%a0
167 move.l %d0,%d1
169 lsl.l #3,%d0
170 lsr.l #8,%d1 | exponent / sign
171 lsr.l #7,%d1
172 lsr.w #5,%d1
174 cmp.w #0x7ff,%d1 | NaN / Inf?
177 add.w #0x3fff-0x3ff,%d1 | re-bias the exponent.
178 9: move.l %d1,(%a0)+ | fp_ext.sign, fp_ext.exp
181 move.l %d0,%d1
183 lsl.l #3,%d0
186 lsr.l %d0,%d1
187 or.l %d1,-(%a0)
197 move.w #0x4000-0x3ff,%d1
202 move.w #0x7fff,%d1
288 bfffo %d0{#0,#32},%d1
290 sub.w %d1,%d2
293 add.w %d2,%d1
296 move.w %d1,%d2
302 move.l %d0,%d1
307 lsr.l %d2,%d1
308 or.l %d1,-(%a0)
329 bfffo %d0{#0,#32},%d1
330 add.w #32,%d1
332 sub.w %d1,%d2
335 add.w %d2,%d1
338 ext.l %d1
343 lsl.l %d1,%d0 | lower lword needs only to be shifted
349 neg.w %d1
350 add.w #32,%d1
351 bfins %d0,(%a0){%d1,#8}
354 1: neg.w %d1 | lower lword is splitted between
355 bfins %d0,(%a0){%d1,#32} | higher and lower lword
359 move.w %d1,%d2
364 bfffo %d0{#24,#8},%d1
365 add.w #40,%d1
367 sub.w %d1,%d2
370 add.w %d2,%d1
373 ext.l %d1
375 cmp.w #8,%d1
378 sub.w #64,%d1
380 add.w #24,%d1
381 lsl.l %d1,%d0
384 1: neg.w %d1
385 bfins %d0,(%a0){%d1,#8}
387 2: lsl.l %d1,%d0
393 1: move.l %d0,%d1 | lower lword is splitted between
396 move.l %d1,%d0
405 jne 3f
415 3: lsl.l #1,%d0
512 bfffo %d0{#0,#32},%d1
514 sub.w %d1,%d2
517 add.w %d2,%d1
521 move.w %d1,%d2
527 move.l %d0,%d1
532 lsr.l %d2,%d1
533 or.l %d1,-(%a0)
554 bfffo %d0{#0,#32},%d1
555 add.w #32,%d1
557 sub.w %d1,%d2
560 add.w %d2,%d1
564 ext.l %d1
567 sub.w #32,%d1
569 lsl.l %d1,%d0 | lower lword needs only to be shifted
575 neg.w %d1
576 add.w #32,%d1
577 bfins %d0,(%a0){%d1,#8}
580 1: neg.w %d1 | lower lword is splitted between
581 bfins %d0,(%a0){%d1,#32} | higher and lower lword
585 move.w %d1,%d2
590 bfffo %d0{#24,#8},%d1
591 add.w #40,%d1
593 sub.w %d1,%d2
596 add.w %d2,%d1
599 ext.l %d1
601 cmp.w #8,%d1
604 sub.w #64,%d1
606 add.w #24,%d1
607 lsl.l %d1,%d0
610 1: neg.w %d1
611 bfins %d0,(%a0){%d1,#8}
613 2: lsl.l %d1,%d0
622 jne 3f
631 3: move.l %d0,%d1
632 lsl.l #1,%d1
648 | 3: Round to +Infinity
676 moveq #21,%d1
677 lsl.l %d1,%d0 | keep 11 low bits.
713 | only happens when %d1 was 0xfffff800, it is now zero, so
726 jhi 3f | %d2 > 2, round to +infinity
733 3: swap %d2 | to +inf
747 move.l %d0,%d1
754 lsl.l %d2,%d1
755 or.l %d1,%d0
756 move.l (%a0),%d1
759 lsl.l %d2,%d1
769 move.l %d0,%d1
778 lsl.l %d2,%d1
818 jne 3f | %d2 = 0 round to nearest
827 3: subq.w #2,%d2
830 tst.b (-3,%a0) | to -inf
833 4: tst.b (-3,%a0) | to +inf
887 subq.l #3,%a0
901 | Overflow. This means that the %d1 was 0xffffff00, so it
916 jhi 3f | %d2 > 2, round to +infinity
917 tst.b (-3,%a0) | to -inf
920 3: tst.b (-3,%a0) | to +inf
933 move.l %d0,%d1
939 lsl.l %d2,%d1
955 tst.b (3,%a0)
960 jne 3f | %d2 = 0 round to nearest
969 3: subq.w #2,%d2
972 tst.b (-3,%a0) | to -inf
975 4: tst.b (-3,%a0) | to +inf
1047 subq.l #3,%a0
1061 | Overflow. This means that the %d1 was 0xffffff00, so it
1076 jhi 3f | %d2 > 2, round to +infinity
1077 tst.b (-3,%a0) | to -inf
1080 3: tst.b (-3,%a0) | to +inf
1085 tst.b (3,%a0)
1090 jne 3f | %d2 = 0 round to nearest
1099 3: subq.w #2,%d2
1102 tst.b (-3,%a0) | to -inf
1105 4: tst.b (-3,%a0) | to +inf
1148 move.l %d0,%d1
1149 lsl.l %d2,%d1
1177 tst.l %d1 | test guard bit
1181 lsl.l #1,%d1 | check low bits
1191 jhi 3f | %d2 > 2, round to +infinity
1195 3: tst.w (-4,%a0) | to +inf
1204 move.l (4,%a0),%d1 | test guard bit
1206 lsl.l #1,%d1 | check low bits
1215 jeq 3f
1223 jcs 3f | %d2 < 2, round to nearest/zero
1226 jeq 3f
1228 jra 3f
1230 jne 3f
1232 3: printf PCONV,"-> %p\n",1,%d0
1284 move.l %d0,%d1
1291 lsl.l %d0,%d1
1295 or.l %d1,%d0
1299 getuser.l %a1@(0),%d1,fp_err_ua2,%a1
1300 printf PCONV,"%p(%08x%08x)\n",3,%a1,%d0,%d1
1309 move.l (%a0)+,%d1
1310 cmp.w #0x7fff,%d1
1312 move.w #0xff,%d1
1315 1: sub.w #0x3fff-0x7f,%d1
1318 clr.w %d1
1319 2: lsl.w #8,%d1
1320 lsl.l #7,%d1
1321 lsl.l #8,%d1
1324 or.l %d1,%d0
1379 moveq #FPSR_CC_Z-24,%d1
1386 2: moveq #FPSR_CC_NAN-24,%d1
1392 moveq #FPSR_CC_INF-24,%d1
1393 8: bset %d1,%d0
1431 move.l %d0,%d1
1432 lsr.l #4,%d1
1433 or.l %d0,%d1
1434 and.b #0x08,%d1
1437 or.l %d1,%d0
1438 move.l %d2,%d1
1439 lsr.l #4,%d1
1440 or.b #0xdf,%d1
1441 and.b %d1,%d0
1442 move.l %d2,%d1
1443 lsr.l #7,%d1
1444 and.b #0x80,%d1
1445 or.b %d1,%d0