The only .s file I have was the example from Markstein's book and which was easily fixed with a .pred.rel "mutex" as pointed out by David Mosberger. I could see that the assembler did some analysis as I wrote the directive against predicates a (logical) step removed from the instructions generating the warnings and that eliminated the warnings.
Richard On Thursday 07 August 2003 09:03 am, Al Stone wrote: > Just because I'm lazy, I'd appreciate a copy of the .s file :). > There have been a couple of bugs around predication in the past, > too. > > On Tue, 2003-08-05 at 15:36, Richard Harke wrote: > > Before trying to locate the precise lines in the kernel, I tried > > an experiment. I I took a small routine in assembly > > from the book "IA64 and Elementary Functions" (page 36) and > > assembled it. I got several WAW warnings. All the instructions > > involved are predicated with it arranged that only one > > predicate will be true. But apparently the assembler can't detect that. > > I don't know how much the assembler tries to do in this case > > but appears to me to be non-trivial. This case involves four > > predicates all set on the same pass in a loop. But the tests that > > set them are controlled by two more predictates that are set > > on a previous pass. And the numbers have changed because > > of register rotation. > > > > I can stil try to find the lines in question in the kernel, if anybody > > thinks that would be useful. Also, I could email a copy of the > > routine described above. > > > > Richard > > > > On Tuesday 05 August 2003 09:19 am, Al Stone wrote: > > > If someone will send me the snippets of code > > > with the warnings, I'll take a look at both the code > > > and gas to see what it's doing.... > > > > > > On Mon, 2003-08-04 at 15:04, David Mosberger wrote: > > > > >>>>> On Mon, 4 Aug 2003 10:03:50 -0600, Bjorn Helgaas > > > > >>>>> <[EMAIL PROTECTED]> said: > > > > > > > > Bjorn> They've been there for years, so I've learned to ignore > > > > them. > > > > > > > > I wouldn't want to encourage people to ignore those messages. Yes, > > > > some of them can be ignored, but if you develop new assembly code, > > > > I'd definitely pay attention. > > > > > > > > Unfortunately, GCC sometimes doesn't provide sufficient annotation to > > > > the assembler so that it could know that the offending code is indeed > > > > safe. > > > > > > > > Also, in the hand-coded assembly routines, there are a few places > > > > where hazard warnings are a bit difficult to avoid. It's something > > > > we should fix eventually, but it may require some help from gas. > > > > > > > > --david

