[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Preparing for Lightning 2.2.2 release
From: |
Paulo César Pereira de Andrade |
Subject: |
Preparing for Lightning 2.2.2 release |
Date: |
Wed, 19 Apr 2023 21:51:42 -0300 |
Besides the first "Lightning 2", this will be one probably the release
with most changes, including:
o Mips release 6 support;
o New rbitr instruction, used for reversing bits;
o new popcnt* instruction, used to count set bits in a word;
o new lrot* and rrot* instructions, used to rotate bits;
o new ext*, ext*_u and dep* instructions, used to extract and deposit
bits, using a pattern compatible with C bit fields;
o New qlsh*, qlsh*_u, qrsh* and qrsh*_u instructions, used to as normal
shifts, but that also save overflow or underflow bits in a second output
register;
o New unld*, unld*_u, unst*, unld*_x and unst*_x instructions, used to
read or write unaligned memory;
o New mov*_f_w, mov*_w_f, mov*_d_w, mov*_w_d, mov*_d_ww and
mov*_ww_d instructions, used to move values from/to gpr from/to fpr
registers without using memory (if supported by the cpu);
o New fma*, fms*, fnma* and fnms* instructions, used for fused multiply-add.
I will wait a few days, possibly reverting or reworking a few changes.
One to think about is the new generic unld* and unst*, that have a more
clean implementation, possibly run faster, but are longer in code size.
Also, for the moment I did not even bother to test fused multiply-add
instructions with invalid operands, like infinities or nans. At least some
basic testing should be done, so that at least issues can be documented.
Thanks,
Paulo
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- Preparing for Lightning 2.2.2 release,
Paulo César Pereira de Andrade <=