[Bug target/71153] aarch64 LSE __atomic_fetch_and() generates inversion for constants
dhowells at redhat dot com
gcc-bugzilla@gcc.gnu.org
Wed May 18 14:23:00 GMT 2016
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71153
--- Comment #8 from dhowells at redhat dot com <dhowells at redhat dot com> ---
(In reply to Andrew Pinski from comment #7)
> Created attachment 38509 [details]
> Full fix which needs full testing
This is looking good:
0000000000000058 <foo_clear_bit_unlock>:
58: 12001403 and w3, w0, #0x3f
5c: 9346fc02 asr x2, x0, #6
60: d2800020 mov x0, #0x1 // #1
64: 8b020c21 add x1, x1, x2, lsl #3
68: 9ac32000 lsl x0, x0, x3
6c: f8601020 ldclrl x0, x0, [x1]
70: d65f03c0 ret
0000000000000074 <bar_clear_bit_unlock>:
74: d2a00801 mov x1, #0x400000 // #4194304
78: f8611001 ldclrl x1, x1, [x0]
7c: d65f03c0 ret
More information about the Gcc-bugs
mailing list