https://gcc.gnu.org/bugzilla/show_bug.cgi?id=126647
Bug ID: 126647
Summary: Match vs cond/vec_cond
Product: gcc
Version: 17.0
Status: UNCONFIRMED
Keywords: internal-improvement
Severity: enhancement
Priority: P3
Component: tree-optimization
Assignee: unassigned at gcc dot gnu.org
Reporter: pinskia at gcc dot gnu.org
Target Milestone: ---
As mentioned in
https://gcc.gnu.org/pipermail/gcc-patches/2026-August/726394.html and a few
other places:
(I am still thinking of a way to reduce the number of patterns needed
for cond/vec_cond for inverse of the true/false).
Currently we have to write patterns 2 patterns like:
(cond (ne @0 @1) @true @false)
(cond (eq @0 @1) @true @false)
And this requires us to duplicate patterns and they can get out of sync.
We should allow for :c which then will try to match the inverse of the
conditional. Note this has to handle both NaNs and trapping case for fp types
correctly.