Updated Golang ppc64x asm Reference (markdown)

Sun Yimin 2024-08-30 13:32:13 +08:00
parent 96ad4d4623
commit fd8733bc6a

@ -81,11 +81,13 @@
- **VSPLTW** "Vector Splat Word". This instruction is used to replicate a specified word (32-bit element) across all elements of a vector register.
### 从内存加载(Load)数据
- **LVX** "Load Vector Indexed". This instruction is used to load a vector from memory into a vector register. The **LVX** instructions on ppc64 require 16 byte alignment of the data. To avoid that requirement, data is loaded using **LXVD2X** with **VPERM** to reorder bytes correctly.
- **LXVDSX** "Load Vector Doubleword Scalar Indexed". This instruction is used to load a doubleword (64-bit element) from memory into a vector register.从指定内存位置加载64位数据将其存储到目标向量寄存器的lower halfbyte index from 0-7
- **LVXD2X** "Load Vector Doubleword 2 Indexed". This instruction is used to load two consecutive doublewords (64-bit elements) from memory into a vector register. 加载两个连续的64位数到目标向量寄存器。
## 存储向量寄存器中的数据到内存
- **STXVD2X** "Store Vector Doubleword 2 Indexed". This instruction is used to store two consecutive doublewords (64-bit elements) from a vector register into memory.
- **STVX** "Store Vector Indexed". This instruction is used to store a vector from a vector register into memory.The **STVX** instructions on ppc64 require 16 byte alignment of the data. To avoid that requirement, data is stored using **STXVD2X** with **VPERM** to reorder bytes correctly.
- **STXVD2X** "Store Vector Doubleword 2 Indexed". This instruction is used to store two consecutive doublewords (64-bit elements) from a vector register into memory.
## 判断相等
- **VCMPEQUD** "Vector Compare Equal Unsigned Doubleword". This instruction is used to compare the corresponding doublewords (64-bit elements) in two vector registers for equality. The instruction compares the doublewords in the source registers for equality. If the doublewords are equal, the corresponding element in the result is set to all ones; otherwise, it is set to all zeros.