Pushed to r15-5581 and r14-10961.
在 2024/11/2 下午3:37, Lulu Cheng 写道:
[x]vldi.{b/h/w/d} is not implemented in LoongArch.
Use the macro [x]vrepli.{b/h/w/d} to replace.
gcc/ChangeLog:
* config/loongarch/lasx.md: Fixed.
* config/loongarch/lsx.md: Fixed.
---
gcc/config/loongarch/lasx.md | 2 +-
gcc/config/loongarch/lsx.md | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/gcc/config/loongarch/lasx.md b/gcc/config/loongarch/lasx.md
index d37b2e83c21..457ed163f31 100644
--- a/gcc/config/loongarch/lasx.md
+++ b/gcc/config/loongarch/lasx.md
@@ -1402,7 +1402,7 @@ (define_insn "lasx_xvreplgr2vr_<lasxfmt_f>"
"ISA_HAS_LASX"
{
if (which_alternative == 1)
- return "xvldi.b\t%u0,0" ;
+ return "xvrepli.b\t%u0,0";
return "xvreplgr2vr.<lasxfmt>\t%u0,%z1";
}
diff --git a/gcc/config/loongarch/lsx.md b/gcc/config/loongarch/lsx.md
index fcba28b0751..a9004290371 100644
--- a/gcc/config/loongarch/lsx.md
+++ b/gcc/config/loongarch/lsx.md
@@ -1275,7 +1275,7 @@ (define_insn "lsx_vreplgr2vr_<lsxfmt_f>"
"ISA_HAS_LSX"
{
if (which_alternative == 1)
- return "vldi.<lsxfmt>\t%w0,0";
+ return "vrepli.b\t%w0,0";
return "vreplgr2vr.<lsxfmt>\t%w0,%z1";
}