Release 2025.06.1 of the Jasmin compiler
A new minor version of the Jasmin compiler has just been released. It contains a few fixes and additions whose details can be found in the CHANGELOG. Two important changes are highlighted below. Some updates to legacy code might be needed before updating to this version.
New instructions for x86
The x86 target now features a PADD
instruction for (vectorized) addition in
MMX registers, and a BSR
instruction to locate the most significant non-zero
bit of a non-zero machine-word (beware: it is unsafe to call this instruction
on a zero value).
The MOVEMASK
instruction replaces all uses of the legacy VPMOVMSKB
.
The deprecated VPBLENDVB
has been removed: the BLENDV
instruction should be
used instead.
L-values are no longer implicitly introduced
Prior to this release, the compiler (pre-typing) would automatically introduce
missing L-values (with a warning enabled by the command-line flag -w_
). The
main use of this feature was to avoid listing all the boolean flags modified by
intrinsics. This use case is now covered by the syntax ?{}
; for instance,
resetting a register x
to zero can be written ?{}, x = #set0();
.