I read several times, that Cortex-M4 does not support LDRD
/STRD
instructions. But when I try with gcc
13.2 I get these instructions. E.g. x3 = x1
for uint64_t
gives:
ldrd r2, [r0] @ x1.0_1, x1
strd r2, [r1] @ x1.0_1, x3
Compiler options: -mthumb -mcpu=cortex-m4 -mfpu=fpv4-sp-d16 -mfloat-abi=hard -march=armv7e-m+fp -O3 -std=c++23 -fno-exceptions -fno-unwind-tables -fno -rtti -fno-threadsafe-statics -funsigned-char -funsigned-bitfields -fshort-enums -ffunction-sections -fdata-sections -fconcepts -ftemplate-depth=2048 -fstrict-aliasing