Path: utzoo!utgpu!watmath!uunet!bu-cs!bloom-beacon!tut.cis.ohio-state.edu!MADDOG.LLNL.GOV!brooks From: brooks@MADDOG.LLNL.GOV (Eugene Brooks) Newsgroups: gnu.gcc.bug Subject: Bug report for gcc 1.34 on the Alliant Message-ID: <8903110453.AA11037@maddog.llnl.gov> Date: 11 Mar 89 04:53:52 GMT Sender: daemon@tut.cis.ohio-state.edu Distribution: gnu Organization: GNUs Not Usenet Lines: 25 VERSION: Unmolested gcc 1.34 bootstrapped with cc -pcc on first build then normal bootstrap. The following code: main() { int i; i = 0; if(1./4. == i) printf(" bug1 FAILED\n"); else printf(" bug1 PASSED\n"); } when compiled with gcc -O will produce the following assembler instruction on line 13 fmoveld #0,fp0 which the assembler will report as having an invalid operand. Evidently a constant operand is not allowed, I checked that the FX compiler did generate fmoveld, and it did, but it never generated it with a constand operand. I do not know how to constrain the machine description entry to rule out a constand operand, but allow register and memory references, which seems to be the ticket here.