https://gcc.gnu.org/bugzilla/show_bug.cgi?id=122477
--- Comment #1 from chenglulu <chenglulu at loongson dot cn> ---
Function loongarch_split_reduction does not handle scalar mode, resulting in
ICE.
The following changes can be restored:
```
diff --git a/gcc/config/loongarch/loongarch.cc
b/gcc/config/loongarch/loongarch.cc
index 9fb0773d59e..fea0bb20ab1 100644
--- a/gcc/config/loongarch/loongarch.cc
+++ b/gcc/config/loongarch/loongarch.cc
@@ -4192,7 +4192,8 @@ loongarch_rtx_costs (rtx x, machine_mode mode, int
outer_code,
machine_mode
loongarch_split_reduction (machine_mode mode)
{
- if (LSX_SUPPORTED_MODE_P (mode))
+ if (!targetm.vector_mode_supported_p (mode)
+ || LSX_SUPPORTED_MODE_P (mode))
return mode;
return mode_for_vector (as_a <scalar_mode> (GET_MODE_INNER (mode)),
```