Quote:
Originally Posted by jotd
Anyone can propose further improvements on that one?
|
Micro optimization..
Code:
addq.w #1,d3 ; loop counter is one off
lsr.l d3,d0
moveq #0,d5
bset d3,d5
subq.l #1,d5 ; generate 1111s mask
move.l d1,d2
and.l d5,d2
asr.l d3,d1
moveq #32,d5
sub.w d3,d5 ; shift = 32-shift
lsl.l d5,d2
or.l d2,d0
But probably only on 68000
EDIT: I had wasted a register...