ARM SIMD instruction -- scvtf

SCVTF

       Signed fixed-point Convert to Floating-point (vector). This instruction converts each element in a vector from fixed-point to floating-point using the rounding mode that is specified by the FPCR,  and writes the result to the SIMD&FP destination register.

       有符号定点转换为浮点(向量)。此指令使用FPCR指定的舍入模式将向量中的每个元素从定点转换为浮点,并将结果写入SIMD&FP目标寄存器。

FPCR : Floating-point Control Register,浮点数控制寄存器。

  402880:    fd242be8     str    d8, [sp, #18512]        // [sp+0x4850]=d8
  402884:    52800040     mov    w0, #0x2                       // #2
  402888:    fd405be8     ldr    d8, [sp, #176]          // d8=proc_stt_jf
  40288c:    fd242fe9     str    d9, [sp, #18520]        // [sp+0x4858]=d9
  402890:    97fffd5c     bl    401e00 <sysconf@plt>    // sysconf(2)
  402894:    9e620009     scvtf    d9, x0
        double sc_clk_tck = sysconf(_SC_CLK_TCK);

=> 0x0000000000402880:  e8 2b 24 fd     str     d8, [sp, #18512]
(gdb) n
0x0000000000402884 in ?? ()
=> 0x0000000000402884:  40 00 80 52     mov     w0, #0x2                        // #2
(gdb) n
0x0000000000402888 in ?? ()
=> 0x0000000000402888:  e8 5b 40 fd     ldr     d8, [sp, #176]
(gdb)
0x000000000040288c in ?? ()
=> 0x000000000040288c:  e9 2f 24 fd     str     d9, [sp, #18520]
(gdb)
0x0000000000402890 in ?? ()
=> 0x0000000000402890:  5c fd ff 97     bl      0x401e00 <sysconf@plt>
(gdb)
0x0000000000402894 in ?? ()
=> 0x0000000000402894:  09 00 62 9e     scvtf   d9, x0
(gdb) p $d9
$3 = {f = 0, u = 0, s = 0}
(gdb) p $x0
$4 = 100

(gdb) n
0x0000000000402898 in ?? ()
=> 0x0000000000402898:  38 21 60 1e     fcmpe   d9, #0.0
(gdb) p $d9
$5 = {f = 100, u = 4636737291354636288, s = 4636737291354636288}

d x f 三种形式打印

(gdb) p/d $d9
$6 = {f = 100, u = 4636737291354636288, s = 4636737291354636288}
(gdb) p/x $d9
$7 = {f = 0x64, u = 0x4059000000000000, s = 0x4059000000000000}
(gdb) p/f $d9
$8 = {f = 100, u = 100, s = 100}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值