Commit 3393fcc
committed
libgcc/m68k: Fixes for soft float
Check for non-zero denorm in __adddf3. Need to check both the upper and
lower 32-bit chunks of a 64-bit float for a non-zero value when
checking to see if the value is -0.
Fix __addsf3 when the sum exponent is exactly 0xff to ensure that
produces infinity and not nan.
Handle converting NaN/inf values between formats.
Handle underflow and overflow when truncating.
Write a replacement for __fixxfsi so that it does not raise extra
exceptions during an extra conversion from long double to double.
Return correctly signed zero on float and double divide underflow
Return positive qNaN instead of negative.
Signed-off-by: Keith Packard <[email protected]>1 parent d18296e commit 3393fcc
2 files changed
+143
-39
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
54 | 54 | | |
55 | 55 | | |
56 | 56 | | |
| 57 | + | |
57 | 58 | | |
58 | 59 | | |
59 | 60 | | |
| |||
262 | 263 | | |
263 | 264 | | |
264 | 265 | | |
| 266 | + | |
| 267 | + | |
| 268 | + | |
265 | 269 | | |
266 | 270 | | |
267 | 271 | | |
| |||
295 | 299 | | |
296 | 300 | | |
297 | 301 | | |
298 | | - | |
299 | | - | |
300 | | - | |
| 302 | + | |
| 303 | + | |
| 304 | + | |
| 305 | + | |
| 306 | + | |
| 307 | + | |
301 | 308 | | |
302 | | - | |
| 309 | + | |
| 310 | + | |
303 | 311 | | |
304 | | - | |
305 | | - | |
| 312 | + | |
| 313 | + | |
| 314 | + | |
| 315 | + | |
| 316 | + | |
| 317 | + | |
| 318 | + | |
| 319 | + | |
| 320 | + | |
| 321 | + | |
| 322 | + | |
306 | 323 | | |
307 | | - | |
| 324 | + | |
| 325 | + | |
| 326 | + | |
| 327 | + | |
308 | 328 | | |
309 | | - | |
310 | | - | |
311 | | - | |
312 | | - | |
313 | | - | |
314 | | - | |
315 | | - | |
316 | | - | |
317 | | - | |
318 | | - | |
319 | | - | |
| 329 | + | |
320 | 330 | | |
321 | | - | |
| 331 | + | |
322 | 332 | | |
323 | | - | |
324 | | - | |
| 333 | + | |
| 334 | + | |
| 335 | + | |
| 336 | + | |
| 337 | + | |
| 338 | + | |
| 339 | + | |
| 340 | + | |
| 341 | + | |
| 342 | + | |
325 | 343 | | |
326 | | - | |
327 | | - | |
| 344 | + | |
| 345 | + | |
328 | 346 | | |
329 | 347 | | |
330 | | - | |
331 | | - | |
332 | 348 | | |
333 | 349 | | |
334 | 350 | | |
| |||
432 | 448 | | |
433 | 449 | | |
434 | 450 | | |
435 | | - | |
| 451 | + | |
436 | 452 | | |
| 453 | + | |
| 454 | + | |
| 455 | + | |
| 456 | + | |
| 457 | + | |
| 458 | + | |
| 459 | + | |
| 460 | + | |
| 461 | + | |
| 462 | + | |
| 463 | + | |
| 464 | + | |
| 465 | + | |
| 466 | + | |
| 467 | + | |
| 468 | + | |
| 469 | + | |
| 470 | + | |
| 471 | + | |
| 472 | + | |
| 473 | + | |
| 474 | + | |
| 475 | + | |
437 | 476 | | |
438 | 477 | | |
439 | 478 | | |
| |||
464 | 503 | | |
465 | 504 | | |
466 | 505 | | |
467 | | - | |
468 | | - | |
469 | | - | |
| 506 | + | |
| 507 | + | |
| 508 | + | |
| 509 | + | |
| 510 | + | |
| 511 | + | |
| 512 | + | |
| 513 | + | |
| 514 | + | |
| 515 | + | |
| 516 | + | |
| 517 | + | |
| 518 | + | |
| 519 | + | |
| 520 | + | |
| 521 | + | |
| 522 | + | |
| 523 | + | |
| 524 | + | |
| 525 | + | |
| 526 | + | |
| 527 | + | |
| 528 | + | |
| 529 | + | |
| 530 | + | |
| 531 | + | |
| 532 | + | |
| 533 | + | |
| 534 | + | |
| 535 | + | |
| 536 | + | |
| 537 | + | |
470 | 538 | | |
471 | 539 | | |
472 | 540 | | |
| |||
511 | 579 | | |
512 | 580 | | |
513 | 581 | | |
514 | | - | |
| 582 | + | |
515 | 583 | | |
516 | | - | |
517 | | - | |
| 584 | + | |
| 585 | + | |
| 586 | + | |
| 587 | + | |
| 588 | + | |
| 589 | + | |
| 590 | + | |
| 591 | + | |
| 592 | + | |
| 593 | + | |
| 594 | + | |
| 595 | + | |
| 596 | + | |
| 597 | + | |
| 598 | + | |
| 599 | + | |
| 600 | + | |
| 601 | + | |
| 602 | + | |
| 603 | + | |
| 604 | + | |
| 605 | + | |
| 606 | + | |
| 607 | + | |
| 608 | + | |
| 609 | + | |
| 610 | + | |
| 611 | + | |
| 612 | + | |
| 613 | + | |
| 614 | + | |
| 615 | + | |
518 | 616 | | |
519 | 617 | | |
520 | 618 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
635 | 635 | | |
636 | 636 | | |
637 | 637 | | |
638 | | - | |
| 638 | + | |
639 | 639 | | |
640 | 640 | | |
641 | 641 | | |
| |||
700 | 700 | | |
701 | 701 | | |
702 | 702 | | |
703 | | - | |
| 703 | + | |
704 | 704 | | |
705 | 705 | | |
| 706 | + | |
706 | 707 | | |
707 | 708 | | |
708 | 709 | | |
| |||
711 | 712 | | |
712 | 713 | | |
713 | 714 | | |
| 715 | + | |
714 | 716 | | |
715 | 717 | | |
716 | 718 | | |
| |||
1383 | 1385 | | |
1384 | 1386 | | |
1385 | 1387 | | |
| 1388 | + | |
| 1389 | + | |
1386 | 1390 | | |
1387 | 1391 | | |
1388 | 1392 | | |
| |||
2080 | 2084 | | |
2081 | 2085 | | |
2082 | 2086 | | |
| 2087 | + | |
2083 | 2088 | | |
2084 | 2089 | | |
2085 | 2090 | | |
| |||
2090 | 2095 | | |
2091 | 2096 | | |
2092 | 2097 | | |
2093 | | - | |
2094 | | - | |
| 2098 | + | |
2095 | 2099 | | |
2096 | 2100 | | |
2097 | 2101 | | |
| |||
2186 | 2190 | | |
2187 | 2191 | | |
2188 | 2192 | | |
| 2193 | + | |
2189 | 2194 | | |
2190 | 2195 | | |
2191 | 2196 | | |
| |||
2548 | 2553 | | |
2549 | 2554 | | |
2550 | 2555 | | |
2551 | | - | |
| 2556 | + | |
2552 | 2557 | | |
2553 | 2558 | | |
2554 | 2559 | | |
| |||
2614 | 2619 | | |
2615 | 2620 | | |
2616 | 2621 | | |
2617 | | - | |
| 2622 | + | |
2618 | 2623 | | |
| 2624 | + | |
2619 | 2625 | | |
2620 | 2626 | | |
2621 | 2627 | | |
| |||
2936 | 2942 | | |
2937 | 2943 | | |
2938 | 2944 | | |
2939 | | - | |
| 2945 | + | |
2940 | 2946 | | |
2941 | 2947 | | |
2942 | 2948 | | |
| |||
0 commit comments