相关疑难解决方法(0)

从硬件架构的角度来看,为什么非规范化浮点数比其他浮点数慢得多?

与法线相比,已知非正规性表现不佳,大约100倍左右.这经常导致意外的软件问题.

我很好奇,从CPU架构角度来看,为什么非正规数必须是多慢?缺乏表现是否是他们不幸的表现所固有的?或者CPU架构师可能会忽略它们以减少硬件成本(错误的)假设非正规无关紧要?

在前一种情况下,如果非正规本质上是硬件不友好的,那么是否已知非IEEE-754浮点表示在零附近也是无间隙的,但是对于硬件实现更方便?

floating-point cpu-architecture

15
推荐指数
1
解决办法
911
查看次数

为什么icc会为简单的主要部件生成奇怪的装配?

我有一个简单的程序:

int main()
{
    return 2*7;
}
Run Code Online (Sandbox Code Playgroud)

GCC和clang优化启动时会生成2指令二进制,但icc会产生奇怪的输出.

     push      rbp                                           #2.1
     mov       rbp, rsp                                      #2.1
     and       rsp, -128                                     #2.1
     sub       rsp, 128                                      #2.1
     xor       esi, esi                                      #2.1
     mov       edi, 3                                        #2.1
     call      __intel_new_feature_proc_init                 #2.1
     stmxcsr   DWORD PTR [rsp]                               #2.1
     mov       eax, 14                                       #3.12
     or        DWORD PTR [rsp], 32832                        #2.1
     ldmxcsr   DWORD PTR [rsp]                               #2.1
     mov       rsp, rbp                                      #3.12
     pop       rbp                                           #3.12
     ret
Run Code Online (Sandbox Code Playgroud)

c++ x86 assembly code-generation icc

3
推荐指数
1
解决办法
165
查看次数