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

Reply via email to