[Bug sanitizer/95137] Sanitizers seem to be missing support for coroutines
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95137 --- Comment #45 from Rafael Avila de Espindola --- (In reply to niek from comment #43) > Does this mean (and could you please reconfirm) that bug 95317 has > disappeared in trunk (which will become GCC 12)? Hi, I am not working on a project using coroutines right now, so I can't easily do any test other than trying the reduced testcase as you did.
[Bug target/97734] GCC using branches when a conditional move would be better
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97734 --- Comment #3 from Rafael Avila de Espindola --- I just realized I made a mistake when producing the reduced testcase. The argument x should have been an uint32_t. Unfortunately, with that fix gcc always produces a branch. ICC still produces a cmov: https://gcc.godbolt.org/z/zszrPK I would be very happy with a __builtin_branchless_select.
[Bug target/97734] New: GCC using branches when a conditional move would be better
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97734 Bug ID: 97734 Summary: GCC using branches when a conditional move would be better Product: gcc Version: 11.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: target Assignee: unassigned at gcc dot gnu.org Reporter: rafael at espindo dot la Target Milestone: --- Created attachment 49511 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=49511=edit graph Playing with the code in https://github.com/patmorin/arraylayout I noticed that I could not reproduce the results for the eytzinger layout. It turns out the issue was with current gcc selecting moves instead of conditional moves for that particular code. A reduced testcase is #include uint64_t branchfree_search(uint64_t x, uint64_t n, uint32_t *a) { uint64_t i = 0; while (i < n) { i = (x <= a[i]) ? (2*i + 1) : (2*i + 2); } uint64_t j = (i+1) >> __builtin_ffsl(~(i+1)); return (j == 0) ? n : j-1; } I have placed it in https://gcc.godbolt.org/z/Krqrz7 Results * ICC: conditional move * Clang: branches * GCC 6.4: conditional move * Newer GCCs with -O2: branches * GCC with -Os: conditional move The attached graph shows how the conditional move is better for "small" array sizes.
[Bug libstdc++/90295] Please define ~exception_ptr inline
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90295 --- Comment #5 from Rafael Avila de Espindola --- > Fixed for GCC 11, and not plausible to backport. Thank you so much! Looking forward to GCC 11.