* [Linux-ia64] gcc 0925+patch22 -> as warnings: WAW dependencies
@ 2000-10-05 14:44 Steve Tynor
2000-10-05 18:06 ` Jim Wilson
0 siblings, 1 reply; 2+ messages in thread
From: Steve Tynor @ 2000-10-05 14:44 UTC (permalink / raw)
To: linux-ia64
I'm using the 0925 toolchain with gcc version 2.96-ia64-000717 snap
000925 with the patch in the README to allow it to operate on my stock
glibc 2.1.3 Turbolinux install.
My program now seg faults in an as yet to be determined location (leaves
no stack and all registers are "0" according to gdb... joy). During the
compile, with "gcc -O", I got a number of the following warnings.
Should I be concerned? Would passing -xauto to "as" help? I'm not sure
what to make of the warnings; the first one seems to be worried about
the two stores through [r18] (but I don't understand what "resource
number is 45" is trying to tell me). The second, I'm not sure about
since I don't see any conflifts with r46 or r14 anywhere in the
vicinity. (though at least in that case "resource is 46" matches the
register in the flagged instruction).
DebugControls.s: Assembler messages:
DebugControls.s:1415: Warning: Use of 'mov' may violate WAW dependency 'GR%, % in 1 - 127' (impliedf) when entry is at label '.L55', specific resource number is 45
DebugControls.s:1415: Warning: Only the first path encountering the conflict is reported
DebugControls.s:1412: Warning: This is the location of the conflicting usage
DebugControls.s:1416: Warning: Use of 'addl' may violate WAW dependency 'GR%, % in 1 - 127' (impliedf) when entry is at label '.L55', specific resource number is 46
DebugControls.s:1416: Warning: Only the first path encountering the conflict is reported
DebugControls.s:1413: Warning: This is the location of the conflicting usage
.L15:
.loc 0 365 0
mov r15 = r43
adds r14 = -8, r43
mov r16 = r43
;;
adds r15 = -232, r43
mov r17 = r43
adds r16 = -96, r43
addl r18 = @ltoff(.LC1), gp
;;
ld8 r17 = [r18]
adds r18 = 16, r12
;;
st8 [r18] = r17
adds r17 = 16, r12
adds r18 = 24, r12
;; <<<<<<<<<<<<---- line 1412
addl r17 = 365, r0 <<<<<<<<<<<<---- line 1413
;;
st4 [r18] = r17 <<<<<<<<<<<<---- line 1415
ld8.acq r46 = [r14] <<<<<<<<<<<<---- line 1416
ld8 r47 = [r15]
ld8 r48 = [r16]
addl r14 = @ltoff(CC_com_twr_Debug#), gp
;;
Thanks,
Steve
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: [Linux-ia64] gcc 0925+patch22 -> as warnings: WAW dependencies
2000-10-05 14:44 [Linux-ia64] gcc 0925+patch22 -> as warnings: WAW dependencies Steve Tynor
@ 2000-10-05 18:06 ` Jim Wilson
0 siblings, 0 replies; 2+ messages in thread
From: Jim Wilson @ 2000-10-05 18:06 UTC (permalink / raw)
To: linux-ia64
You should worry about all DV warnings, except those that mention LBB or LBE
labels. Those are due to a compiler/assembler interaction problem that hasn't
been fixed yet.
Dependency violation checking is done against hardware resources, and resource
numbers are interpreted relative to the particular resource reported. In this
case, the resource is "GR%, % in 1 - 127", so a resource number of 45 means
r45.
The warnings include assembly line numbers. So the assembler is complaining
that the instruction at line 1415 has a write-after-write conflict on r45
with the instruction at line 1412. If you look at those two lines, it should
be possible to figure out what the problem is. Or you could try posting
an assembly language except and let someone else try to figure out what is
wrong.
If this was a C source file, without any extended asms, then this probably
indicates a compiler or assembler bug. In that case, it would be useful to
have a testcase so I can fix the bug.
Jim
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2000-10-05 18:06 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2000-10-05 14:44 [Linux-ia64] gcc 0925+patch22 -> as warnings: WAW dependencies Steve Tynor
2000-10-05 18:06 ` Jim Wilson
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox