Software does mostly target Profiles, such as RVA22 (latest ratified application profile). They specify a set of extensions that is required.
Note that all software compiled for RVA20 does still run on RVA22 CPUs. but software built for RVA22 does not (directly, trapping and emulating is possible) run on the older RVA20 CPUs, as they lack the necessary instructions.
This is not unlike e.g.: x86-64v3 vs x86-64v2.
It is only in situations where the implementation is very small and vendor has full control of both the software and the hardware stack that the vendor might benefit from implementing exactly what they want.
CPUs and software stacks for servers, workstations, laptops, smartphones, tablets and such simply stick to profiles.
Windows and Android are expected to require RVA22+V, possibly RVA23, as the baseline.