1. `shadd` and `shadduw` operate on unsigned integers.
2. `shadduw` is intended for performing address offsets,
- as the second operand is constrained to lower 32-bits
- and zero-extended.
+ as the second operand is constrained to lower 32-bits
+ and zero-extended.
3. Both are 2-in 1-out instructions.
4. shift-add operations are present in both x86 and aarch64,
- since they are useful for both general arithmetic and for
- computing addresses even when not immediately followed
- with a load/store.
+ since they are useful for both general arithmetic and for
+ computing addresses even when not immediately followed
+ with a load/store.
TODO: signed 32-bit shift-and-add should be added, this needs to be addressed
before submitting the RFC: <https://bugs.libre-soc.org/show_bug.cgi?id=996>