From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 48) id 63DD63858C50; Thu, 7 Apr 2022 20:01:28 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 63DD63858C50 From: "nospam-abuse at ilyaz dot org" To: gcc-bugs@gcc.gnu.org Subject: [Bug target/101737] SH4 -Os causes internal compiler error when building pixman Date: Thu, 07 Apr 2022 20:01:28 +0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: target X-Bugzilla-Version: 11.1.0 X-Bugzilla-Keywords: X-Bugzilla-Severity: normal X-Bugzilla-Who: nospam-abuse at ilyaz dot org X-Bugzilla-Status: NEW X-Bugzilla-Resolution: X-Bugzilla-Priority: P3 X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org X-Bugzilla-Target-Milestone: --- X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: cc Message-ID: In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/ Auto-Submitted: auto-generated MIME-Version: 1.0 X-BeenThere: gcc-bugs@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-bugs mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 07 Apr 2022 20:01:28 -0000 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=3D101737 Ilya Zakharevich changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |nospam-abuse at ilyaz dot = org --- Comment #3 from Ilya Zakharevich --- Another occurrence: cc -c -I pari-2.3.5/src -I pari-2.3.5/src/headers -I pari-2.3.5/src -I ./libPARI -I ../pari-2.3.5/src -I ../pari-2.3.5/src/headers -I ../pari-2.3.5/src/graph -I . -fwrapv -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=3D64 -O2 -DVERSION=3D\"\" -DXS_VERSION=3D\"\" -fPIC -DPLOT_IS_TUNABLE -DHAS_STAT -DHAS_OPENDIR -DASMINLINE -DGCC_INLINE -DDYNAMIC_PLOTTING -o trans2.o ../pari-2.3.5/src/basemath/trans2.c during RTL pass: split1 ../pari-2.3.5/src/basemath/trans2.c: In function =C3=83=C2=A2=C3=82=C3=82ga= sin=C3=83=C2=A2=C3=82=C3=82: ../pari-2.3.5/src/basemath/trans2.c:214:1: internal compiler error: Segmentation fault 214 | } | ^ This was extracted from the remote testing report: https://www.cpantesters.org/cpan/report/cdb99a16-b09c-11ec-abe2-d569c5ce7= 7ec (This is =E2=80=9Cremote testing=E2=80=9D, so this report is =E2=80=9Cas go= od as it gets=E2=80=9D; I cannot provide more details than in the report above.) To reproduce: one should get and untar=20 =20 https://cpan.metacpan.org/authors/id/I/IL/ILYAZ/modules/Math-Pari-2.030522a= .tar.gz then run (in the extracted directory) perl Makefile.PL make =E2=81=9C=E2=81=9C=E2=81=9C=E2=81=9C=E2=81=9C=E2=81=9C=E2=81=9C=E2=81=9C=E2= =81=9C=E2=81=9C=E2=81=9C=E2=81=9C=E2=81=9C=E2=81=9C=E2=81=9C=E2=81=9C=E2=81= =9C=E2=81=9C=E2=81=9C=E2=81=9C=E2=81=9C=E2=81=9C=E2=81=9C=E2=81=9C=E2=81=9C= =E2=81=9C=E2=81=9C=E2=81=9C=E2=81=9C=E2=81=9C=E2=81=9C=E2=81=9C=E2=81=9C=E2= =81=9C=E2=81=9C=E2=81=9C=E2=81=9C=E2=81=9C=E2=81=9C=E2=81=9C=E2=81=9C=E2=81= =9C In fact, I can also produce the text of the subroutine, and how it is preprocessed (on MY machine, with gcc 4.9.3): GEN gasin(GEN x, long prec) { long sx; pari_sp av; GEN a, y, p1; switch(typ(x)) { case t_REAL: sx =3D signe(x); if (!sx) return real_0_bit(expo(x)); if (absrnz_egal1(x)) { /* |x| =3D 1 */ if (sx > 0) return Pi2n(-1, lg(x)); /* 1 */ y =3D Pi2n(-1, lg(x)); setsigne(y, -1); return y; /* -1 */ } if (expo(x) < 0) return mpasin(x); y =3D cgetg(3,t_COMPLEX); gel(y,1) =3D Pi2n(-1, lg(x)); gel(y,2) =3D mpach(x); if (sx < 0) { setsigne(y[1],-signe(y[1])); setsigne(y[2],-signe(y[2])); } return y; case t_COMPLEX: av =3D avma; return gerepilecopy(av, mulcxmI(gash(mulcxI(x), prec))); case t_INTMOD: case t_PADIC: pari_err(typeer,"gasin"); default: av =3D avma; if (!(y =3D toser_i(x))) break; if (gcmp0(y)) return gcopy(y); /* lg(y) > 2*/ if (valp(y) < 0) pari_err(negexper,"gasin"); p1 =3D gsubsg(1,gsqr(y)); if (gcmp0(p1)) { GEN t =3D Pi2n(-1,prec); if (gsigne(gel(y,2)) < 0) setsigne(t, -1); return gerepileupto(av, scalarser(t, varn(y), valp(p1)>>1)); } p1 =3D gdiv(derivser(y), gsqrt(p1,prec)); a =3D integ(p1,varn(y)); if (!valp(y)) a =3D gadd(a, gasin(gel(y,2),prec)); return gerepileupto(av, a); } return transc(gasin,x,prec); } =E2=81=9C=E2=81=9C=E2=81=9C=E2=81=9C=E2=81=9C=E2=81=9C=E2=81=9C=E2=81=9C=E2= =81=9C=E2=81=9C=E2=81=9C=E2=81=9C=E2=81=9C=E2=81=9C=E2=81=9C=E2=81=9C=E2=81= =9C=E2=81=9C=E2=81=9C=E2=81=9C=E2=81=9C=E2=81=9C=E2=81=9C=E2=81=9C=E2=81=9C= =E2=81=9C=E2=81=9C=E2=81=9C=E2=81=9C=E2=81=9C=E2=81=9C=E2=81=9C=E2=81=9C=E2= =81=9C=E2=81=9C=E2=81=9C=E2=81=9C=E2=81=9C=E2=81=9C=E2=81=9C=E2=81=9C=E2=81= =9C=E2=81=9C=E2=81=9C Proprocessed (with gcc v4.9.3) GEN gasin(GEN x, long prec) { long sx; pari_sp av; GEN a, y, p1; switch(((long)(((pari_ulong)((x)[0])) >> (32 - 7)))) { case t_REAL: sx =3D (((long)((x)[1])) >> (32 - 2)); if (!sx) return real_0_bit(((long) ((((pari_ulong)((x)[1])) & ((1UL<<= (32 - 2))-1)) - (1UL<<((32 - 2)-1))))); if (absrnz_equal1(x)) { if (sx > 0) return Pi2n(-1, ((long)(((pari_ulong)((x)[0])) & ((1UL<= <(32 - 1 - 7))-1)))); y =3D Pi2n(-1, ((long)(((pari_ulong)((x)[0])) & ((1UL<<(32 - 1 - 7))-1)))); (((pari_ulong*)(y))[1]=3D (((pari_ulong*)(y))[1]&(~(~((1UL<<(32 = - 2)) - 1)))) | (pari_ulong)(((pari_ulong)(-1)) << (32 - 2))); return y; } if (((long) ((((pari_ulong)((x)[1])) & ((1UL<<(32 - 2))-1)) - (1UL<<(= (32 - 2)-1)))) < 0) return mpasin(x); y =3D cgetg(3,t_COMPLEX); (((GEN*) (y))[1]) =3D Pi2n(-1, ((long)(((pari_ulong)((x)[0])) & ((1UL= <<(32 - 1 - 7))-1)))); (((GEN*) (y))[2]) =3D mpacosh(x); if (sx < 0) togglesign((((GEN*) (y))[1])); else togglesign((((GEN*) (y))[2])); return y; case t_COMPLEX: if (ismpzero((((GEN*) (x))[2]))) return gasin((((GEN*) (x))[1]), prec= ); av =3D avma; return gerepilecopy(av, mulcxmI(gasinh(mulcxI(x), prec))); default: av =3D avma; if (!(y =3D toser_i(x))) break; if (gequal0(y)) return gerepilecopy(av, y); if (((long) ((((pari_ulong)((y)[1])) & ((1UL<<(32 - 2 - 14))-1)) - (1UL<<((32 - 2 - 14)-1)))) < 0) pari_err_DOMAIN("asin","valuation", "<", ge= n_0, x); p1 =3D gsubsg(1,gsqr(y)); if (gequal0(p1)) { GEN t =3D Pi2n(-1,prec); if (gsigne((((GEN*) (y))[2])) < 0) (((pari_ulong*)(t))[1]=3D (((pari_ulong*)(t))[1]&(~(~((1UL<<(32 - 2)) - 1)))) | (pari_ulong)(((pari_ulong)(-1)) << (32 - 2))); return gerepileupto(av, scalarser(t, ((long)((((pari_ulong)((y)[1]))&(((1UL<<14)-1)<<(32 - 2 - 14))) >> (32 - 2 - 14))), ((long) ((((pari_ulong)((p1)[1])) & ((1UL<<(32 - 2 - 14))-1)) - (1UL<<((32 - 2 - 14)-1))))>>1)); } p1 =3D gdiv(derivser(y), gsqrt(p1,prec)); a =3D integser(p1); if (!((long) ((((pari_ulong)((y)[1])) & ((1UL<<(32 - 2 - 14))-1)) - (1UL<<((32 - 2 - 14)-1))))) a =3D gadd(a, gasin((((GEN*) (y))[2]),prec)); return gerepileupto(av, a); } return trans_eval("asin",gasin,x,prec); }=