Path: utzoo!telly!attcan!uunet!tut.cis.ohio-state.edu!GANG-OF-FOUR.STANFORD.EDU!weening From: weening@GANG-OF-FOUR.STANFORD.EDU (Joe Weening) Newsgroups: gnu.gcc.bug Subject: Re: Bug report for gcc 1.34 on the Alliant Message-ID: <8903112120.AA00296@Gang-of-Four.Stanford.EDU> Date: 11 Mar 89 21:20:29 GMT Sender: daemon@tut.cis.ohio-state.edu Distribution: gnu Organization: GNUs Not Usenet Lines: 84 The following patch should fix the "invalid operand" bug. It turns out that none of the Alliant fix-to-float instructions allow immediate data operands. *** alliant.md.old Sat Mar 11 13:12:18 1989 --- alliant.md Sat Mar 11 13:13:15 1989 *************** *** 987,991 **** (define_insn "" [(set (match_operand:SF 0 "general_operand" "=f") ! (float:SF (match_operand:SI 1 "general_operand" "dmi")))] "TARGET_68881" "fmovels %1,%0") --- 987,991 ---- (define_insn "" [(set (match_operand:SF 0 "general_operand" "=f") ! (float:SF (match_operand:SI 1 "general_operand" "dm")))] "TARGET_68881" "fmovels %1,%0") *************** *** 999,1003 **** (define_insn "" [(set (match_operand:DF 0 "general_operand" "=f") ! (float:DF (match_operand:SI 1 "general_operand" "dmi")))] "TARGET_68881" "fmoveld %1,%0") --- 999,1003 ---- (define_insn "" [(set (match_operand:DF 0 "general_operand" "=f") ! (float:DF (match_operand:SI 1 "general_operand" "dm")))] "TARGET_68881" "fmoveld %1,%0") *************** *** 1005,1009 **** (define_insn "floathisf2" [(set (match_operand:SF 0 "general_operand" "=f") ! (float:SF (match_operand:HI 1 "general_operand" "dmn")))] "TARGET_68881" "fmovews %1,%0") --- 1005,1009 ---- (define_insn "floathisf2" [(set (match_operand:SF 0 "general_operand" "=f") ! (float:SF (match_operand:HI 1 "general_operand" "dm")))] "TARGET_68881" "fmovews %1,%0") *************** *** 1011,1015 **** (define_insn "floathidf2" [(set (match_operand:DF 0 "general_operand" "=f") ! (float:DF (match_operand:HI 1 "general_operand" "dmn")))] "TARGET_68881" "fmovewd %1,%0") --- 1011,1015 ---- (define_insn "floathidf2" [(set (match_operand:DF 0 "general_operand" "=f") ! (float:DF (match_operand:HI 1 "general_operand" "dm")))] "TARGET_68881" "fmovewd %1,%0") *************** *** 1017,1021 **** (define_insn "floatqisf2" [(set (match_operand:SF 0 "general_operand" "=f") ! (float:SF (match_operand:QI 1 "general_operand" "dmn")))] "TARGET_68881" "fmovebs %1,%0") --- 1017,1021 ---- (define_insn "floatqisf2" [(set (match_operand:SF 0 "general_operand" "=f") ! (float:SF (match_operand:QI 1 "general_operand" "dm")))] "TARGET_68881" "fmovebs %1,%0") *************** *** 1023,1027 **** (define_insn "floatqidf2" [(set (match_operand:DF 0 "general_operand" "=f") ! (float:DF (match_operand:QI 1 "general_operand" "dmn")))] "TARGET_68881" "fmovebd %1,%0") --- 1023,1027 ---- (define_insn "floatqidf2" [(set (match_operand:DF 0 "general_operand" "=f") ! (float:DF (match_operand:QI 1 "general_operand" "dm")))] "TARGET_68881" "fmovebd %1,%0")