Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!uwm.edu!uakari.primate.wisc.edu!ctrsol!emory!jdyx!tpf From: tpf@jdyx.UUCP (Tom Friedel) Newsgroups: gnu.gcc.bug Subject: i386.md, divsi3 and udivsi3, clarification requested Message-ID: <1989Sep29.172458.2501@jdyx.UUCP> Date: 29 Sep 89 17:24:58 GMT Distribution: usa Organization: JDyx Enterprises (Atlanta GA) Lines: 32 In 1.36 the i386 file appears to (still) be missing the entries for divsi3 and udivsi3. My limited understanding is that if they are not found in the template file, gcc will get them from gnulib. This does not seem to be the case (i386-sysv) as I often see unresolved external __divsi3, perhaps more when trying to link cc and gcc programs together. Could a knowledgeable person post the correct fix to i386.md as well as make a statement about the following from a few months ago by James R. Van Artsdalen (james@bigtex.cactus.org). In <590@everex.UUCP>, mb@everex.UUCP (Michael Burg) wrote: (define_insn "udivsi3" [(set (match_operand:SI 0 "general_operand" "=&a") (udiv:SI (match_operand:SI 1 "general_operand" "0") (match_operand:SI 2 "general_operand" "rm"))) (clobber (reg:SI 1))] "" >>> "cltd\;div%L0 %2") Oops: I don't think you want to sign extend the operands to an unsigned division. Might do something like "xor%L0 %%edx,%%edx\;div%L0 %2" instead. -- Tom -- Tom Friedel (404) 320-7624 tpf@jdyx.UUCP also: tpf@jdyx.atlanta.ga.us ...gatech!emory!jdyx!tpf Public Access Unix BBS: (404) 321-5020 "Live simply, so that others may simply live."