[PATCH] D150114: [Headers][doc] Add "add/sub/mul" intrinsic descriptions to avx2intrin.h
Craig Topper via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Tue May 23 11:23:09 PDT 2023
craig.topper added inline comments.
================
Comment at: clang/lib/Headers/avx2intrin.h:456
+/// j := i*128
+/// result[j+31:j] := __a[j+63:j+32] - __a[j+31:j]
+/// result[j+63:j+32] := __a[j+127:j+96] - __a[j+95:j+64]
----------------
Intel intrinsics guide says
```
dst[31:0] := a[31:0] - a[63:32]
dst[63:32] := a[95:64] - a[127:96]
dst[95:64] := b[31:0] - b[63:32]
dst[127:96] := b[95:64] - b[127:96]
dst[159:128] := a[159:128] - a[191:160]
dst[191:160] := a[223:192] - a[255:224]
dst[223:192] := b[159:128] - b[191:160]
dst[255:224] := b[223:192] - b[255:224]
dst[MAX:256] := 0
```
So I think the operands are in the wrong order here?
================
Comment at: clang/lib/Headers/avx2intrin.h:488
+/// j := i*128
+/// result[j+15:j] := SATURATE16(__a[j+31:j+16] - __a[j+15:j])
+/// result[j+31:j+16] := SATURATE16(__a[j+63:j+48] - __a[j+47:j+32])
----------------
Operands are reversed?
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D150114/new/
https://reviews.llvm.org/D150114
More information about the cfe-commits
mailing list