[Bug target/98737] Atomic operation on x86 no optimized to use flags
rguenth at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Tue Jan 19 07:55:59 GMT 2021
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98737
Richard Biener <rguenth at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |NEW
Last reconfirmed| |2021-01-19
Keywords| |missed-optimization
Ever confirmed|0 |1
Target|x86 |x86_64-*-* i?86-*-*
--- Comment #1 from Richard Biener <rguenth at gcc dot gnu.org> ---
Confirmed. Probably difficult to achieve since the atomics map to
parallel/UNSPEC:
(insn 7 6 8 (parallel [
(set (reg:DI 83 [ _2 ])
(unspec_volatile:DI [
(mem/v:DI (symbol_ref:DI ("a") [flags 0x2] <var_decl
0x7ffff7ff5b40 a>) [-1 S8 A64])
(const_int 3 [0x3])
] UNSPECV_XCHG))
(set (mem/v:DI (symbol_ref:DI ("a") [flags 0x2] <var_decl
0x7ffff7ff5b40 a>) [-1 S8 A64])
(plus:DI (mem/v:DI (symbol_ref:DI ("a") [flags 0x2] <var_decl
0x7ffff7ff5b40 a>) [-1 S8 A64])
(reg:DI 86)))
(clobber (reg:CC 17 flags))
]) "t.c":5:10 -1
(nil))
More information about the Gcc-bugs
mailing list