Updated Golang s390x asm Reference (markdown)

Sun Yimin 2024-08-21 12:07:58 +08:00
parent 9879d3b2a3
commit 030ca445e7

@ -26,11 +26,11 @@ Addressing modes:
* https://github.com/golang/go/blob/master/src/cmd/internal/obj/s390x/vector.go * https://github.com/golang/go/blob/master/src/cmd/internal/obj/s390x/vector.go
## Element Size ## Element Size
* B - * B - 16个8位值 相当于一个128位数
* H - * H - 8个16位值
* F - * F -
* G - * G -
* Q - 当作2个64位值 * Q - 2个64位值?
## 算术加减法 ## 算术加减法
* VA - Vector Add. 无符号整数加法。 * VA - Vector Add. 无符号整数加法。
@ -38,7 +38,7 @@ Addressing modes:
* VACC - Vector Add Compute Carry. 无符号整数加法,计算进位。只有进位结果。 * VACC - Vector Add Compute Carry. 无符号整数加法,计算进位。只有进位结果。
* VACCC - Vector Add With Carry Compute Carry. 带进位无符号整数加法计算进位。相当于3个数加法只有进位结果。 * VACCC - Vector Add With Carry Compute Carry. 带进位无符号整数加法计算进位。相当于3个数加法只有进位结果。
所以两个数相加要同时使用多个指令。示例演示T1||T0, RED2||RED1两个256位数的加法按64位值得到 T2||T1||T0。 所以两个数相加要同时使用多个指令。示例演示T1||T0, RED2||RED1两个256位数的加法按64位值?),得到 T2||T1||T0。
```asm ```asm
VACCQ T0, RED1, CAR1 VACCQ T0, RED1, CAR1
VAQ T0, RED1, T0 VAQ T0, RED1, T0