Richard Henderson <r...@redhat.com> writes: > On 2012-06-12 22:50, Maxim Kuvyrkov wrote: >> The third patch is a small optimization to alleviate >> __atomic_compare_exchange[_n] builtins being a use-one-for-all >> solutions. These builtins return both boolean "success" and "oldval" >> results. As most cases use only one of the results, this >> optimizations looks at REG_UNUSED notes to determine if instructions >> to set these results can be omitted. > > If you split the pattern, similar to how it's handled on Alpha, > and normal dead-code elimination will handle this.
One hitch with that is that we need a branch-likely instruction for -mfix-r10000. I suppose we could fudge it with a special (probably unspec_volatile) branch pattern, but I'm nervous about doing something so unusual for such a corner case. Richard