about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
authorRich Felker <dalias@aerifal.cx>2016-01-22 02:58:32 +0000
committerRich Felker <dalias@aerifal.cx>2016-01-22 02:58:32 +0000
commit513c043694f500a01bd8d899ff73441aa7457a1f (patch)
tree50c4cc8fc40a4f847b94542559206bb2fb603529 /src
parent16b55298dc4b6a54d287d7494e04542667ef8861 (diff)
downloadmusl-513c043694f500a01bd8d899ff73441aa7457a1f.tar.gz
musl-513c043694f500a01bd8d899ff73441aa7457a1f.tar.xz
musl-513c043694f500a01bd8d899ff73441aa7457a1f.zip
overhaul powerpc atomics for new atomics framework
previously powerpc had a_cas defined in terms of its native ll/sc
style operations, but all other atomics were defined in terms of
a_cas. instead define a_ll and a_sc so the compiler can generate
optimized versions of all the atomic ops and perform better inlining
of a_cas.

extracting the result of the sc (stwcx.) instruction is rather awkward
because it's natively stored in a condition flag, which is not
representable in inline asm. but even with this limitation the new
code still seems significantly better.
Diffstat (limited to 'src')
0 files changed, 0 insertions, 0 deletions