diff options
author | Jakub Jelinek <jakub@redhat.com> | 2024-10-04 12:36:52 +0200 |
---|---|---|
committer | Jakub Jelinek <jakub@gcc.gnu.org> | 2024-10-04 12:36:52 +0200 |
commit | 67b750c20e1f9428ef89a6fed0103e912bea8679 (patch) | |
tree | f8a3732c62692d1dab312f37f879807fd97bb9d6 /libgfortran/generated | |
parent | 247643c7e21b087e6c93b8b8d49b4268bf84b03b (diff) | |
download | gcc-67b750c20e1f9428ef89a6fed0103e912bea8679.zip gcc-67b750c20e1f9428ef89a6fed0103e912bea8679.tar.gz gcc-67b750c20e1f9428ef89a6fed0103e912bea8679.tar.bz2 |
i386: Fix up *minmax<mode>3_2 splitter [PR116925]
While *minmax<mode>3_1 correctly uses
if (MEM_P (operands[1]))
operands[1] = force_reg (<MODE>mode, operands[1]);
to ensure operands[1] is not a MEM, *minmax<mode>3_2 does it wrongly
by calling force_reg but ignoring its return value.
The following borderingly obvious patch fixes that.
Didn't find similar other errors in the backend with force_reg calls.
2024-10-04 Jakub Jelinek <jakub@redhat.com>
PR target/116925
* config/i386/sse.md (*minmax<mode>3_2): Assign force_reg result
back to operands[2] instead of throwing it away.
* g++.target/i386/avx-pr116925.C: New test.
Diffstat (limited to 'libgfortran/generated')
0 files changed, 0 insertions, 0 deletions