Problem is because the input is invalid . We just end up generating
ldrex r0, [r1, #-24] .
asm volatile(
"movw %1, #1\n\t"
"ldrex %2, %0\n\t"
"cmp %3, %2\n\t"
"bne.n 0f\n\t"
"strex %1, %4, %0\n\t"
"0:"
: "+m"(*location), "=&r"(result), "=&r"(tmp)
: "r"(expected), "r"(newValue)
: "memory");
Eh - you can't use m for a constraint to an address in ldrex . Try "+Q" instead.
regards,
Ramana
--
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1045879
Title:
Error: bad immediate value for offset
To manage notifications about this bug go to:
https://bugs.launchpad.net/gcc/+bug/1045879/+subscriptions
--
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs