[Bug target/16563] The compiler doesnt the necessary push/restore of r18/r19

j dot gnu at uriah dot heep dot sax dot de gcc-bugzilla@gcc.gnu.org
Thu Jul 15 20:41:00 GMT 2004


------- Additional Comments From j dot gnu at uriah dot heep dot sax dot de  2004-07-15 20:41 -------
I can confirm the bug, as well as the regression against GCC 3.3.x.

In GCC 3.3.x, parameter `d' (in Martin's test case) has been internally
copied over to r14 through r17, and that value was used then.  In GCC 3.4.x,
`d' is no longer saved, so wrong values will be passed on once a called
function has modified r18 and/or r19 (which it is free to do according to the
ABI specification).

-- 


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



More information about the Gcc-bugs mailing list