I found that a lack of barrel shifter or at least micro-coded shift 'n' hampers Cordic in an 8 bit CPU but I coded a routine up for fun in 6502. I never found a use for it myself as there always seems to be a faster way to do things for games programming at least.
Yes a barrel shifter would have been a nice addition to the 6502. L
Yes, general purpose code is rarely the answer. I think all of us see that after a while.
Then, after that process, one starts coding differently. Chain stuff together, using common ops, pulling off intermediate values, etc... For most things, a fast way exists, but it will often be a tweak or two to make sense in the context.
https://forums.atariage.com/blogs/entry/3385-atan2-in-6502/