【问题标题】:What is I8(Integer of unspecified type) in arm NEON data types?arm NEON 数据类型中的 I8(未指定类型的整数)是什么?
【发布时间】:2021-02-08 09:25:59
【问题描述】:

NEON 数据类型中的整数

type 8-bit 16-bit
Unsigned integer U8 U16
Signed integer S8 S16
Integer of unspecified type I8 I16

I8S8 有什么区别?

【问题讨论】:

  • 大概适用于像随机播放或二进制加法/减法这样的操作,其中有符号或无符号的操作是相同的。但这只是猜测。
  • 这种差异的一个例子是饱和操作。您饱和的位置在有符号字节和无符号字节之间有所不同。

标签: assembly neon


【解决方案1】:

评论已经描述了它们,Peter Cordes完美地总结了这个想法:

大概适用于像随机播放或二进制加法这样的操作 / 减法,其中有符号或的运算相同 未签名


重点回答Neon的指令集,大部分指令只接受特定的数据类型,规则是:

  • I有效时,SU也有效
  • 仅指定数据大小时,USI 有效(P 和 F 也是)
  • 某些指令会忽略数据类型
  • 当没有数据类型时,任何一个都有效

很容易知道哪些指令将指定数据类型,即:

  • 为了获得绝对值,VABS只接受S类型(注意它也允许F32)。

  • 有些指令接受I,因此它们也接受SU,例如按位与(VAND)。

【讨论】:

  • 答案通常应该是独立的。如果这意味着重复 cmets 的解释,那么就这样做。如果需要,请随意复制我的评论文本。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2023-03-31
  • 2011-07-06
  • 2021-04-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-01-14
相关资源
最近更新 更多