Intel® Moderncode for Parallel Architectures
Support for developing parallel programming applications on Intel® Architecture.

IA64 xchg -- why only acquire?

Intel_C_Intel
Employee
319 Views
Please illuminate.

regards,
alexander.
0 Kudos
2 Replies
ClayB
New Contributor I
319 Views
Alexander -

Are you wondering about why only acquire semantics? Or are you wondering why not release, instead?

For me, I think this operation requires both, but I have no idea why acquire was chosen. I've looked through the three Itanium programming books I have. Only one addresses this issue and only then to define it as an acquire operation.

I'll see if I can pass you inquiry on to someone else more versed in Itanium processors.

-- clay
0 Kudos
terekhov
Beginner
319 Views


ClayB wrote:
Alexander -Are you wondering about why only acquire semantics?

Yes. I need release and all sort of other msync semantics. And also "naked" (no msync) atomic stuff, to begin with. In my book, op.acquire is "equivalent" to op.(hoist_load+hoist_store) and release is nothing but op.(sinkt_load+sink_store). I need less constrained atomic "op"-stuff as well. See http://tinyurl.com/xky8 and http://tinyurl.com/xky9.

0 Kudos
Reply