given that we know that the processor supports bitwise-or on floating point values, using a instruction different from that for bitwise-or on integer values, then it is fair to ask why we don't support vector | vector for floating point vectors.
Because processors may add weird instructions for internal reasons, especially in an area where you want to extract every little bit of performance. It is up to the back-end to ensure that the instruction is generated whenever appropriate.
Paolo