gpt4 book ai didi

assembly - 为什么 VMOV.F64 不允许我加载零?

转载 作者:行者123 更新时间:2023-12-01 19:32:24 24 4
gpt4 key购买 nike

以下 ARM 汇编语言:

vmov.f64 d16, #0

因以下错误而失败:

/tmp/ccZD4Iex.s:121: Error: immediate out of range -- `vmov.f64 d16,#0'

使用arm-none-linux-gnueabi-g++编译(Sourcery CodeBench Lite 2012.03-57)4.6.3

如何将 d16 double 寄存器清零,以便将其用于 double VFP 指令?

最佳答案

VMOV 只能接受 limited set浮点立即数,令人惊讶的是,0 不是其中之一:

Any number that can be expressed as +/-n * 2-r, where n and r are integers, 16 <= n <= 31, 0 <= r <= 7.

您可以按照 BitBank 的建议进行操作,或者使用整数移动,这也会将寄存器归零。

vmov.i64 d16, #0

关于assembly - 为什么 VMOV.F64 不允许我加载零?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11205652/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com