Bug 27059 - %T output specifier doesn't work right for floating point registers
Summary: %T output specifier doesn't work right for floating point registers
Status: NEW
Alias: None
Product: gcc
Classification: Unclassified
Component: target (show other bugs)
Version: 4.2.0
: P3 normal
Target Milestone: ---
Assignee: Not yet assigned to anyone
URL:
Keywords: inline-asm
Depends on:
Blocks: 29842
  Show dependency treegraph
 
Reported: 2006-04-06 13:46 UTC by Jorn Wolfgang Rennecke
Modified: 2021-09-14 21:27 UTC (History)
2 users (show)

See Also:
Host:
Target: sh*-*-*
Build:
Known to work:
Known to fail:
Last reconfirmed: 2006-04-06 14:00:18


Attachments
untested patch (1.77 KB, patch)
2006-04-06 15:33 UTC, Jorn Wolfgang Rennecke
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Jorn Wolfgang Rennecke 2006-04-06 13:46:04 UTC
%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.
Comment 1 Jorn Wolfgang Rennecke 2006-04-06 14:00:18 UTC
I intend to introduce a new modifier for the first part of a 64 bit value -
I suppose %t is best suited for that - and change %T for little endian to be
equivalent to %S.
Comment 2 Jorn Wolfgang Rennecke 2006-04-06 15:26:49 UTC
This does not actually affect lib1funcs.asm, since we don't have access to
gcc's output modifiers there anyway.
Comment 3 Jorn Wolfgang Rennecke 2006-04-06 15:33:17 UTC
Created attachment 11218 [details]
untested patch

If this is not blocking the fix for some more serious bug, maybe we should wait with this till 4.2 has branched.
Comment 4 Jorn Wolfgang Rennecke 2007-04-17 09:48:43 UTC
Since I am no longer an SH port maintainer this is no longer of immediate
interest to me.