https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88630

Oleg Endo <olegendo at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
   Last reconfirmed|                            |2019-10-02
     Ever confirmed|0                           |1

--- Comment #10 from Oleg Endo <olegendo at gcc dot gnu.org> ---
(In reply to Zavadovsky Yan from comment #9)
> 
> Checked GCC 8.2 + your patch and crosstool-ng to build toolchain(using same
> config as I've used while reporting bug).
> 
> At least it works on attached main.cpp.
> Got no assert when run on our STiH237-based board.

OK, thanks for confirming it.  I think the fabs instruction is affected in the
same way.


I have to think about how to integrate this fix.  We can set it as a default
behavior for all FPU-capable SH4 variants, but that will pessimize it for
everything.

The other option is to enable this only for your specific CPU (ST-40), which
would require you to use the -m4-300 option, not the -m4 option.  I would
recommend you to use -m4-300 as it will also enable some other features which
will generate better code than running plain SH4 code with -m4.

If we tie this fix to -m4-300, if you're building a linux system, you will need
to build the compiler with -m4-300 as a default, instead of -m4.  If not doing
linux with a generic sh-elf bare-metal compiler, you'd need to specify -m4-300
when compiling all the software.  Would that be feasible for you?

Reply via email to