31、64位系统下的浮点运算与ARM架构特性解析

64位系统下的浮点运算与ARM架构特性解析

1. 64位系统下的浮点运算

在x86 - 64处理器中,尽管FPU(浮点运算单元)仍然存在,但随着SIMD(单指令多数据)扩展的加入,现代编译器(包括为x86 - 64生成代码的编译器)通常会使用SIMD指令来处理浮点运算,因为这样更加便捷,且数字格式仍遵循IEEE 754标准。

1.1 简单示例

以下是一个简单的C语言函数示例:

#include <stdio.h>
double f (double a, double b)
{
    return a/3.14 + b*4.1;
};
int main()
{
    printf ("%f\n", f(1.2, 3.4));
};
  • x64优化版MSVC 2012代码
__real@4010666666666666 DQ 04010666666666666r ; 4.1
__real@40091eb851eb851f DQ 040091eb851eb851fr ; 3.14
a$ = 8
b$ = 16
f
PROC
    divsd xmm0, QWORD PTR __real@40091eb851eb851f
    mulsd xmm1, QWORD PTR __real@4010666666666666
    addsd xmm0, xmm1
    ret 0
f
ENDP
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值