aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorXi Ruoyao <xry111@xry111.site>2025-03-12 21:02:38 +0800
committerXi Ruoyao <xry111@xry111.site>2025-03-13 11:38:39 +0800
commit4e6967aba1aaa9dfc362ce59b3d9358a6a15603c (patch)
tree2667ae3352bf5db009fd0fdee99fd51a718e1738
parent8015a72ae496401e05942f4d33c94aa45174f841 (diff)
downloadgcc-4e6967aba1aaa9dfc362ce59b3d9358a6a15603c.zip
gcc-4e6967aba1aaa9dfc362ce59b3d9358a6a15603c.tar.gz
gcc-4e6967aba1aaa9dfc362ce59b3d9358a6a15603c.tar.bz2
LoongArch: Don't use C++17 feature [PR119238]
Structured binding is a C++17 feature but the GCC code base is in C++14. gcc/ChangeLog: PR target/119238 * config/loongarch/simd.md (<su>dot_prod<wvec_half><mode>): Stop using structured binding.
-rw-r--r--gcc/config/loongarch/simd.md14
1 files changed, 8 insertions, 6 deletions
diff --git a/gcc/config/loongarch/simd.md b/gcc/config/loongarch/simd.md
index 8f7e912..dd17cd1 100644
--- a/gcc/config/loongarch/simd.md
+++ b/gcc/config/loongarch/simd.md
@@ -809,18 +809,20 @@
(any_extend (const_int 0))]
""
{
- auto [op0, op1, op2, op3] = operands;
+ rtx *op = operands;
- if (op3 == CONST0_RTX (<WVEC_HALF>mode))
+ if (op[3] == CONST0_RTX (<WVEC_HALF>mode))
emit_insn (
- gen_<simd_isa>_<x>vmulwev_<simdfmt_w>_<simdfmt><u> (op0, op1, op2));
+ gen_<simd_isa>_<x>vmulwev_<simdfmt_w>_<simdfmt><u> (op[0], op[1],
+ op[2]));
else
emit_insn (
- gen_<simd_isa>_<x>vmaddwev_<simdfmt_w>_<simdfmt><u> (op0, op3, op1,
- op2));
+ gen_<simd_isa>_<x>vmaddwev_<simdfmt_w>_<simdfmt><u> (op[0], op[3],
+ op[1], op[2]));
emit_insn (
- gen_<simd_isa>_<x>vmaddwod_<simdfmt_w>_<simdfmt><u> (op0, op0, op1, op2));
+ gen_<simd_isa>_<x>vmaddwod_<simdfmt_w>_<simdfmt><u> (op[0], op[0],
+ op[1], op[2]));
DONE;
})