[X86] combine widening `shl` + adjacent addition into `VPMADDWD` (#179326)
I added an optimization for `VPMADDWD` earlier in
https://github.com/llvm/llvm-project/pull/174149. That one is used in
the adler32 checksum. That PR missed another pattern, used in base64
decoding, that uses a `shl` instead of a `mul`, but also should optimize
to `VPMADDWD`.
To make the shift semantically equal to the multiplication case, I'm
bailing on shifts by more than 15, because `1 << 16` is not
representable in an `i16`.
code-wise I suspect that I'm missing some convenient way to access the
integer values of a constant vector.
NAS-139830 / 26.0.0-BETA.1 / Refactor auth.login_ex (#18223)
This commit shifts the auth.login_ex method so that it calls into
various helper methods in auth_/login_ex_imply.py. The helper methods
allow easier separation of sync vs async methods and consistent typing
for responses and arguments.
Various typing fixes are also applied.
A new auth.login_ex response `DENIED` is generated if user successfully
authenticates but has no API access.
[AArch64][GlobalISel] Split arm64-indexed-memory.ll into arm64_32-indexed-memory.ll and extend tests. NFC
This helps to keep the tests focussed, showing more clearly the differences
between the GISel and SDAG. The arm64_32 tests are separated out into a new
file.
Some i8->i16 tests have also been added and zext variants of some sext tests.
[GitHub] Add gh-pr-diff to facilitate using 'git diff' for PRs
For example:
```
$ cd llvm-project.git
$ gh-pr-diff --color-words 171453
$ gh-pr-diff --color-words 174293 llvm/docs/LangRef.rst
```
The original motivation for the new script is to facilitate reviewing
PRs that reflow text, such as the above PRs. `--color-words` has been
a `git diff` option for many years and makes it much easier to read
the associated diffs. However, GitHub does not currently support
`--color-words` functionality, so this script makes it quick to fetch
the PR and view it locally with `git diff`.
That concern was raised for [documentation files in an
RFC](https://discourse.llvm.org/t/rfc-remove-80-column-limit-in-documentation-files/89678),
[7 lines not shown]
NAS-139837 / 26.0.0-BETA.1 / Change import behavior for atomic_write (#18226)
This commit adjusts when we try to import atomic_write so that it occurs
once we've rewritten the python path.
```
root at truenas[~]# cat /var/log/truenas-installer-initrd-error.log
======================================================================
Timestamp: 2026-02-16T21:25:46.469672
truenas-initrd.py completed with exit code 1
Error output:
Traceback (most recent call last):
File "/tmp/tmpwl6etqoq/usr/local/bin/truenas-initrd.py", line 14, in <module>
from middlewared.utils.io import atomic_write
ImportError: cannot import name 'atomic_write' from 'middlewared.utils.io' (/usr/lib/python3/dist-packages/middlewared/utils/io.py)
======================================================================
```