On 9 September 2012 10:24, Aurelien Jarno <aurel...@aurel32.net> wrote: > On Sun, Sep 09, 2012 at 01:40:52AM +0400, Max Filippov wrote: >> I've also stumbled upon this bug, have a patch for it in the xtensa tree. >> I guess that the interface was designed to allow combining these flags, why >> don't just make them independent: > > My idea was that negating both the product and c is equivalent to > negating the result, so there is no need to allow all of them > independent.
But at least some of them can reasonably be independent, so at that point you might as well make them all independent flags. In fact my reading of the PPC ISA is that it needs several combinations: fmadd : no flags fnmadd : negate_result fmsub : negate_c fnmsub : negate_result | negate_c ...and it looks like your patch is incorrectly only setting negate_result for the fnmsub case. (I can't see anything handling the fnmadd and fmsub insns, do we not implement them?) (negate_product will be used by x86 and SPARC, among others.) thanks -- PMM