There are generally two types of SIMD instructions:
A. Ones that work with aligned memory addresses, that will raise general-protection (#GP) exception if the address is not aligned on the operand size boundary:
movaps xmm0, xmmword ptr [rax]
vmovaps ymm0, ymmword ptr [rax]
vmovaps zmm0, zmmword ptr [rax]
B. And the ones that work with unaligned memory addresses, that will not raise such exception:
movups xmm0, xmmword ptr [rax]
vmovups ymm0, ymmword ptr [rax]
vmovups zmm0, zmmword ptr [rax]
But I'm just curious, why would I want to shoot myself in the foot and use aligned memory instructions from the first group at all?