Update: Thanks to those who offered the suggestions, particularly the=20 barrel shifter. Things look MUCH better today. The left justify routine now takes 45 cycles worst case (Denominator =3D 1)= ,=20 16 cycles best case. Went back, took a clean sheet of paper, started working thru it. Not nearly as ugly as I had=20 thought. Pretty much linear code, no loops, very few branches. The process also popped up a nearly free divide by zero=20 detector. (1 conditional branch.). It does a <8 bit shift to get byte justify, then a conditonal byte swap to get word= =20 justify, then a conditional word swap to get an INT32 justify. With that I am on to the rest of the effort. That outside counsel put me o= n=20 the right track. I still have to make better friends with the DSP core. Right now it's kind of like a first date. Ther= e=20 is a bunch of stuff down there that I may be able to use in the future. I need to understand that whole DSP core better= ..=20 (Rainy day project and winter is coming.) Once again, thanks for the suggestions.=20 --=20 http://www.piclist.com PIC/SX FAQ & list archive View/change your membership options at http://mailman.mit.edu/mailman/listinfo/piclist .