Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!samsung!uunet!lll-winken!decwrl!bacchus.pa.dec.com!shlump.nac.dec.com!shell.nac.dec.com!forecast From: forecast@shell.nac.dec.com (John Forecast) Newsgroups: comp.os.minix Subject: C68 problems Message-ID: <15219@shlump.nac.dec.com> Date: 7 Sep 90 17:31:29 GMT Sender: news@shlump.nac.dec.com Reply-To: forecast@shell.enet.dec.com Organization: Digital Equipment Corporation Lines: 25 I tried to mail directly to Christoph but it doesn't look as though it made it. 1. Patch 2 seems to have broken some enum arithmetic. In particular, enum - enum now reports an error from g_addsub indicating that the compiler does not support the operation or it's a compiler bug. 2. The peephole optimizer for and (peep_and) does not check if a source addressing mode relies on the destination register before applying one of it's optimizations. This results in: move.w 0(a2,d0.l),d0 and.l #65535,d0.l being changed to clr.l d0.l move.w 0(a2,d0.l),d0 I added the following check to the last if statement in peep_and || (prev->oper1->mode == am_indx2 && prev->oper1->sreg == ip->oper2->preg) If you use C68 to build your kernel, there is at least one of these in mm/signal.s. John.