Path: utzoo!telly!ddsw1!mcdchg!rutgers!mailrus!umix!b-tech!zeeff From: zeeff@b-tech.ann-arbor.mi.us (Jon Zeeff) Newsgroups: gnu.gcc.bug Subject: '386 gcc bug for 1.28 Message-ID: <4871@b-tech.ann-arbor.mi.us> Date: 16 Oct 88 15:46:12 GMT Organization: Branch Technology, Ann Arbor, MI Lines: 34 The following code produces an invalid instruction: static unsigned short newh(pred, foll) /* new hash function */ unsigned short pred; /* code for preceeding string */ unsigned char foll; /* value of following char */ { return (((pred + foll) & 0xFFFF) * 15073) & 0xFFF; /* faster hash */ } newh: pushl %ebp movl %esp,%ebp pushl %ebx movw 8(%ebp),%dx movw %dx,8(%ebp) movb 12(%ebp),%dl movb %dl,12(%ebp) movzbw 12(%ebp),%bx addw 8(%ebp),%bx imulw $15073,%bx <- error andw $4095,%bx movzwl %bx,%eax jmp .L79 .L79: leal -4(%ebp),%esp popl %ebx leave ret .align 4 -- Jon Zeeff Branch Technology, umix!b-tech!zeeff zeeff@b-tech.ann-arbor.mi.us