delorie.com/archives/browse.cgi   search  
Mail Archives: pgcc/1999/07/02/19:24:38

Date: Fri, 2 Jul 1999 16:51:03 -0400
From: Igor Schein <igor AT txc DOT com>
To: Pgcc Mailing List <pgcc AT delorie DOT com>
Subject: failed 'make check'
Message-Id: <19990702165103.S19108@pandora.txc.com>
Mime-Version: 1.0
X-Mailer: Mutt 0.95.6us
Reply-To: pgcc AT delorie DOT com

Hi,

one of the files in the test suite, 950512-5.c
could not be compiled with optimization.  

Here's the file:
------------------------------------------------------------------------
typedef unsigned short uint16;
f (unsigned char *w)
{
  w[2] = (uint16) ((((g (0) % 10000 + 42) & 0xFF) << 8) | (((g (0) % 10000 + 42) >> 8) & 0xFF)) & 0xFF,
  w[3] = (uint16) ((((g (0) % 10000 + 42) & 0xFF) << 8) | (((g (0) % 10000 + 42) >> 8) & 0xFF)) >> 8;
}
------------------------------------------------------------------------
	
Here's the
error:

------------------------------------------------------------------------
950512-1.c: In function `f':
950512-1.c:6: fixed or forbidden register 0 (ax) was spilled for class AREG.
950512-1.c:6: This may be due to a compiler bug or to impossible asm
950512-1.c:6: statements or clauses.
950512-1.c:6: This is the instruction:
(insn 60 57 61 (parallel[
            (set (reg:SI 1 %edx)
                (truncate:SI (lshiftrt:DI (mult:DI (sign_extend:DI (reg:SI 5 %edi))
                            (sign_extend:DI (reg:SI 3 %ebx)))
                        (const_int 32 [0x20]))))
            (clobber (scratch:SI))
        ] ) 241 {smulsi3_highpart} (insn_list 49 (nil))
    (expr_list:REG_DEAD (reg:SI 3 %ebx)
        (expr_list:REG_UNUSED (scratch:SI)
            (nil))))                                        
------------------------------------------------------------------------

The platform on which it occured is pentiumpro, but I suspect
it's platform-independent.  The version of pgcc used is 990629.

Thanks

Igor

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019