On 11 March 2015 at 16:41, Paul Gilmartin <
00000014e0e4a59b-dmarc-requ...@listserv.uga.edu> wrote:

> On 2015-03-11, at 08:49, John McKown wrote:
> >  And POPCNT is another
> > one. Why do I need to know the number of 1 bits in each individual
> > byte in a GPR?
> >
> Because CDC had it first?  I suspect that it became a built-in
> function in Pascal, CARD(), because Pascal was developed on a
> CDC which had the hardware.  And I suspect FORTRAN's transfer-
> of-sign, SIGNF() happened because it was a hardware instruction
> on the 704.
>
> Is POPCNT an inexpensive extension of the Wallace Tree?
>

It might also be this particular one is necessary in data compression
things when dealing with hamming weight. But I suspect a strong motivation
is that they needed it for use in the milicode and it was fairly doable to
expose it.

Yes, it would be lots of fun to hear about the why behind things. Like I
was kind of disappointed by the size of the vector in SMID so would love to
hear the things that guide the design.

Rob

Reply via email to