[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