gpt4 book ai didi

c - @zero_extendqisi2 的含义

转载 作者:行者123 更新时间:2023-12-04 03:47:41 27 4
gpt4 key购买 nike

我想知道 @ zero_extendqisi2 的实际含义是什么在 gcc 汇编输出中,还有用法。我找不到qisi代表什么或任何类似的东西。
对于上下文,该行是 ldrb r3, [fp, #-9] @ zero_extendqisi2这是 Raspberry Pi Zero W 上的 ARM,使用 GCC 编译。例如,当重新加载 unsigned char 时转换为 int ,禁用优化,GCC9.2 没有选项。 https://godbolt.org/z/7xnfqh .较旧的 GCC 一直到最早的 Godbolt (4.5) 并且可能更早地打印了相同的评论。

最佳答案

这是一个 RTL指令名称,包含在 Standard Names list of the GCC internals manual 中下 zero_extendmn2 .这里m,nmachine modes qisi ,分别是一个字节和一个 32 位整数。所以这是 GCC 的指示,它正在生成一条指令,该指令接受一个字节(此处从内存加载)并将其零扩展为 32 位整数(此处在寄存器 r3 中)。这正是ARM ldrb指令。
我不知道 2 代表什么,但它显然是 GCC 命名约定的一部分。
正如 Peter 指出的那样,GCC 在没有 -fverbose-asm 的情况下在程序集中包含这样的注释有点奇怪。 .实际上,注释被编码为机器描述文件中模板字符串的一部分, arm.md .它可能是某些 GCC 开发人员添加后忘记取出的调试辅助工具。
(如果你提交这个作为你的作业,请正确引用这篇文章。)

关于c - @zero_extendqisi2 的含义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64896604/

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