Assembling the following (-xexplicit): .text .global foobar .proc foobar .align 32
foobar: { .mmi cmp.ne p7, p6 = 0, in1 ;; .pred.rel.mutex p7, p6 (p7) cmp.eq p7, p9 = 0, r32 (p6) cmp.eq p6, p9 = 0, r32 } ;; .pred.rel.mutex p7, p6, p9 { .mbb (p9) ld8 r8 = [ r32 ], 8 (p7) br.cond.spnt.few barfoo (p6) br.ret.spnt.few rp } ;; { .mib add r8 = 1, r8 nop 0x0 br.ret.sptk.few rp } ;; .endp foobar yields the following error: foo.s: Assembler messages: foo.s:8: Error: No current frame foo.s:13: Warning: Use of 'cmp.eq' may violate WAW dependency 'PR%, % in 1 - 15' (impliedf), specific resource number is 9 foo.s:13: Warning: Only the first path encountering the conflict is reported foo.s:12: Warning: This is the location of the conflicting usage foo.s:13: Warning: Use of 'cmp.eq' may violate WAW dependency 'PR%, % in 1 - 15' (impliedf), specific resource number is 9 foo.s:13: Warning: Only the first path encountering the conflict is reported foo.s:12: Warning: This is the location of the conflicting usage This warning is invalid because exactly one of the instructions on line 12 and 13 will execute. This bug appears to be in versions 2.18, 2.17, 2.16 and 2.15 (I stopped checking after that). There are no problems with execution, of course. -- Summary: Invalid warning about predicate WAW for Itanium Product: binutils Version: 2.18 Status: NEW Severity: normal Priority: P2 Component: gas AssignedTo: unassigned at sources dot redhat dot com ReportedBy: jsworley at qwest dot net CC: bug-binutils at gnu dot org GCC build triplet: ia64-unknown-linux-gnu GCC host triplet: ia64-unknown-linux-gnu GCC target triplet: ia64-unknown-linux-gnu http://sourceware.org/bugzilla/show_bug.cgi?id=5704 ------- You are receiving this mail because: ------- You are on the CC list for the bug, or are watching someone who is. _______________________________________________ bug-binutils mailing list bug-binutils@gnu.org http://lists.gnu.org/mailman/listinfo/bug-binutils