Forget SM3.0 on the current generation of hardware; it simply ain't fast enough.
Let me explain things before I get flamed away from these forums; I wrote this Blinn shader where light is attenuated according to a radial distance from the source.
Normally pixels residing outside of the light range will be darkened by an attenuation coefficient of zero magnitude leaving a shade equal to the ambient color of the material.
Those pixels don't need to go through the entire Blinn equation, and that's where branching could step forth, help identify and discard them early through the pixel pipe.
However, according to my findings, PS 3.0 is too slow on the current GeForce 6 range of cards to bring any advantage over the conventional way of computing illumination.
Here are few snapshots taken from a demo Iím working on right now, notice that in the PS3.0 lighting model, the pixels that were discarded are colored in green.