home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #26 / NN_1992_26.iso / spool / gnu / gcc / bug / 2727 < prev    next >
Encoding:
Text File  |  1992-11-11  |  14.3 KB  |  1,118 lines

  1. Path: sparky!uunet!ogicse!emory!sol.ctr.columbia.edu!zaphod.mps.ohio-state.edu!cis.ohio-state.edu!claude.cs.umb.edu!karl
  2. From: karl@claude.cs.umb.edu (Karl Berry)
  3. Newsgroups: gnu.gcc.bug
  4. Subject: GCC 2.3.1 on IBM RT -- bad assembly code
  5. Message-ID: <199211111558.AA01987@claude.cs.umb.edu>
  6. Date: 11 Nov 92 05:58:37 GMT
  7. Article-I.D.: claude.199211111558.AA01987
  8. Sender: gnulists@ai.mit.edu
  9. Reply-To: karl@cs.umb.edu
  10. Distribution: gnu
  11. Organization: Gnus Not Usenet
  12. Lines: 1103
  13. Approved: bug-gcc@prep.ai.mit.edu
  14.  
  15. gcc 2.3.1 on an IBM RT running AOS (4.3 BSD), configured as romp-aos,
  16. generates bad assembly code for the following program.  (This bug was
  17. also present in 2.2.2.)  I invoke gcc as:
  18.  
  19. gcc -g -v -c strtod.i
  20.  
  21. and get the following output:
  22.  
  23. Reading specs from /usr/local/gnu/lib/gcc-lib/romp-aos/2.3.1/specs
  24. gcc version 2.3.1
  25.  /usr/local/gnu/lib/gcc-lib/romp-aos/2.3.1/cc1 strtod.i -quiet -version -o /tmp/cc006906.s
  26. GNU C version 2.3.1 compiled by GNU C version 2.3.1.
  27.  as -o strtod.o /tmp/cc006906.s
  28. Assembler:
  29. "/tmp/cc006909.s", line 256: Badly formatted floating point number.
  30. "/tmp/cc006909.s", line 256: Badly formatted floating point number.
  31. "/tmp/cc006909.s", line 441: "INF" is not followed by a ':' for a label definition
  32. "/tmp/cc006909.s", line 547: "INF" is not followed by a ':' for a label definition
  33. gcc: strtod.o: No such file or directory
  34.  
  35. Following is the preprocessed input file strtod.i, a ^L, and the
  36. assembly output.
  37.  
  38. # 1 "strtod.c"
  39.  
  40.  
  41.  
  42.  
  43.  
  44.  
  45.  
  46.  
  47.  
  48.  
  49.  
  50.  
  51.  
  52.  
  53.  
  54.  
  55.  
  56.  
  57. # 1 "/usr/include/errno.h" 1 3
  58.  
  59.  
  60.  
  61.  
  62.  
  63.  
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70.  
  71.  
  72. # 1 "/usr/include/sys/nfs_defines.h" 1 3
  73.  
  74.  
  75.  
  76.  
  77.  
  78.  
  79.  
  80.  
  81.  
  82.  
  83.  
  84.  
  85.  
  86.  
  87.  
  88.  
  89.  
  90.  
  91.  
  92.  
  93.  
  94.  
  95.  
  96.  
  97.  
  98.  
  99.  
  100.  
  101.  
  102.  
  103.  
  104.  
  105.  
  106.  
  107.  
  108.  
  109.  
  110.  
  111.  
  112. # 15 "/usr/include/errno.h" 2 3
  113.  
  114.  
  115.  
  116.  
  117.  
  118.  
  119.  
  120.  
  121.  
  122.  
  123.  
  124.  
  125.  
  126.  
  127.  
  128.  
  129.  
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136.  
  137.  
  138.  
  139.  
  140.  
  141.  
  142.  
  143.  
  144.  
  145.  
  146.  
  147.  
  148.  
  149.  
  150.  
  151.  
  152.  
  153.  
  154.  
  155.  
  156.  
  157.  
  158.  
  159.  
  160.  
  161.  
  162.  
  163.  
  164.  
  165.  
  166.  
  167.  
  168.  
  169.  
  170.  
  171.  
  172.  
  173.  
  174.      
  175.  
  176.  
  177.  
  178.  
  179.  
  180.  
  181.  
  182.  
  183.  
  184.  
  185.  
  186.  
  187.  
  188.      
  189.  
  190.  
  191.  
  192.  
  193.  
  194.  
  195.  
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202.      
  203.  
  204.  
  205.  
  206.  
  207.  
  208.  
  209.  
  210.  
  211.  
  212.  
  213.  
  214.  
  215.  
  216.  
  217.  
  218.  
  219.  
  220.  
  221.  
  222.  
  223.  
  224.  
  225.  
  226.  
  227.  
  228.  
  229.  
  230.  
  231.  
  232.  
  233.  
  234.  
  235.  
  236.  
  237.  
  238. # 19 "strtod.c" 2
  239.  
  240. # 1 "/usr/include/ctype.h" 1 3
  241.  
  242.  
  243.  
  244.  
  245.  
  246.  
  247.  
  248.  
  249.  
  250.  
  251.  
  252.  
  253.  
  254.  
  255.  
  256.  
  257.  
  258.  
  259.  
  260.  
  261.  
  262.  
  263.  
  264. extern    char    _ctype_[];
  265.  
  266.  
  267.  
  268.  
  269.  
  270.  
  271.  
  272.  
  273.  
  274.  
  275.  
  276.  
  277.  
  278.  
  279.  
  280.  
  281. # 20 "strtod.c" 2
  282.  
  283. # 1 "/usr/include/math.h" 1 3
  284.  
  285.  
  286.  
  287.  
  288.  
  289.  
  290.  
  291.  
  292.  
  293.  
  294.  
  295.  
  296.  
  297.  
  298. extern double asinh(), acosh(), atanh();
  299. extern double erf(), erfc();
  300. extern double fabs(), floor(), ceil(); 
  301. extern double modf(), ldexp(), frexp(), atof();
  302. extern double sqrt(), cbrt();
  303. extern double sin(), cos(), tan(), asin(), acos(), atan(), atan2();
  304. extern double expm1(), log1p(), exp(), log(), log10(), pow();
  305. extern double sinh(), cosh(), tanh();
  306. extern double hypot(), cabs(), lgamma();
  307. extern double j0(), j1(), jn(), y0(), y1(), yn();
  308.  
  309.  
  310.  
  311.  
  312.  
  313.  
  314. # 21 "strtod.c" 2
  315.  
  316.  
  317.  
  318.  
  319.  
  320.  
  321.  
  322.  
  323.  
  324.  
  325. extern int errno;
  326.  
  327.  
  328.  
  329.  
  330.  
  331.  
  332.  
  333.  
  334.  
  335.  
  336.  
  337. double
  338. strtod (nptr, endptr)
  339.      const char *nptr;
  340.      char **endptr;
  341. {
  342.   register const char *s;
  343.   short int sign;
  344.  
  345.    
  346.   double num;
  347.  
  348.   int got_dot;             
  349.   int got_digit;         
  350.  
  351.    
  352.   long int exponent;
  353.  
  354.   if (nptr == 0 )
  355.     {
  356.       errno =     22        ;
  357.       goto noconv;
  358.     }
  359.  
  360.   s = nptr;
  361.  
  362.    
  363.   while (((_ctype_+1)[*s]&010 ) )
  364.     ++s;
  365.  
  366.    
  367.   sign = *s == '-' ? -1 : 1;
  368.   if (*s == '-' || *s == '+')
  369.     ++s;
  370.  
  371.   num = 0.0;
  372.   got_dot = 0;
  373.   got_digit = 0;
  374.   exponent = 0;
  375.   for (;; ++s)
  376.     {
  377.       if (((_ctype_+1)[*s]&04 ) )
  378.     {
  379.       got_digit = 1;
  380.  
  381.        
  382.       if (num > 1.7976931348623159e+308  * 0.1)
  383.          
  384.  
  385.  
  386.  
  387.  
  388.  
  389.  
  390.         ++exponent;
  391.       else
  392.         num = (num * 10.0) + (*s - '0');
  393.  
  394.        
  395.  
  396.       if (got_dot)
  397.         --exponent;
  398.     }
  399.       else if (!got_dot && *s == '.')
  400.      
  401.     got_dot = 1;
  402.       else
  403.      
  404.     break;
  405.     }
  406.  
  407.   if (!got_digit)
  408.     goto noconv;
  409.  
  410.   if (((*s)-'A'+'a')  == 'e')
  411.     {
  412.        
  413.       int save = errno;
  414.       char *end;
  415.       long int exp;
  416.  
  417.       errno = 0;
  418.       ++s;
  419.       exp = strtol (s, &end, 10);
  420.       if (errno ==     34        )
  421.     {
  422.        
  423.  
  424.  
  425.       if (endptr != 0 )
  426.         *endptr = end;
  427.       if (exp < 0)
  428.         goto underflow;
  429.       else
  430.         goto overflow;
  431.     }
  432.       else if (end == s)
  433.      
  434.  
  435.     end = (char *) s - 1;
  436.       errno = save;
  437.       s = end;
  438.       exponent += exp;
  439.     }
  440.  
  441.   if (endptr != 0 )
  442.     *endptr = (char *) s;
  443.  
  444.   if (num == 0.0)
  445.     return 0.0;
  446.  
  447.    
  448.  
  449.  
  450.   if (exponent < 0)
  451.     {
  452.       if (num < 2.2250738585072010e-308  * pow (10.0, (double) -exponent))
  453.     goto underflow;
  454.     }
  455.   else if (exponent > 0)
  456.     {
  457.       if (num > 1.7976931348623159e+308  * pow (10.0, (double) -exponent))
  458.     goto overflow;
  459.     }
  460.  
  461.   num *= pow (10.0, (double) exponent);
  462.  
  463.   return num * sign;
  464.  
  465. overflow:
  466.    
  467.   errno =     34        ;
  468.   return 1.7976931348623158e308   * sign;
  469.  
  470. underflow:
  471.    
  472.   if (endptr != 0 )
  473.     *endptr = (char *) nptr;
  474.   errno =     34        ;
  475.   return 0.0;
  476.  
  477. noconv:
  478.    
  479.   if (endptr != 0 )
  480.     *endptr = (char *) nptr;
  481.   return 0.0;
  482. }
  483.  
  484.     .globl .oVncs
  485.     .set .oVncs,0
  486.     .globl .oVgcc2.3.1
  487.     .set .oVgcc2.3.1,0
  488. gcc2_compiled.:
  489. .stabs "/usr/local/src/gnu/shellutils-1.8/lib/",100,0,0,Ltext0
  490. .stabs "strtod.c",100,0,0,Ltext0
  491. .text
  492. Ltext0:
  493. .stabs "int:t1=r1;-2147483648;2147483647;",128,0,0,0
  494. .stabs "char:t2=r1;0;255;",128,0,0,0
  495. .stabs "long int:t3=r1;-2147483648;2147483647;",128,0,0,0
  496. .stabs "unsigned int:t4=r1;0;-1;",128,0,0,0
  497. .stabs "long unsigned int:t5=r1;0;-1;",128,0,0,0
  498. .stabs "short int:t6=r1;-32768;32767;",128,0,0,0
  499. .stabs "long long int:t7=r1;0;-1;",128,0,0,0
  500. .stabs "short unsigned int:t8=r1;0;65535;",128,0,0,0
  501. .stabs "long long unsigned int:t9=r1;0;-1;",128,0,0,0
  502. .stabs "signed char:t10=r1;-128;127;",128,0,0,0
  503. .stabs "unsigned char:t11=r1;0;255;",128,0,0,0
  504. .stabs "float:t12=r1;4;0;",128,0,0,0
  505. .stabs "double:t13=r1;8;0;",128,0,0,0
  506. .stabs "long double:t14=r1;8;0;",128,0,0,0
  507. .stabs "void:t15=15",128,0,0,0
  508. .data
  509.     .align 2
  510. _strtod:
  511.     .long _.strtod, 0, 0
  512.     .align 2
  513. LC0:
  514.     .double 0d0.00000000000000000000e+00
  515.     .align 2
  516. LC1:
  517.     .long _strtol
  518.     .align 2
  519. LC2:
  520.     .double 0d1.00000000000000000000e+01
  521.     .align 2
  522. LC3:
  523.     .long _pow
  524. .text
  525.     .align 1
  526.     .globl _strtod
  527.     .globl _.strtod
  528. _.strtod:
  529.     .stabd 68,0,47
  530.     stm r11,-56(r1)
  531.     cas r14,r0,r0
  532.     cal r13,-192(r1)
  533.     cal r1,-164(r1)
  534.     cal r15,36(r14)
  535.     balr r15,r15
  536.     st r2,176(r13)
  537.     st r3,180(r13)
  538.     .stabd 68,0,48
  539. LBB2:
  540.     .stabd 68,0,60
  541.     l r0,176(r13)
  542.     cis r0,0
  543.     bne L2
  544.     .stabd 68,0,62
  545.     cal r0,22(r0)
  546.     store r0,_errno,r11
  547.     .stabd 68,0,63
  548.     b L3
  549. L2:
  550.     .stabd 68,0,66
  551.     l r12,176(r13)
  552.     .stabd 68,0,69
  553. L4:
  554.     lcs r0,0(r12)
  555.     nilz r4,r0,255
  556.     loadc r3,__ctype_+1(r4)
  557.     nilz r0,r3,8
  558.     nilz r4,r0,255
  559.     cis r4,0
  560.     beq L5
  561.     .stabd 68,0,70
  562.     ais r12,1
  563.     b L4
  564. L5:
  565.     .stabd 68,0,73
  566.     lcs r4,0(r12)
  567.     nilz r0,r4,255
  568.     cil r0,45
  569.     bne L6
  570.     cal r0,65535(r0)
  571.     b L7
  572. L6:
  573.     lis r0,1
  574. L7:
  575.     sth r0,62(r13)
  576.     .stabd 68,0,74
  577.     lcs r4,0(r12)
  578.     nilz r0,r4,255
  579.     cil r0,45
  580.     beq L9
  581.     lcs r4,0(r12)
  582.     nilz r0,r4,255
  583.     cil r0,43
  584.     beq L9
  585.     b L8
  586. L9:
  587.     .stabd 68,0,75
  588.     ais r12,1
  589. L8:
  590.     .stabd 68,0,77
  591.     l r0,16(r14)
  592.     sts r0,56(r13)
  593.     ls r0,12(r14)
  594.     sts r0,52(r13)
  595.     .stabd 68,0,78
  596.     lis r0,0
  597.     sts r0,48(r13)
  598.     .stabd 68,0,79
  599.     lis r0,0
  600.     sts r0,44(r13)
  601.     .stabd 68,0,80
  602.     lis r0,0
  603.     sts r0,40(r13)
  604. L10:
  605.     .stabd 68,0,83
  606.     lcs r0,0(r12)
  607.     nilz r4,r0,255
  608.     loadc r3,__ctype_+1(r4)
  609.     nilz r0,r3,4
  610.     nilz r4,r0,255
  611.     cis r4,0
  612.     beq L13
  613.     .stabd 68,0,85
  614.     lis r0,1
  615.     sts r0,44(r13)
  616.     .stabd 68,0,88
  617.     cal r15,88(r14)
  618.     balr r15,r15
  619.     ble L14
  620.     .stabd 68,0,96
  621.     ls r0,40(r13)
  622.     ail r4,r0,1
  623.     sts r4,40(r13)
  624.     b L15
  625. L14:
  626.     .stabd 68,0,98
  627.     cal r15,320(r14)
  628.     balr r15,r15
  629.     lcs r0,0(r12)
  630.     nilz r4,r0,255
  631.     ail r3,r4,-48
  632.     cal r15,424(r14)
  633.     balr r15,r15
  634.     cal r15,508(r14)
  635.     balr r15,r15
  636. L15:
  637.     .stabd 68,0,102
  638.     ls r0,48(r13)
  639.     cis r0,0
  640.     beq L16
  641.     .stabd 68,0,103
  642.     ls r0,40(r13)
  643.     ail r4,r0,-1
  644.     sts r4,40(r13)
  645. L16:
  646.     .stabd 68,0,104
  647.     b L17
  648. L13:
  649.     .stabd 68,0,105
  650.     ls r0,48(r13)
  651.     cis r0,0
  652.     bne L18
  653.     lcs r4,0(r12)
  654.     nilz r0,r4,255
  655.     cil r0,46
  656.     bne L18
  657.     .stabd 68,0,107
  658.     lis r0,1
  659.     sts r0,48(r13)
  660.     b L19
  661. L18:
  662.     .stabd 68,0,110
  663.     b L11
  664. L19:
  665. L17:
  666.     .stabd 68,0,81
  667. L12:
  668.     ais r12,1
  669.     b L10
  670. L11:
  671.     .stabd 68,0,113
  672.     ls r0,44(r13)
  673.     cis r0,0
  674.     bne L20
  675.     .stabd 68,0,114
  676.     b L3
  677. L20:
  678.     .stabd 68,0,116
  679.     lcs r4,0(r12)
  680.     nilz r0,r4,255
  681.     ail r4,r0,32
  682.     cil r4,101
  683.     bne L21
  684.     .stabd 68,0,119
  685. LBB3:
  686.     load r4,_errno
  687.     sts r4,36(r13)
  688.     .stabd 68,0,123
  689.     lis r0,0
  690.     store r0,_errno,r11
  691.     .stabd 68,0,124
  692.     ais r12,1
  693.     .stabd 68,0,125
  694.     ail r0,r13,32
  695.     cas r2,r12,r0
  696.     cas r3,r0,r0
  697.     lis r4,10
  698.     ls r5,20(r14)
  699.     cas r0,r5,r0
  700.     bali r15,_.strtol
  701.     sts r2,28(r13)
  702.     .stabd 68,0,126
  703.     load r4,_errno
  704.     cil r4,34
  705.     bne L22
  706.     .stabd 68,0,131
  707.     l r0,180(r13)
  708.     cis r0,0
  709.     beq L23
  710.     .stabd 68,0,132
  711.     l r4,180(r13)
  712.     ls r0,32(r13)
  713.     sts r0,0(r4)
  714. L23:
  715.     .stabd 68,0,133
  716.     ls r0,28(r13)
  717.     cis r0,0
  718.     bhe L24
  719.     .stabd 68,0,134
  720.     b L25
  721.     b L26
  722. L24:
  723.     .stabd 68,0,136
  724.     b L27
  725. L26:
  726.     .stabd 68,0,137
  727.     b L28
  728. L22:
  729.     .stabd 68,0,138
  730.     ls r0,32(r13)
  731.     c r0,r12
  732.     bne L29
  733.     .stabd 68,0,141
  734.     ail r0,r12,-1
  735.     sts r0,32(r13)
  736. L29:
  737. L28:
  738.     .stabd 68,0,142
  739.     ls r0,36(r13)
  740.     store r0,_errno,r11
  741.     .stabd 68,0,143
  742.     ls r12,32(r13)
  743.     .stabd 68,0,144
  744.     ls r0,40(r13)
  745.     ls r4,28(r13)
  746.     a r0,r4
  747.     sts r0,40(r13)
  748.     .stabd 68,0,145
  749. LBE3:
  750. L21:
  751.     .stabd 68,0,147
  752.     l r0,180(r13)
  753.     cis r0,0
  754.     beq L30
  755.     .stabd 68,0,148
  756.     l r4,180(r13)
  757.     sts r12,0(r4)
  758. L30:
  759.     .stabd 68,0,150
  760.     cal r15,580(r14)
  761.     balr r15,r15
  762.     bne L31
  763.     .stabd 68,0,151
  764.     l r3,16(r14)
  765.     ls r2,12(r14)
  766.     b L1
  767. L31:
  768.     .stabd 68,0,156
  769.     ls r0,40(r13)
  770.     cis r0,0
  771.     bhe L32
  772.     .stabd 68,0,158
  773.     ls r4,40(r13)
  774.     twoc r3,r4
  775.     cal r15,780(r14)
  776.     balr r15,r15
  777.     l r3,28(r14)
  778.     ls r2,24(r14)
  779.     cas r4,r4,r0
  780.     cas r5,r5,r0
  781.     ls r15,32(r14)
  782.     cas r0,r15,r0
  783.     bali r15,_.pow
  784.     cal r15,960(r14)
  785.     balr r15,r15
  786.     cal r15,1032(r14)
  787.     balr r15,r15
  788.     cal r15,1104(r14)
  789.     balr r15,r15
  790.     bhe L33
  791.     .stabd 68,0,159
  792.     b L25
  793. L33:
  794.     .stabd 68,0,160
  795.     b L34
  796. L32:
  797.     .stabd 68,0,161
  798.     ls r0,40(r13)
  799.     cis r0,0
  800.     ble L35
  801.     .stabd 68,0,163
  802.     ls r4,40(r13)
  803.     twoc r3,r4
  804.     cal r15,780(r14)
  805.     balr r15,r15
  806.     l r3,28(r14)
  807.     ls r2,24(r14)
  808.     cas r4,r4,r0
  809.     cas r5,r5,r0
  810.     ls r15,32(r14)
  811.     cas r0,r15,r0
  812.     bali r15,_.pow
  813.     cal r15,960(r14)
  814.     balr r15,r15
  815.     cal r15,1304(r14)
  816.     balr r15,r15
  817.     cal r15,1104(r14)
  818.     balr r15,r15
  819.     ble L36
  820.     .stabd 68,0,164
  821.     b L27
  822. L36:
  823. L35:
  824. L34:
  825.     .stabd 68,0,167
  826.     cal r15,1376(r14)
  827.     balr r15,r15
  828.     l r3,28(r14)
  829.     ls r2,24(r14)
  830.     cas r4,r4,r0
  831.     cas r5,r5,r0
  832.     ls r15,32(r14)
  833.     cas r0,r15,r0
  834.     bali r15,_.pow
  835.     cal r15,960(r14)
  836.     balr r15,r15
  837.     cal r15,1556(r14)
  838.     balr r15,r15
  839.     .stabd 68,0,169
  840.     lh r3,62(r13)
  841.     exts r4,r3
  842.     cal r15,1628(r14)
  843.     balr r15,r15
  844.     cal r15,1712(r14)
  845.     balr r15,r15
  846.     b L1
  847. L27:
  848.     .stabd 68,0,173
  849.     cal r0,34(r0)
  850.     store r0,_errno,r11
  851.     .stabd 68,0,174
  852.     lh r3,62(r13)
  853.     exts r4,r3
  854.     cal r15,1628(r14)
  855.     balr r15,r15
  856.     cal r15,1880(r14)
  857.     balr r15,r15
  858.     b L1
  859. L25:
  860.     .stabd 68,0,178
  861.     l r0,180(r13)
  862.     cis r0,0
  863.     beq L37
  864.     .stabd 68,0,179
  865.     l r4,180(r13)
  866.     l r0,176(r13)
  867.     sts r0,0(r4)
  868. L37:
  869.     .stabd 68,0,180
  870.     cal r0,34(r0)
  871.     store r0,_errno,r11
  872.     .stabd 68,0,181
  873.     l r3,16(r14)
  874.     ls r2,12(r14)
  875.     b L1
  876. L3:
  877.     .stabd 68,0,185
  878.     l r0,180(r13)
  879.     cis r0,0
  880.     beq L38
  881.     .stabd 68,0,186
  882.     l r4,180(r13)
  883.     l r0,176(r13)
  884.     sts r0,0(r4)
  885. L38:
  886.     .stabd 68,0,187
  887.     l r3,16(r14)
  888.     ls r2,12(r14)
  889.     b L1
  890.     .stabd 68,0,188
  891. LBE2:
  892.     .stabd 68,0,188
  893. L1:
  894.     cal r15,2048(r14)
  895.     balr r15,r15
  896.     lm r11,108(r1)
  897.     brx r15
  898.     cal r1,164(r1)
  899.     .long 0xdf07dfb8
  900.     .byte 0x2d, 53
  901. .data
  902.     .align 2
  903. # data area offset = 36
  904.     cas r0,r15,r0
  905.     .long FPGLUE
  906.     .byte 0x1d    # STOREM
  907.     .byte 2
  908.     .short 0x8001
  909.     .byte 52, 0x80
  910.     .byte 0xff,0x20 # (int) $
  911.     .byte 0x30,0x1 # (int) 36(r1)
  912.     .long 36
  913.     .space 32
  914. # data area offset = 88
  915.     cas r0,r15,r0
  916.     .long FPGLUE
  917.     .byte 0x08    # CMPT
  918.     .byte 2
  919.     .short 0x8001
  920.     .byte 232, 0x80
  921.     .byte 0x33,0xd # (double) 52(r13)
  922.     .byte 0x23,0x0 # (double) $
  923.     .long 52
  924.     .double 0dINF
  925.     .space 204
  926. # data area offset = 320
  927.     cas r0,r15,r0
  928.     .long FPGLUE
  929.     .byte 0x15    # MUL
  930.     .byte 3
  931.     .short 0x8001
  932.     .byte 104, 0x80
  933.     .byte 0x13,0x1 # (double) fr1
  934.     .byte 0x33,0xd # (double) 52(r13)
  935.     .byte 0x23,0x0 # (double) $
  936.     .space 2
  937.     .long 52
  938.     .double 0d1.00000000000000000000e+01
  939.     .space 72
  940. # data area offset = 424
  941.     cas r0,r15,r0
  942.     .long FPGLUE
  943.     .byte 0x14    # MOVE
  944.     .byte 2
  945.     .short 0x8001
  946.     .byte 84, 0x80
  947.     .byte 0x13,0x2 # (double) fr2
  948.     .byte 0x0,0x3 # (int) r3
  949.     .space 68
  950. # data area offset = 508
  951.     cas r0,r15,r0
  952.     .long FPGLUE
  953.     .byte 0x02    # ADD
  954.     .byte 3
  955.     .short 0x8001
  956.     .byte 72, 0x80
  957.     .byte 0x33,0xd # (double) 52(r13)
  958.     .byte 0x13,0x1 # (double) fr1
  959.     .byte 0x13,0x2 # (double) fr2
  960.     .space 2
  961.     .long 52
  962.     .space 48
  963. # data area offset = 580
  964.     cas r0,r15,r0
  965.     .long FPGLUE
  966.     .byte 0x07    # CMP
  967.     .byte 2
  968.     .short 0x8001
  969.     .byte 200, 0x80
  970.     .byte 0x33,0xd # (double) 52(r13)
  971.     .byte 0x23,0x0 # (double) $
  972.     .long 52
  973.     .double 0d0.00000000000000000000e+00
  974.     .space 172
  975. # data area offset = 780
  976.     cas r0,r15,r0
  977.     .long FPGLUE
  978.     .byte 0x14    # MOVE
  979.     .byte 2
  980.     .short 0x8001
  981.     .byte 180, 0x80
  982.     .byte 0x3,0x45 # (double) r4
  983.     .byte 0x0,0x3 # (int) r3
  984.     .space 164
  985. # data area offset = 960
  986.     cas r0,r15,r0
  987.     .long FPGLUE
  988.     .byte 0x14    # MOVE
  989.     .byte 2
  990.     .short 0x8001
  991.     .byte 72, 0x80
  992.     .byte 0x13,0x1 # (double) fr1
  993.     .byte 0x3,0x23 # (double) r2
  994.     .space 56
  995. # data area offset = 1032
  996.     cas r0,r15,r0
  997.     .long FPGLUE
  998.     .byte 0x15    # MUL
  999.     .byte 3
  1000.     .short 0x8001
  1001.     .byte 72, 0x80
  1002.     .byte 0x13,0x2 # (double) fr2
  1003.     .byte 0x13,0x1 # (double) fr1
  1004.     .byte 0x23,0x0 # (double) $
  1005.     .space 2
  1006.     .double 0d2.22507385850720100000e-308
  1007.     .space 44
  1008. # data area offset = 1104
  1009.     cas r0,r15,r0
  1010.     .long FPGLUE
  1011.     .byte 0x08    # CMPT
  1012.     .byte 2
  1013.     .short 0x8001
  1014.     .byte 200, 0x80
  1015.     .byte 0x33,0xd # (double) 52(r13)
  1016.     .byte 0x13,0x2 # (double) fr2
  1017.     .long 52
  1018.     .space 180
  1019. # data area offset = 1304
  1020.     cas r0,r15,r0
  1021.     .long FPGLUE
  1022.     .byte 0x15    # MUL
  1023.     .byte 3
  1024.     .short 0x8001
  1025.     .byte 72, 0x80
  1026.     .byte 0x13,0x2 # (double) fr2
  1027.     .byte 0x13,0x1 # (double) fr1
  1028.     .byte 0x23,0x0 # (double) $
  1029.     .space 2
  1030.     .double 0dINF
  1031.     .space 44
  1032. # data area offset = 1376
  1033.     cas r0,r15,r0
  1034.     .long FPGLUE
  1035.     .byte 0x14    # MOVE
  1036.     .byte 2
  1037.     .short 0x8001
  1038.     .byte 180, 0x80
  1039.     .byte 0x3,0x45 # (double) r4
  1040.     .byte 0x30,0xd # (int) 40(r13)
  1041.     .long 40
  1042.     .space 160
  1043. # data area offset = 1556
  1044.     cas r0,r15,r0
  1045.     .long FPGLUE
  1046.     .byte 0x15    # MUL
  1047.     .byte 2
  1048.     .short 0x8001
  1049.     .byte 72, 0x80
  1050.     .byte 0x33,0xd # (double) 52(r13)
  1051.     .byte 0x13,0x1 # (double) fr1
  1052.     .long 52
  1053.     .space 52
  1054. # data area offset = 1628
  1055.     cas r0,r15,r0
  1056.     .long FPGLUE
  1057.     .byte 0x14    # MOVE
  1058.     .byte 2
  1059.     .short 0x8001
  1060.     .byte 84, 0x80
  1061.     .byte 0x13,0x1 # (double) fr1
  1062.     .byte 0x0,0x4 # (int) r4
  1063.     .space 68
  1064. # data area offset = 1712
  1065.     cas r0,r15,r0
  1066.     .long FPGLUE
  1067.     .byte 0x15    # MUL
  1068.     .byte 3
  1069.     .short 0x8001
  1070.     .byte 168, 0x80
  1071.     .byte 0x3,0x23 # (double) r2
  1072.     .byte 0x13,0x1 # (double) fr1
  1073.     .byte 0x33,0xd # (double) 52(r13)
  1074.     .space 2
  1075.     .long 52
  1076.     .space 144
  1077. # data area offset = 1880
  1078.     cas r0,r15,r0
  1079.     .long FPGLUE
  1080.     .byte 0x15    # MUL
  1081.     .byte 3
  1082.     .short 0x8001
  1083.     .byte 168, 0x80
  1084.     .byte 0x3,0x23 # (double) r2
  1085.     .byte 0x13,0x1 # (double) fr1
  1086.     .byte 0x23,0x0 # (double) $
  1087.     .space 2
  1088.     .double 0d1.79769313486231580000e+308
  1089.     .space 140
  1090. # data area offset = 2048
  1091.     cas r0,r15,r0
  1092.     .long FPGLUE
  1093.     .byte 0x0f    # LOADM
  1094.     .byte 2
  1095.     .short 0x8001
  1096.     .byte 52, 0x80
  1097.     .byte 0xff,0x20 # (int) $
  1098.     .byte 0x30,0x1 # (int) 36(r1)
  1099.     .long 36
  1100.     .space 32
  1101. .text
  1102. .stabs "strtod:F13",36,0,0,_strtod
  1103. .stabs "nptr:p16=*2",160,0,0,176
  1104. .stabs "endptr:p17=*18=*2",160,0,0,180
  1105. .stabs "s:r16",64,0,0,12
  1106. .stabs "sign:6",128,0,0,62
  1107. .stabs "num:13",128,0,0,52
  1108. .stabs "got_dot:1",128,0,0,48
  1109. .stabs "got_digit:1",128,0,0,44
  1110. .stabs "exponent:3",128,0,0,40
  1111. .stabn 192,0,0,LBB2
  1112. .stabs "save:1",128,0,0,36
  1113. .stabs "end:18",128,0,0,32
  1114. .stabs "exp:3",128,0,0,28
  1115. .stabn 192,0,0,LBB3
  1116. .stabn 224,0,0,LBE3
  1117. .stabn 224,0,0,LBE2
  1118.