Path: utzoo!utgpu!watmath!uunet!tut.cis.ohio-state.edu!YAHI.STANFORD.EDU!tiemann From: tiemann@YAHI.STANFORD.EDU (Michael Tiemann) Newsgroups: gnu.g++.bug Subject: g++-1.34.2 generating bogus sparc assembler code Message-ID: <8904051820.AA11929@yahi.stanford.edu> Date: 5 Apr 89 18:20:37 GMT References: <8904051749.AA16941@laotse.santafe.edu> Sender: daemon@tut.cis.ohio-state.edu Reply-To: tiemann@lurch.stanford.edu Distribution: gnu Organization: GNUs Not Usenet Lines: 33 I posted a fix to bug-gcc@prep.ai.mit.edu. I should have CC'd to bug-g++. Here is the fix: yahi% diff -c2 sparc.md~ sparc.md *** sparc.md~ Mon Mar 27 09:37:42 1989 --- sparc.md Tue Apr 4 09:01:36 1989 *************** *** 1496,1503 **** "" "* ! return (GET_CODE (operands[1]) == CONST_INT ! ? \"sethi %%hi(%1),%0\;or %%lo(%1),%0,%0\" ! : \"mov %1,%0\"); ! ") ;;- and instructions (with compliment also) --- 1496,1506 ---- "" "* ! { ! if (GET_CODE (operands[1]) == MEM) ! return \"ld %1,%0\"; ! if (REG_P (operands[1]) || small_int (operands[1])) ! return \"mov %1,%0\"; ! return \"sethi %%hi(%1),%0\;or %%lo(%1),%0,%0\"; ! }") ;;- and instructions (with compliment also) yahi% Don't worry if the line numbers don't match up. Michael