VIXL Change Log
1.13
- Improve code formatting and add tests using clang-format.
- Fix bugs in disassembly of unallocated instruction encodings.
- Fix some execution trace bugs, and add tests.
- Other small bug fixes and improvements.
1.12
- Bug fixes for toolchain compatibility.
1.11
- Fix bug in simulation of add with carry.
- Fix use-after-free bug in Literal handling.
- Build system updates for Android.
- Add option to run test.py under Valgrind.
- Other small bug fixes and improvements.
1.10
- Improved support for externally managed literals.
- Reworked build and test infrastructure.
- Other small bug fixes and improvements.
1.9
- Improved compatibility with Android build system.
- Improved compatibility with Clang toolchain.
- Added support for
umulh
instruction. - Added support for
fcmpe
and fccmpe
instructions. - Other small bug fixes and improvements.
1.8
- Complete NEON instruction set support.
- Support long branches using veneers.
- Improved handling of literal pools.
- Support some
ic
and dc
cache op instructions. - Support CRC32 instructions.
- Support half-precision floating point instructions.
- MacroAssembler support for
bfm
, ubfm
and sbfm
. - Other small bug fixes and improvements.
1.7
- Added support for
prfm
prefetch instructions. - Added support for all
frint
instruction variants. - Add support for disassembling as an offset from a given address.
- Fixed the disassembly of
movz
and movn
. - Provide static helpers for immediate generation.
- Provide helpers to create CPURegList from list unions or intersections.
- Improved register value tracing.
- Multithreading test fixes.
- Other small bug fixes and build system improvements.
1.6
- Make literal pool management the responsibility of the macro assembler.
- Move code buffer management out of the Assembler.
- Support
ldrsw
for literals. - Support binding a label to a specific offset.
- Add macro assembler support for load/store pair with arbitrary offset.
- Support Peek and Poke for CPURegLists.
- Fix disassembly of branch targets.
- Fix Decoder visitor insertion order.
- Separate Decoder visitors into const and non-const variants.
- Fix simulator for branches to tagged addresses.
- Add a VIM YouCompleteMe configuration file.
- Other small bug fixes and build system improvements.
1.5
- Tagged pointer support.
- Implement support for exclusive access instructions.
- Implement support for
adrp
instruction. - Faster code for logical immediate identification.
- Generate better code for immediates passed to shift-capable instructions.
- Allow explicit use of unscaled-offset loads and stores.
- Build and test infrastructure improvements.
- Corrected computation of cache line size.
- Fix simulation of
extr
instruction. - Fixed a bug when moving kWMinInt to a register.
- Other small bug fixes.
1.4
- Added support for
frintm
. - Fixed simulation of
frintn
and frinta
for corner cases. - Added more tests for floating point instruction simulation.
- Modified
CalleeSave()
and CalleeRestore()
to push general purpose registers before floating point registers on the stack. - Fixed Printf for mixed argument types, and use on real hardware.
- Improved compatibility with some 32-bit compilers.
1.3
- Address inaccuracies in the simulated floating point instructions.
- Implement Default-NaN floating point mode.
- Introduce
UseScratchRegisterScope
for controlling the use of temporary registers. - Enable building VIXL on 32-bit hosts.
- Other small bug fixes and improvements.
1.2
- Added support for
fmadd
, fnmadd
, fnmsub
, fminnm
, fmaxnm
, frinta
, fcvtau
and fcvtas
. - Added support for assembling and disassembling
isb
, dsb
and dmb
. - Added support for automatic inversion of compare instructions when using negative immediates.
- Added support for using
movn
when generating immediates. - Added explicit flag-setting 'S' instructions, and removed
SetFlags
and LeaveFlags
arguments. - Added support for
Movk
in macro assembler. - Added support for W register parameters to
Tbz
and Tbnz
. - Added support for using immediate operands with
Csel
. - Added new debugger syntax for memory inspection.
- Fixed
smull
, fmsub
and sdiv
simulation. - Fixed sign extension for W->X conversions using
sxtb
, sxth
and sxtw
. - Prevented code generation for certain side-effect free operations, such as
add r, r, #0
, in the macro assembler. - Other small bug fixes.
1.1
- Improved robustness of instruction decoder and disassembler.
- Added support for double-to-float conversions using
fcvt
. - Added support for more fixed-point to floating-point conversions (
ucvtf
and scvtf
). - Added instruction statistics collection class
instrument-a64.cc
.
1.0