汇编优化系列关于符号扩展和无符号扩展(包括mips msa实现)

Posted 飞翔的鲲

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了汇编优化系列关于符号扩展和无符号扩展(包括mips msa实现)相关的知识,希望对你有一定的参考价值。

DATE: 2021.11.26


前言

在mips msa intrinsic工程优化过程中,遇到了将矢量寄存器中每个16位整数符号扩展到32位的情况(数据类型:int16*),因为错误将符号扩展使用成了无符号扩展,导致结果错误。下面讲解符号扩展和无符号扩展的相关概念以及mips msa实现方式。

1、参考

符号扩展和无符号扩展
extension

2、符号扩展和无符号扩展 含义

MIPS32 指令集架构中,经常会有指令需要将其中的立即数进行符号扩展,或者无符号扩展,一般都是都是将n位立即数扩展为32位。

  • 无符号扩展:直接将扩展后的数据的高(32-n)位置为0。
  • 符号扩展:将扩展后的数据的高(32-n)位置为立即数的最高位。

An in

以上是关于汇编优化系列关于符号扩展和无符号扩展(包括mips msa实现)的主要内容,如果未能解决你的问题,请参考以下文章

汇编语言中 MOVSX 先符号扩展,再传送. MOVZX 先零扩展,再传送. 这个 符号扩展和零扩展时啥意思?

MIPS中beq指令是不是需要符号位扩展?

求汇编指令集

汇编语言中的符号拓展怎么理解,都有哪些规则

优化系列MIPS架构汇编优化资料

优化系列汇编优化技术:MIPS架构纯汇编优化及demo