diff options
author | Xi Ruoyao <xry111@xry111.site> | 2025-03-12 21:02:38 +0800 |
---|---|---|
committer | Xi Ruoyao <xry111@xry111.site> | 2025-03-13 11:38:39 +0800 |
commit | 4e6967aba1aaa9dfc362ce59b3d9358a6a15603c (patch) | |
tree | 2667ae3352bf5db009fd0fdee99fd51a718e1738 | |
parent | 8015a72ae496401e05942f4d33c94aa45174f841 (diff) | |
download | gcc-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.md | 14 |
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; }) |