Home | History | Annotate | Download | only in doc
      1 VIXL Change Log
      2 ===============
      3 
      4 * 1.13
      5     + Improve code formatting and add tests using clang-format.
      6     + Fix bugs in disassembly of unallocated instruction encodings.
      7     + Fix some execution trace bugs, and add tests.
      8     + Other small bug fixes and improvements.
      9 
     10 * 1.12
     11     + Bug fixes for toolchain compatibility.
     12 
     13 * 1.11
     14     + Fix bug in simulation of add with carry.
     15     + Fix use-after-free bug in Literal handling.
     16     + Build system updates for Android.
     17     + Add option to run test.py under Valgrind.
     18     + Other small bug fixes and improvements.
     19 
     20 * 1.10
     21     + Improved support for externally managed literals.
     22     + Reworked build and test infrastructure.
     23     + Other small bug fixes and improvements.
     24 
     25 * 1.9
     26     + Improved compatibility with Android build system.
     27     + Improved compatibility with Clang toolchain.
     28     + Added support for `umulh` instruction.
     29     + Added support for `fcmpe` and `fccmpe` instructions.
     30     + Other small bug fixes and improvements.
     31 
     32 * 1.8
     33     + Complete NEON instruction set support.
     34     + Support long branches using veneers.
     35     + Improved handling of literal pools.
     36     + Support some `ic` and `dc` cache op instructions.
     37     + Support CRC32 instructions.
     38     + Support half-precision floating point instructions.
     39     + MacroAssembler support for `bfm`, `ubfm` and `sbfm`.
     40     + Other small bug fixes and improvements.
     41 
     42 * 1.7
     43     + Added support for `prfm` prefetch instructions.
     44     + Added support for all `frint` instruction variants.
     45     + Add support for disassembling as an offset from a given address.
     46     + Fixed the disassembly of `movz` and `movn`.
     47     + Provide static helpers for immediate generation.
     48     + Provide helpers to create CPURegList from list unions or intersections.
     49     + Improved register value tracing.
     50     + Multithreading test fixes.
     51     + Other small bug fixes and build system improvements.
     52 
     53 * 1.6
     54     + Make literal pool management the responsibility of the macro assembler.
     55     + Move code buffer management out of the Assembler.
     56     + Support `ldrsw` for literals.
     57     + Support binding a label to a specific offset.
     58     + Add macro assembler support for load/store pair with arbitrary offset.
     59     + Support Peek and Poke for CPURegLists.
     60     + Fix disassembly of branch targets.
     61     + Fix Decoder visitor insertion order.
     62     + Separate Decoder visitors into const and non-const variants.
     63     + Fix simulator for branches to tagged addresses.
     64     + Add a VIM YouCompleteMe configuration file.
     65     + Other small bug fixes and build system improvements.
     66 
     67 * 1.5
     68     + Tagged pointer support.
     69     + Implement support for exclusive access instructions.
     70     + Implement support for `adrp` instruction.
     71     + Faster code for logical immediate identification.
     72     + Generate better code for immediates passed to shift-capable instructions.
     73     + Allow explicit use of unscaled-offset loads and stores.
     74     + Build and test infrastructure improvements.
     75     + Corrected computation of cache line size.
     76     + Fix simulation of `extr` instruction.
     77     + Fixed a bug when moving kWMinInt to a register.
     78     + Other small bug fixes.
     79 
     80 * 1.4
     81     + Added support for `frintm`.
     82     + Fixed simulation of `frintn` and `frinta` for corner cases.
     83     + Added more tests for floating point instruction simulation.
     84     + Modified `CalleeSave()` and `CalleeRestore()` to push general purpose
     85       registers before floating point registers on the stack.
     86     + Fixed Printf for mixed argument types, and use on real hardware.
     87     + Improved compatibility with some 32-bit compilers.
     88 
     89 * 1.3
     90     + Address inaccuracies in the simulated floating point instructions.
     91     + Implement Default-NaN floating point mode.
     92     + Introduce `UseScratchRegisterScope` for controlling the use of temporary
     93       registers.
     94     + Enable building VIXL on 32-bit hosts.
     95     + Other small bug fixes and improvements.
     96 
     97 * 1.2
     98     + Added support for `fmadd`, `fnmadd`, `fnmsub`, `fminnm`, `fmaxnm`,
     99       `frinta`, `fcvtau` and `fcvtas`.
    100     + Added support for assembling and disassembling `isb`, `dsb` and `dmb`.
    101     + Added support for automatic inversion of compare instructions when using
    102       negative immediates.
    103     + Added support for using `movn` when generating immediates.
    104     + Added explicit flag-setting 'S' instructions, and removed
    105       `SetFlags` and `LeaveFlags` arguments.
    106     + Added support for `Movk` in macro assembler.
    107     + Added support for W register parameters to `Tbz` and `Tbnz`.
    108     + Added support for using immediate operands with `Csel`.
    109     + Added new debugger syntax for memory inspection.
    110     + Fixed `smull`, `fmsub` and `sdiv` simulation.
    111     + Fixed sign extension for W->X conversions using `sxtb`, `sxth` and `sxtw`.
    112     + Prevented code generation for certain side-effect free operations,
    113       such as `add r, r, #0`, in the macro assembler.
    114     + Other small bug fixes.
    115 
    116 * 1.1
    117     + Improved robustness of instruction decoder and disassembler.
    118     + Added support for double-to-float conversions using `fcvt`.
    119     + Added support for more fixed-point to floating-point conversions (`ucvtf`
    120       and `scvtf`).
    121     + Added instruction statistics collection class `instrument-a64.cc`.
    122 
    123 * 1.0
    124     + Initial release.
    125