Shift Out 20 bits

I am using shift out to send bytes to 74595 shift registers all day long, very happy.

My question is, how can I send just 20 bits to a single HV5812 20 bit shift register?

I have not yet found any information on how I might achieve this.

Is it actually possible to use shift out 3 times in succession as if I were sending to three 74595's linked together and just waste the last (or actually the first) 4 bits or is there a better way?

Take a look at

If you want to send exactly 20 bits then you will need to do the bit banging of the output pin yourself rather than using shiftOut()

I haven't used this exact shift register, but could you not just transfer it 24 bits using three shiftOut() calls? It looks like the first four bits would just get wasted by being sent out the Data Out pin.