This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug target/48126] arm_output_sync_loop: misplaced memory barrier, missing clrex / dummy strex


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48126

--- Comment #2 from Michael K. Edwards <m.k.edwards at gmail dot com> 2011-03-17 18:14:11 UTC ---
Please insert the text of your citations, since the ARM ARM is not a public
document.

I think I'm persuaded that the CLREX isn't necessary -- although I'm going to
keep it in my compiler so that I can monitor ldrex/strex pairing accurately in
valgrind/qemu.

How about the branch past the DMB?  What's actually required in order to get
"ordered" semantics?  If it's safe to skip the trailing DMB in the "compare
failed" case, maybe it can be disposed of entirely?


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]