On Sun, Sep 09, 2012 at 10:47:52AM +0100, Peter Maydell wrote: > 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?)
fnmadd and fmsub are provided as part as floating point instructions (something else to clean), not as part as altivec instructions. > (negate_product will be used by x86 and SPARC, among others.) > > thanks > -- PMM > -- Aurelien Jarno GPG: 1024D/F1BCDB73 aurel...@aurel32.net http://www.aurel32.net