From: Xi Ruoyao Date: Wed, 12 Mar 2025 13:02:38 +0000 (+0800) Subject: LoongArch: Don't use C++17 feature [PR119238] X-Git-Tag: basepoints/gcc-16~1536 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=4e6967aba1aaa9dfc362ce59b3d9358a6a15603c;p=thirdparty%2Fgcc.git 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 (dot_prod): Stop using structured binding. --- diff --git a/gcc/config/loongarch/simd.md b/gcc/config/loongarch/simd.md index 8f7e912982e..dd17cd13fc5 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 (mode)) + if (op[3] == CONST0_RTX (mode)) emit_insn ( - gen__vmulwev__ (op0, op1, op2)); + gen__vmulwev__ (op[0], op[1], + op[2])); else emit_insn ( - gen__vmaddwev__ (op0, op3, op1, - op2)); + gen__vmaddwev__ (op[0], op[3], + op[1], op[2])); emit_insn ( - gen__vmaddwod__ (op0, op0, op1, op2)); + gen__vmaddwod__ (op[0], op[0], + op[1], op[2])); DONE; })