how avoid q registers being used for single ldr?

for C code scratch_in[0] = Fin_r[0 * in_step];

the type of scratch_in and Fin_r are both float*,

and the read action showed in disassembly code is ldr q0, [x1, #0]

since the value of X1 is 0x1000000c(not aligned with 128bits), it will cause sync exception (ESR_EL3 == 0x96000021)

I guess it is an alignment fault,

so what I want to know is: how to avoid q register being used for single ldr?

anyway if it is ldr x8, [x1,#0], eveything is fine

any advice would be admired, thanks.

cmd for compiling: armclang.exe --target=aarch64-arm-none-eabi -mcpu=cortex-a53 -mfpu=neon -mfloat-abi=hard -marm -mcmse filename.c