Jake Hamby writes:
 > As an added bonus, I see that my patch set also included an old m68k patch
 > that had been sitting in my tree, which fixes a crash when -m68040 is 
 > defined.
 > I may have submitted it to port-m68k before. It hasn't been tested with the
 > new compiler either. Here's that patch separately. It only matter when
 > TARGET_68881 && TUNE_68040.

Do you have a test case or some recipe for reproducing the crash?
I'd be happy to test this patch on Linux/M68K.

/Mikael

 > 
 > -Jake
 > 
 > 
 > Index: external/gpl3/gcc/dist/gcc/config/m68k/m68k.md
 > ====================================================================
 > RCS file: /cvsroot/src/external/gpl3/gcc/dist/gcc/config/m68k/m68k.md,v
 > retrieving revision 1.4
 > diff -u -u -r1.4 m68k.md
 > --- external/gpl3/gcc/dist/gcc/config/m68k/m68k.md   24 Jan 2016 09:43:33 
 > -0000      1.4
 > +++ external/gpl3/gcc/dist/gcc/config/m68k/m68k.md   26 Mar 2016 10:42:41 
 > -0000
 > @@ -2132,9 +2132,9 @@
 >  ;; into the kernel to emulate fintrz.  They should also be faster
 >  ;; than calling the subroutines fixsfsi or fixdfsi.
 > 
 > -(define_insn "fix_truncdfsi2"
 > +(define_insn "fix_trunc<mode>si2"
 >    [(set (match_operand:SI 0 "nonimmediate_operand" "=dm")
 > -    (fix:SI (fix:DF (match_operand:DF 1 "register_operand" "f"))))
 > +    (fix:SI (match_operand:FP 1 "register_operand" "f")))
 >     (clobber (match_scratch:SI 2 "=d"))
 >     (clobber (match_scratch:SI 3 "=d"))]
 >    "TARGET_68881 && TUNE_68040"
 > @@ -2143,9 +2143,9 @@
 >    return "fmovem%.l %!,%2\;moveq #16,%3\;or%.l %2,%3\;and%.w 
 > #-33,%3\;fmovem%.l %3,%!\;fmove%.l %1,%0\;fmovem%.l %2,%!";
 >  })
 > 
 > -(define_insn "fix_truncdfhi2"
 > +(define_insn "fix_trunc<mode>hi2"
 >    [(set (match_operand:HI 0 "nonimmediate_operand" "=dm")
 > -    (fix:HI (fix:DF (match_operand:DF 1 "register_operand" "f"))))
 > +    (fix:HI (match_operand:FP 1 "register_operand" "f")))
 >     (clobber (match_scratch:SI 2 "=d"))
 >     (clobber (match_scratch:SI 3 "=d"))]
 >    "TARGET_68881 && TUNE_68040"
 > @@ -2154,9 +2154,9 @@
 >    return "fmovem%.l %!,%2\;moveq #16,%3\;or%.l %2,%3\;and%.w 
 > #-33,%3\;fmovem%.l %3,%!\;fmove%.w %1,%0\;fmovem%.l %2,%!";
 >  })
 > 
 > -(define_insn "fix_truncdfqi2"
 > +(define_insn "fix_trunc<mode>qi2"
 >    [(set (match_operand:QI 0 "nonimmediate_operand" "=dm")
 > -    (fix:QI (fix:DF (match_operand:DF 1 "register_operand" "f"))))
 > +    (fix:QI (match_operand:FP 1 "register_operand" "f")))
 >     (clobber (match_scratch:SI 2 "=d"))
 >     (clobber (match_scratch:SI 3 "=d"))]
 >    "TARGET_68881 && TUNE_68040"

-- 

Reply via email to