# 浮点测试whestone的编译和优化选项

**URL:** <https://1nfinite.ai/t/whestone/303>\
**Category:** General\
**Created:** [June 18, 2026, 6:38am UTC](https://1nfinite.ai/t/whestone/303 "2026-06-18T06:38:58Z")\
**Posts on this page:** 18\
**Page:** 1

<div class="post-metadata">

**Author:** ![fanfeng](https://1nfinite.ai/letter_avatar_proxy/v4/letter/f/8dc957/32.png) [@fanfeng](https://1nfinite.ai/u/fanfeng)\
**Post date:** [June 18, 2026, 6:38am UTC](https://1nfinite.ai/t/whestone/303/1 "2026-06-18T06:38:58Z")

</div>

在使用zcc编译工具链去编译whestone来测试处理器的浮点能力时候，如何选择具体的编译优化参数。

---

<div class="post-metadata">

**Author:** ![ivan](https://1nfinite.ai/user_avatar/1nfinite.ai/ivan/32/5_2.png) [@ivan](https://1nfinite.ai/u/ivan)\
**Post date:** [June 18, 2026, 6:53am UTC](https://1nfinite.ai/t/whestone/303/2 "2026-06-18T06:53:35Z")

</div>

加`-O3 -ffast-math -flto`就可以了

---

<div class="post-metadata">

**Author:** ![fanfeng](https://1nfinite.ai/letter_avatar_proxy/v4/letter/f/8dc957/32.png) [@fanfeng](https://1nfinite.ai/u/fanfeng)\
**Post date:** [June 26, 2026, 2:01am UTC](https://1nfinite.ai/t/whestone/303/3 "2026-06-26T02:01:42Z")

</div>

使用这个选项编译后，产生的指令条数比gcc也多，分数也低不少，这个会是什么原因引起的

---

<div class="post-metadata">

**Author:** ![ivan](https://1nfinite.ai/user_avatar/1nfinite.ai/ivan/32/5_2.png) [@ivan](https://1nfinite.ai/u/ivan)\
**Post date:** [June 26, 2026, 2:14am UTC](https://1nfinite.ai/t/whestone/303/4 "2026-06-26T02:14:18Z")

</div>

使用的march是什么呢，可以在有fd扩展的情况下再测看看

---

<div class="post-metadata">

**Author:** ![fanfeng](https://1nfinite.ai/letter_avatar_proxy/v4/letter/f/8dc957/32.png) [@fanfeng](https://1nfinite.ai/u/fanfeng)\
**Post date:** [June 26, 2026, 2:27am UTC](https://1nfinite.ai/t/whestone/303/5 "2026-06-26T02:27:02Z")

</div>

![image](https://1nfinite.ai/uploads/default/original/1X/a103edc89e426e83603eefba279d39b5ce33a2c8.png)  
使用的是这个

---

<div class="post-metadata">

**Author:** ![ivan](https://1nfinite.ai/user_avatar/1nfinite.ai/ivan/32/5_2.png) [@ivan](https://1nfinite.ai/u/ivan)\
**Post date:** [June 26, 2026, 3:08am UTC](https://1nfinite.ai/t/whestone/303/6 "2026-06-26T03:08:42Z")

</div>

可以提供gcc/zcc生成elf分析一下，发送到邮箱 [zhengpeng.zhao@terapines.com](mailto:zhengpeng.zhao@terapines.com)

---

<div class="post-metadata">

**Author:** ![fanfeng](https://1nfinite.ai/letter_avatar_proxy/v4/letter/f/8dc957/32.png) [@fanfeng](https://1nfinite.ai/u/fanfeng)\
**Post date:** [June 26, 2026, 3:22am UTC](https://1nfinite.ai/t/whestone/303/7 "2026-06-26T03:22:26Z")

</div>

已经将gcc15和zcc 4.1.6的elf程序发您了，有劳您帮忙分析一下了，感谢

---

<div class="post-metadata">

**Author:** ![ivan](https://1nfinite.ai/user_avatar/1nfinite.ai/ivan/32/5_2.png) [@ivan](https://1nfinite.ai/u/ivan)\
**Post date:** [June 26, 2026, 3:52am UTC](https://1nfinite.ai/t/whestone/303/8 "2026-06-26T03:52:42Z")

</div>

请检查编译链接时的优化选项是否成功加入，目前看起来编译器的优化没有生效， riscv\_sqrtf, dtime这种函数应该就几条指令，现在被翻译的很复杂并且没有被inline,而gcc的elf是inline的

---

<div class="post-metadata">

**Author:** ![fanfeng](https://1nfinite.ai/letter_avatar_proxy/v4/letter/f/8dc957/32.png) [@fanfeng](https://1nfinite.ai/u/fanfeng)\
**Post date:** [June 26, 2026, 8:43am UTC](https://1nfinite.ai/t/whestone/303/9 "2026-06-26T08:43:17Z")

</div>

检查了一下，确实优化选项没有成功加入。加入后表现还是不太理想，新的程序发您了，还得有劳您帮忙分析一下哈

---

<div class="post-metadata">

**Author:** ![ivan](https://1nfinite.ai/user_avatar/1nfinite.ai/ivan/32/5_2.png) [@ivan](https://1nfinite.ai/u/ivan)\
**Post date:** [June 26, 2026, 8:56am UTC](https://1nfinite.ai/t/whestone/303/10 "2026-06-26T08:56:01Z")

</div>

还是发到了上午给的邮箱（ [zhengpeng.zhao@terapines.com](mailto:zhengpeng.zhao@terapines.com) ）吗，好像没有接到邮件

---

<div class="post-metadata">

**Author:** ![zzp](https://1nfinite.ai/letter_avatar_proxy/v4/letter/z/b5ac83/32.png) [@zzp](https://1nfinite.ai/u/zzp)\
**Post date:** [June 26, 2026, 11:01am UTC](https://1nfinite.ai/t/whestone/303/11 "2026-06-26T11:01:56Z")

</div>

确定gcc和zcc编译的是一个程序吗，看汇编似乎是不同的程序

---

<div class="post-metadata">

**Author:** ![fanfeng](https://1nfinite.ai/letter_avatar_proxy/v4/letter/f/8dc957/32.png) [@fanfeng](https://1nfinite.ai/u/fanfeng)\
**Post date:** [July 2, 2026, 3:38am UTC](https://1nfinite.ai/t/whestone/303/12 "2026-07-02T03:38:58Z")

</div>

是用一个工程使用两个工具链编译出的，工程我邮箱发您了，老师。

---

<div class="post-metadata">

**Author:** ![zzp](https://1nfinite.ai/letter_avatar_proxy/v4/letter/z/b5ac83/32.png) [@zzp](https://1nfinite.ai/u/zzp)\
**Post date:** [July 3, 2026, 3:17am UTC](https://1nfinite.ai/t/whestone/303/13 "2026-07-03T03:17:17Z")

</div>

我好像没有收到邮件，还是使用之前的邮箱发送的吗

---

<div class="post-metadata">

**Author:** ![zzp](https://1nfinite.ai/letter_avatar_proxy/v4/letter/z/b5ac83/32.png) [@zzp](https://1nfinite.ai/u/zzp)\
**Post date:** [July 3, 2026, 6:45am UTC](https://1nfinite.ai/t/whestone/303/14 "2026-07-03T06:45:49Z")

</div>

你使用双精度再测试一下，也就是在编译参数里定义一下DP那个宏。你虽然使用的arch是rv64gc但是测试时使用的是单精度浮点

---

<div class="post-metadata">

**Author:** ![fanfeng](https://1nfinite.ai/letter_avatar_proxy/v4/letter/f/8dc957/32.png) [@fanfeng](https://1nfinite.ai/u/fanfeng)\
**Post date:** [July 3, 2026, 9:18am UTC](https://1nfinite.ai/t/whestone/303/15 "2026-07-03T09:18:16Z")

</div>

![image](https://1nfinite.ai/uploads/default/original/1X/6876312d84667486ee1f5f60c6ff29604cd39a7d.jpeg)  
添加宏后，分数有所提高，但是有些核心的跑分代码好像不在了，比如再这个N8测试的时候，没有看到sqrt这些操作对应的反汇编，4010d8和4010dc这两条指令感觉产生的也很诡异。dump和elf我发你邮箱，麻烦老师再帮忙看看

---

<div class="post-metadata">

**Author:** ![zzp](https://1nfinite.ai/letter_avatar_proxy/v4/letter/z/b5ac83/32.png) [@zzp](https://1nfinite.ai/u/zzp)\
**Post date:** [July 3, 2026, 9:22am UTC](https://1nfinite.ai/t/whestone/303/16 "2026-07-03T09:22:20Z")

</div>

N8的sqrt/exp/log会被计算出来，所以会变成确定的值。重点可以关注一下其他没有被优化掉的测试。因为whetstone太老了，在不改benchmark的情况下很多计算都会被优化掉。

---

<div class="post-metadata">

**Author:** ![fanfeng](https://1nfinite.ai/letter_avatar_proxy/v4/letter/f/8dc957/32.png) [@fanfeng](https://1nfinite.ai/u/fanfeng)\
**Post date:** [July 3, 2026, 9:36am UTC](https://1nfinite.ai/t/whestone/303/18 "2026-07-03T09:36:48Z")

</div>

N3、N4、N7、N8指令数都是0，好像都被优化掉了，老师

---

<div class="post-metadata">

**Author:** ![zzp](https://1nfinite.ai/letter_avatar_proxy/v4/letter/z/b5ac83/32.png) [@zzp](https://1nfinite.ai/u/zzp)\
**Post date:** [July 3, 2026, 9:54am UTC](https://1nfinite.ai/t/whestone/303/19 "2026-07-03T09:54:35Z")

</div>

是的，因为这几个测试的运算都太简单了，所以会直接被编译器计算出来，最终导致循环被消掉
