https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115153
Andrew Pinski <pinskia at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Summary|Error: bad immediate value |[14/15 Regression] Error: |for 8-bit offset - armv7ve |bad immediate value for | |8-bit offset - armv7ve Status|WAITING |NEW Target Milestone|--- |14.2 --- Comment #6 from Andrew Pinski <pinskia at gcc dot gnu.org> --- I suspect r14-4365-g0731889c026bfe is the cause. ``` (define_insn "arm_atomic_loaddi2_ldrd" [(set (match_operand:DI 0 "register_operand" "=r") (unspec_volatile:DI - [(match_operand:DI 1 "arm_sync_memory_operand" "Q")] + [(match_operand:DI 1 "memory_operand" "m")] VUNSPEC_LDRD_ATOMIC))] "ARM_DOUBLEWORD_ALIGN && TARGET_HAVE_LPAE" - "ldrd%?\t%0, %H0, %C1" - [(set_attr "predicable" "yes")]) + "ldrd\t%0, %H0, %1" +) ``` Most likely that should have been `ldrd_strd_offset_operand/Do` . There might be other places in that patch which made the same mistake too.