ikrabbe/plan9front

compiler error building inferno for amd64

GoogleCodeExporter opened this issue · 5 comments

building inferno on and for 9front amd64, the compiler ran out of float 
registers.


some output from `NPROC=1 mk install`:

@{builtin cd libmath ; mk $MKFLAGS $stem}
/usr/inferno/Plan9/amd64/lib/libmath.a doesn't exist: assuming it will be an 
archive
6c -wFV -I/usr/inferno/Plan9/amd64/include -I/usr/inferno/Plan9/include 
-I/usr/inferno/include -o s_erf.6 -Ifdlibm fdlibm/s_erf.c
fdlibm/s_erf.c:225 out of float registers
fdlibm/s_erf.c:225 out of float registers
fdlibm/s_erf.c:225 out of float registers
fdlibm/s_erf.c:281 out of float registers
fdlibm/s_erf.c:281 out of float registers
fdlibm/s_erf.c:281 out of float registers
mk: 6c -wFV -I/usr/inferno/Plan9/amd64/include ...  : exit status=rc 86687: 6c 
86689: error


inferno/libmath/fdlibm/s_erf.c:221,226:
    if(ix< 0x4006DB6E) {    /* |x| < 1/0.35 */
        R=ra0+s*(ra1+s*(ra2+s*(ra3+s*(ra4+s*(
                ra5+s*(ra6+s*ra7))))));
        S=one+s*(sa1+s*(sa2+s*(sa3+s*(sa4+s*(
                sa5+s*(sa6+s*(sa7+s*sa8)))))));
    } else {    /* |x| >= 1/0.35 */


inferno/libmath/fdlibm/s_erf.c:281,226:
        if(ix< 0x4006DB6D) {    /* |x| < 1/.35 ~ 2.857143*/
            R=ra0+s*(ra1+s*(ra2+s*(ra3+s*(ra4+s*(
                ra5+s*(ra6+s*ra7))))));
            S=one+s*(sa1+s*(sa2+s*(sa3+s*(sa4+s*(
                sa5+s*(sa6+s*(sa7+s*sa8)))))));
        } else {            /* |x| >= 1/.35 ~ 2.857143 */

Original issue reported on code.google.com by tereniao...@gmail.com on 9 Nov 2014 at 9:02

2nd code block header line numbers are wrong. should be 227,282

in both blocks, the S= expression is the one which fails.

Original comment by tereniao...@gmail.com on 9 Nov 2014 at 9:18

might be a good idea to email charles forsyth, hes the expert in both programs 
involved.

Original comment by cinap_le...@felloff.net on 10 Nov 2014 at 11:29

Ah, thanks. Where did we get 6c from? Was it Go? (Asking in case charles asks.)

Original comment by tereniao...@gmail.com on 10 Nov 2014 at 3:33

any response from charles? you can usually fix these by introducing 
intermediate variables.

Original comment by cinap_le...@felloff.net on 24 Feb 2015 at 5:42

I forgot about it after not getting a reply to my last question. Disregarding 
that, I've just emailed Charles now. Closing this, will post to 9front-bugs if 
I can't sort it out with Charles's help.

We need a ByeByeGoogle status :)

Original comment by tereniao...@gmail.com on 14 Apr 2015 at 9:40

  • Changed state: WontFix