]> git.ipfire.org Git - thirdparty/gcc.git/commit
optabs: Fix widening optabs for vec-mode -> scalar-mode [PR116926]
authorAndrew Pinski <quic_apinski@quicinc.com>
Tue, 4 Feb 2025 03:58:45 +0000 (19:58 -0800)
committerAndrew Pinski <quic_apinski@quicinc.com>
Tue, 4 Feb 2025 08:19:09 +0000 (00:19 -0800)
commit4c98b3825f99fcec8fd921550e2dc45f2d966cbb
treea331c81fa372fa3449f4487d30b390235b2833e3
parentc2a0ee58865c5abad40acc59549dd98f40a8f7aa
optabs: Fix widening optabs for vec-mode -> scalar-mode [PR116926]

r15-4317-ga6f4404689f12 tried to add support for widending optabs
for vec-mode -> scalar-mode but it misunderstood how FOR_EACH_MODE worked,
the limit in this case is not inclusive. Which means setting limit to from,
would cause the loop not be executed at all. This fixes by setting the
limit to be the next mode after from mode.

Note the original version that added the widening optabs for vec-mode -> scalar-mode
(https://gcc.gnu.org/pipermail/gcc-patches/2024-October/665021.html) didn't have this
bug, only the second version with suggested change
(https://gcc.gnu.org/pipermail/gcc-patches/2024-October/665068.html) dud. The suggested
change missed this issue with FOR_EACH_MODE.

Bootstrapped and tested on x86_64-linux-gnu.

PR middle-end/116926

gcc/ChangeLog:

* optabs-query.cc (find_widening_optab_handler_and_mode): Fix
limit for `vec-mode -> scalar-mode` case.

Signed-off-by: Andrew Pinski <quic_apinski@quicinc.com>
gcc/optabs-query.cc