Right. It's not actually called 2.1. The actual profile is two different profiles, ps_2_a and ps_2_b, which both compile to a version token of 2.1 in the bytecode. I don't know what the difference between a and b is.
IIRC ps_2_a was the NVIDIA variant and ps_2_b the ATI variant at the time, and they had slightly different features and limits. I'm not sure the differences are particularly well documented anywhere, but you may be able to find something in the GPU vendor documentation from back then.