%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

Reply via email to