[Libre-soc-dev] [RFC] svp64 "source zeroing" makes no sense
Richard Wilbur
richard.wilbur at gmail.com
Sun Mar 21 23:21:05 GMT 2021
On Sun, Mar 21, 2021 at 5:07 PM Luke Kenneth Casson Leighton
<lkcl at lkcl.net> wrote:
>
> On Sunday, March 21, 2021, Richard Wilbur <richard.wilbur at gmail.com> wrote:
> > I guess it escapes me why this is called source predicate zeroing if
> > it only affects the output.
>
>
> i know. odd, isn't it. the clue is in
>
> if (src_zeroing and ((1<<srcstep) & srcmask) == 0) or
> (dest_zeroing and ((1<<dststep) & srcmask) == 0)):
> result = 0
Why isn't it:
if (src_zeroing and ((1<<srcstep) & srcmask) == 0) or
(dest_zeroing and ((1<<dststep) & dstmask) == 0)):
result = 0
>
> it's not
>
> if (dest_zeroing and ((1<<srcstep) & srcmask) == 0) or
> (dest_zeroing and ((1<<dststep) & srcmask) == 0)):
> result = 0
>
> it's not
>
> if (src_zeroing and ((1<<srcstep) & srcmask) == 0) or
> (src_zeroing and ((1<<dststep) & srcmask) == 0)):
> result = 0
>
> it's
>
> if (src_zeroing and ((1<<srcstep) & srcmask) == 0) or
> (dest_zeroing and ((1<<dststep) & srcmask) == 0)):
> result = 0
For some reason, whether src_zeroing or dest_zeroing, in all of these
examples you compare against only srcmask. Why are you ignoring
dstmask?
More information about the Libre-soc-dev
mailing list