https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103973
Richard Biener <rguenth at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords| |missed-optimization Last reconfirmed| |2022-01-11 Status|UNCONFIRMED |NEW Ever confirmed|0 |1 Target| |x86_64-*-* i?86-*-* --- Comment #5 from Richard Biener <rguenth at gcc dot gnu.org> --- We are lowering this to return <retval> = TARGET_EXPR <D.8264, SAVE_EXPR <a> != SAVE_EXPR <b> ? SAVE_EXPR <a> < SAVE_EXPR <b> ? less : SAVE_EXPR <b> < SAVE_EXPR <a> ? greater : unordered : equivalent>>>; I don't think we can elide the first ucomisd, but we should be able to CSE the last (from the original quoted assembler), not sure if it ultimatively results in better code though.