%T originally allowed to move between registers and memory, using an anadorned
operand for the piece that comes first in memory, and using %T for the second
part.
This does not work with the SH4 floating point registers for little endian
code.
The #ifdef __LITTLE_ENDIAN__ sequences in lib1funcs.asm:udivsi3_i4 are
work around this defect, but these kinds of ifdefs do not scale well.
The SHMEDIA truncdisi2 pattern really should use %R - it couldn't originally
because of a bug in %R, but that's fixed now.
--
Summary: %T output specifier doesn't work right for floating
point registers
Product: gcc
Version: 4.2.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: target
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: amylaar at gcc dot gnu dot org
GCC target triplet: sh*-*-*
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27059