upvote
Yea, there were things like shift and add to do multiplication more efficiently, but they were all one-cycle instructions. It was very regular that way, all designed around a clean pipeline without a stalls or bypassing. But, consequently, it originally didn’t even have integer multiplication or division, just shift and add and a “divide step” that you could repeat/loop. Looking at the instruction set just now, I chuckled at how simple it was. It makes RISC-V look complex.

See: ftp.parisc-linux.org/docs/arch/pa11_acd.pdf

Edit: actually, it did have fixed point multiply via the floating point unit (opcode XMPYU). No fixed point divide, though.

reply