Print this page


Split Close
Expand all
Collapse all
          --- old/usr/src/lib/libm/common/m9x/__fex_i386.c
          +++ new/usr/src/lib/libm/common/m9x/__fex_i386.c
↓ open down ↓ 1420 lines elided ↑ open up ↑
1421 1421                          *(float *)ea = r.val.f;
1422 1422                          break;
1423 1423  
1424 1424                  case fex_double:
1425 1425                          *(float *)ea = (float) r.val.d;
1426 1426                          break;
1427 1427  
1428 1428                  case fex_ldouble:
1429 1429                          *(float *)ea = (float) r.val.q;
1430 1430                          break;
     1431 +
     1432 +                default:
     1433 +                        break;
1431 1434                  }
1432 1435                  if (ex != FPE_FLTRES && (op & 8) != 0)
1433 1436                          pop(uap);
1434 1437                  return;
1435 1438  
1436 1439          case 0x310:
1437 1440          case 0x318:
1438 1441          case 0x350:
1439 1442          case 0x358:
1440 1443          case 0x390:
↓ open down ↓ 13 lines elided ↑ open up ↑
1454 1457                          *(int *)ea = (int) r.val.f;
1455 1458                          break;
1456 1459  
1457 1460                  case fex_double:
1458 1461                          *(int *)ea = (int) r.val.d;
1459 1462                          break;
1460 1463  
1461 1464                  case fex_ldouble:
1462 1465                          *(int *)ea = (int) r.val.q;
1463 1466                          break;
     1467 +
     1468 +                default:
     1469 +                        break;
1464 1470                  }
1465 1471                  if (ex != FPE_FLTRES && (op & 8) != 0)
1466 1472                          pop(uap);
1467 1473                  return;
1468 1474  
1469 1475          case 0x510:
1470 1476          case 0x518:
1471 1477          case 0x550:
1472 1478          case 0x558:
1473 1479          case 0x590:
↓ open down ↓ 13 lines elided ↑ open up ↑
1487 1493                          *(double *)ea = (double) r.val.f;
1488 1494                          break;
1489 1495  
1490 1496                  case fex_double:
1491 1497                          *(double *)ea = r.val.d;
1492 1498                          break;
1493 1499  
1494 1500                  case fex_ldouble:
1495 1501                          *(double *)ea = (double) r.val.q;
1496 1502                          break;
     1503 +
     1504 +                default:
     1505 +                        break;
1497 1506                  }
1498 1507                  if (ex != FPE_FLTRES && (op & 8) != 0)
1499 1508                          pop(uap);
1500 1509                  return;
1501 1510  
1502 1511          case 0x710:
1503 1512          case 0x718:
1504 1513          case 0x750:
1505 1514          case 0x758:
1506 1515          case 0x790:
↓ open down ↓ 13 lines elided ↑ open up ↑
1520 1529                          *(short *)ea = (short) r.val.f;
1521 1530                          break;
1522 1531  
1523 1532                  case fex_double:
1524 1533                          *(short *)ea = (short) r.val.d;
1525 1534                          break;
1526 1535  
1527 1536                  case fex_ldouble:
1528 1537                          *(short *)ea = (short) r.val.q;
1529 1538                          break;
     1539 +
     1540 +                default:
     1541 +                        break;
1530 1542                  }
1531 1543                  if (ex != FPE_FLTRES && (op & 8) != 0)
1532 1544                          pop(uap);
1533 1545                  return;
1534 1546  
1535 1547          case 0x730:
1536 1548          case 0x770:
1537 1549          case 0x7b0:
1538 1550                  /* fbstp; don't bother */
1539 1551                  if (ea && ex != FPE_FLTRES)
↓ open down ↓ 18 lines elided ↑ open up ↑
1558 1570                          *(long long *)ea = (long long) r.val.f;
1559 1571                          break;
1560 1572  
1561 1573                  case fex_double:
1562 1574                          *(long long *)ea = (long long) r.val.d;
1563 1575                          break;
1564 1576  
1565 1577                  case fex_ldouble:
1566 1578                          *(long long *)ea = (long long) r.val.q;
1567 1579                          break;
     1580 +
     1581 +                default:
     1582 +                        break;
1568 1583                  }
1569 1584                  if (ex != FPE_FLTRES)
1570 1585                          pop(uap);
1571 1586                  return;
1572 1587          }
1573 1588  
1574 1589          /* for all other instructions, the result goes into a register */
1575 1590          switch (r.type) {
1576 1591          case fex_int:
1577 1592                  r.val.q = (long double) r.val.i;
↓ open down ↓ 2 lines elided ↑ open up ↑
1580 1595          case fex_llong:
1581 1596                  r.val.q = (long double) r.val.l;
1582 1597                  break;
1583 1598  
1584 1599          case fex_float:
1585 1600                  r.val.q = (long double) r.val.f;
1586 1601                  break;
1587 1602  
1588 1603          case fex_double:
1589 1604                  r.val.q = (long double) r.val.d;
     1605 +                break;
     1606 +
     1607 +        default:
1590 1608                  break;
1591 1609          }
1592 1610  
1593 1611          /* for load instructions, push the result onto the stack */
1594 1612          switch (op & 0x7f8) {
1595 1613          case 0x100:
1596 1614          case 0x140:
1597 1615          case 0x180:
1598 1616          case 0x500:
1599 1617          case 0x540:
↓ open down ↓ 76 lines elided ↑ open up ↑
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX