Path: utzoo!utgpu!jarvis.csri.toronto.edu!rutgers!boulder!grunwald From: grunwald@foobar.colorado.edu (Dirk Grunwald) Newsgroups: gnu.gcc.bug Subject: Gcc 1.36 Bug in mips backend Message-ID: <12756@boulder.Colorado.EDU> Date: 14 Oct 89 17:31:21 GMT Sender: news@boulder.Colorado.EDU Reply-To: grunwald@foobar.colorado.edu Distribution: gnu Organization: University of Colorado at Boulder Lines: 34 configuration: decstation-3100 virgin gcc-1.36 installation symptom: pattern not recognized by mips backend repeat by: execute the following program. You can also use ``return(i=i+x)'' so I think it's a general problem of converting between floats and ints. If anyone comes up with a patch for this before I do, please send me mail, this is impeding my G++ progress. [foobar-11] cat test.c int foo(int i, float x) { i = (int) x; } [foobar-12] gcc -c -v test.c gcc version 1.36 /usr/local/Gnu/lib/gcc-cpp -v -undef -D__GNUC__ -Dmips -Dunix -D__mips__ -D__unix__ -DR3000 -DLANGUAGE_C -DMIPSEL -DSYSTYPE_BSD -Dultrix test.c /usr/tmp/cca28975.cpp GNU CPP version 1.36 /usr/local/Gnu/lib/gcc-cc1 /usr/tmp/cca28975.cpp -quiet -dumpbase test.c -version -o /usr/tmp/cca28975.s GNU C version 1.36 (AL-MIPS 1.11) compiled by GNU C version 1.36. default target switches: -munix -mnofixed-ovfl -mG0 -mG1 test.c: In function foo: test.c:5: The following insn was not recognizable: (insn 5 4 6 (parallel[ (set (mem:SF (plus:SI (reg:SI 30) (const_int 4))) (reg:DF 6)) (clobber (reg:SI 24)) ] ) -1 (nil) (nil)) gcc: Program cc1 got fatal signal 4. [foobar-13]