[Bug target/44364] Wrong code with e500 double floating point
--- Comment #43 from mark dot workman at acm dot org 2010-06-09 14:07 --- (In reply to comment #39) > Hi, Kyle Moffett, > in testall.c, r9 is used by a register variable, however, in E500ABI > guide, > r9 should be used for parameter passing, this test case seems not reasonable. > > Harry He Please note that this testcase was removed by Kyle (see comment #12) and that neither the original testcase (tc-lossings-float.c) nor the trimmed testcase (tc-lossings-float-3.c) make such explicit use of particular registers. Thus, it does appear that it is the compiler that is making the register assignments in question. Cheers, Mark > -- mark dot workman at acm dot org changed: What|Removed |Added CC| |mark dot workman at acm dot | |org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44364
[Bug target/44364] Wrong code with e500 double floating point
--- Comment #45 from mark dot workman at acm dot org 2010-06-10 17:43 --- (In reply to comment #40) > with my toolchain (From CodeSourcery, 4.4-78), o1test gives correct behavior > with built-in flags(-te500v2), but wrong behaviors with "-fcaller-saves -O > -fno-omit-frame-pointer -fno-dce -fno-split-wide-types". Results are same even > after I rebuilt the toolchain with the patch to e500.h. > > is there any tricks here? > >From what I can tell of CodeSourcery 4.4-78, it contains a heavily patched fork of gcc 4.4.1. This bug is reported against gcc 4.4.4. Harry, are you saying you believe this is a regression of gcc from 4.4.1 to 4.4.4? Or does CodeSourcery have a (perhaps different) patch for this issue that should be submitted here? Regards, Mark -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44364