I see in AVX2 instruction set, Intel distinguishes the XOR operations of integer, double and float with different instructions. For Integer there's "VPXORD", and for double "VXORPD", for float "VXORPS"
However, per my understanding, they should all be the same XOR operation on binary data. E.g., XOR of two 256-bit registers, and has nothing to do with the actual data type. Why do we need to use different instructions for different data types?