Article View: gnu.gcc.bug
Article #2170gcc 1.32/386 bug
From: James Van Artsdalen
Date: Fri, 20 Jan 1989 03:48
Date: Fri, 20 Jan 1989 03:48
22 lines
1238 bytes
1238 bytes
GNU C 1.32, SysV 386. An insn pattern was added to 1.32/386 to push a byte. Unfortunately, the 386 cannot do this. The assembler fails when given a gcc-generated line like: pushw %bl The news insn pattern seems internally inconsistent: it passes a QI argument to an opcode expecting an HI. Since there isn't a QI push, how do I tell the assembler it cannot push QI and must convert to HI? ;; emit_push_insn when it calls move_by_pieces ;; requires an insn to "push a byte". ;; But actually we use pushw, which has the effect of rounding ;; the amount pushed up to a halfword. (define_insn "" [(set (match_operand:QI 0 "push_operand" "=<") (match_operand:QI 1 "general_operand" "q"))] "" "push%W %1") -- James R. Van Artsdalen james@bigtex.cactus.org "Live Free or Die" DCC Corporation 9505 Arboretum Blvd Austin TX 78759 512-338-8789
Technical Details
Message-ID:
<12958@bigtex.cactus.org>Path:
arc1-ca.pugleaf.net!utzoo!telly!ddsw1!lll-winken!uunet!tut.cis.ohio-state.edu!cs.utexas.edu!milano!bigtex!jamesShow Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!utzoo!telly!ddsw1!lll-winken!uunet!tut.cis.ohio-state.edu!cs.utexas.edu!milano!bigtex!james From: james@bigtex.cactus.org (James Van Artsdalen) Newsgroups: gnu.gcc.bug Subject: gcc 1.32/386 bug Message-ID: <12958@bigtex.cactus.org> Date: 20 Jan 89 03:48:36 GMT Organization: Institute of Applied Cosmology, Austin TX Lines: 22