16 Star 0 Fork 13

ocs-upgrade/gcc

forked from OpenCloudOS Stream/gcc 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
0002-LoongArch-Fixed-bug-in-bstrins_-mode-_for_ior_mask-t.patch 1.36 KB
一键复制 编辑 原始数据 按行查看 历史
From 6a487dd4e37a1738df5103bd06a2c69dd154d553 Mon Sep 17 00:00:00 2001
From: Li Wei <liwei@loongson.cn>
Date: Mon, 25 Dec 2023 11:20:23 +0800
Subject: [PATCH 2/2] LoongArch: Fixed bug in *bstrins_<mode>_for_ior_mask
template.
We found that using the latest compiled gcc will cause a miscompare error
when running spec2006 400.perlbench test with -flto turned on. After testing,
it was found that only the LoongArch architecture will report errors.
The first error commit was located through the git bisect command as
r14-3773-g5b857e87201335. Through debugging, it was found that the problem
was that the split condition of the *bstrins_<mode>_for_ior_mask template was
empty, which should actually be consistent with the insn condition.
gcc/ChangeLog:
* config/loongarch/loongarch.md: Adjust.
---
gcc/config/loongarch/loongarch.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/gcc/config/loongarch/loongarch.md b/gcc/config/loongarch/loongarch.md
index 63ff32e7569..3b2c57ef99a 100644
--- a/gcc/config/loongarch/loongarch.md
+++ b/gcc/config/loongarch/loongarch.md
@@ -1377,7 +1377,7 @@
"loongarch_pre_reload_split () && \
loongarch_use_bstrins_for_ior_with_mask (<MODE>mode, operands)"
"#"
- ""
+ "&& true"
[(set (match_dup 0) (match_dup 1))
(set (zero_extract:GPR (match_dup 0) (match_dup 2) (match_dup 4))
(match_dup 3))]
--
2.33.0
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/ocs-upgrade/gcc.git
git@gitee.com:ocs-upgrade/gcc.git
ocs-upgrade
gcc
gcc
master

搜索帮助