----- Original Message ----- From: Kazu Hirata To: 'Ralf Gütlein' ; gcc ; gnuh8 > > testcase_1: sub r2l, r2l > > mov.b r2l, TCW > > rts > > > > testcase_2: sub r2l, r2l > > mov.b r2l, TCW > > mov.b TCW, r2l ; <-- ???? > > rts > > This sounds serious. I am using the latest gcc from the cvs, but this > problem did not happen. Does your version actually output TCW, not @_TCW? > Have you applied any patches that are not in the cvs? > > Kazu Hirata > Sorry but I made a typo. Of course, what the compiler emits reads: testcase_2: sub r2l, r2l mov.b r2l, @TCW mov.b @TCW, r2l ; <-- ???? rts Still, this is a serious issue, which appears to be present on other targets also. I can prove it at least for i586: _testcase_1__Fv: movb $0, _TCW ret (...) _testcase_2__Fv: movb $0, _TCW movb _TCW, %al ; <-- ???? ret This is happening only with the c++-compiler, the c-compiler issues the expected code. IMO this means that the error must be somewhere within the target-independend part of the sources. This applies to last weeks snapshot. I don't know how long this has been an issue, because I haven't been involved in GCC for a while. Regards, Ralf ..... ô ô ) -----oOOo--(_)---oOOo------ Ralf Guetlein Biotest Medizintechnik GmbH Industriestrasse 19 D-63755 Alzenau Germany --------------------------- Tel. +49 6023 9487-42 Fax. +49 6023 9487-33 ralf.guetlein@biotest-mt.de ---------------------------