[Bug target/44364] Wrong code with e500 double floating point

Kyle dot D dot Moffett at boeing dot com gcc-bugzilla@gcc.gnu.org
Tue Jun 8 04:24:00 GMT 2010



------- Comment #31 from Kyle dot D dot Moffett at boeing dot com  2010-06-08 04:24 -------
Alan,

Now that I've corrected all of my compiler issues, your first patch (the one
quoted below) works like a charm.  I still need to do the extensive
archive-rebuild and testsuite run to verify that it completely works, but that
will take a couple days.

Looking good!

Cheers,
Kyle Moffett

(In reply to comment #28)
> /* When setting up caller-save slots (MODE == VOIDmode) ensure we
>    allocate space for DFmode.  Save gprs in the correct mode too.  */
> #define HARD_REGNO_CALLER_SAVE_MODE(REGNO, NREGS, MODE) \
>   (TARGET_E500_DOUBLE && ((MODE) == VOIDmode || (MODE) == DFmode)       \
>    ? DFmode                                                             \
>    : choose_hard_reg_mode ((REGNO), (NREGS), false))


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44364



More information about the Gcc-bugs mailing list