= Change Log = CLRadeonExtender 0.1.5r1: * add detection of OpenGL while configuring a building scripts * add more comments in the source code * fixed hanging when ROCm code have hundreds or more kernels * parameter in modifier can have any value * add 'get_version' pseudo-operation * add oldModParam mode (old modifier parameter's policy) * fixes for ROCm disassembler module * fixes for Gallium binary reader (accept new binaries with many kernels) * added support for Mesa3D 17.2.x * added Mesa3D/Gallium device names for AMD Polaris * add new exceptions to code (to distinguish type of exception) * fixed position in disassembler code in comments (mainly for Gallium/ROCm) * add CLRXCLHelper library to facilitate running assembler code on the OpenCL * move some GPU architecture versions tables to GPUId * add new testcase GPUId CLRadeonExtender 0.1.5: * ignore case in an access qualifier name's (Amd and AmdCL2) * improve handling a '\()' and '\@' * add SDWA and DPP words to set instruction encoding * fixing few CLRXDocs typos * fixes for AMD RX VEGA (GFX900) * disassembler prints an instruction's position in comments * update GcnTimings * update VectorAdd and ReverseBits for LLVM 4.0 and Mesa3D 17.0.0 * updates in ImageMix (correct workSize calculating for kernel) * small fixes in disassembler * disassembler can correctly disassemble GalliumCompute for LLVM 4.0 * add '--llvmVersion' to clrxdisasm * dump AMD HSA configuration for GalliumCompute and AmdCL2 (like in ROCm format) * disassembler add '@' to hwreg and sendmsg to make dump compatible with clrxasm * add '--HSAConfig' to dump AmdCL2 kernel configuration as AMD HSA config * add AMD HSA configuration pseudo-ops to GalliumCompute and AmdCL2 binary formats * update device list for Gallium and ROCm binary formats for recognizing device * fixed support for LLVM>=3.9 and Mesa3D>=17.0.0 in GalliumCompute * add pseudo-op '.default_hsa_features' to AmdCL2, Gallium and ROCm formats * update headers in code * make error handling more compact in assembler's code * fixed '.machine', '.codeversion' handling (do not print obsolete warnings) * add pkg-config files to installation * remove obsolete warnings in CMakeLists.txt * added GFX901 support (RX VEGA with HBCC ?) * add Config.h and amdbin/Elf.h headers to Doxygen documentation * change lowest device for GCN 1.2 to Iceland in GPUId. * add support for Windows developments environments: CygWin and MinGW * make detecting of 64-bits more portable in CMakeLists.txt (use compiler to do) * checking whether std::call_once is available for non full supported std threads * use only C++ compiler to check features (Int128Detect.cpp) CLRadeonExtender 0.1.4r1: * fixed code operation in SMRD and SMEM instructions * fixed parsing symbol register ranges begins from 'exec', 'vcc', 'tma', ... * checking end of line at parsing symbol and regvar register ranges CLRadeonExtender 0.1.4: * add AMD RX VEGA support (GCN 1.4/VEGA) * add symbol scopes * add support for 32-bit AMD OpenCL 2.0 binaries * update GPU device ids to latest drivers * add Ellesmere and Baffin support for AMD OpenCL 1.2 binaries * add support for LLVM 3.9, LLVM 4.0 and Mesa3D 17.0 * add new options to clrxasm (--llvmVersion) * add GCN 1.2 instruction set documentation * add new SMEM instruction (s_buffer_atomics) * add GDS segment size to AMD OpenCL 2.0 binaries * add code of samples for GCN 1.2 * add option to use old AMD OpenCL 1.2 binary format into samples * add editor's syntax (NotePad++, Kate, Gedit, VIM) * minor fixes in GCN assembler * add modifier's parametrization * add options to control case-sensitiviness in macro names * fixed handling AMDOCL names for 32-bit Windows environment * add installation rules for AMDGPU-PRO drivers (OpenSUSE and Ubuntu) * add new pseudo-ops '.get_64bit', '.get_arch', '.get_format', '.get_gpu' * add autodetection for LLVM and Mesa3D version * find correct AMDOCL, MesaOCL and llvm-config at runtime CLRadeonExtender 0.1.3: * ROCm binary format support * fixed '.format' pseudo-op * fixed resolving variables in some specific cases * fixed handling AmdCL2 format for device type later than GCN.1.1 * small fixes in documentation * fixed disassemblying s_waitcnt * fixed handling floating point literals in assembler and compatibility mode (bugFP) * ARMv8 (AArch64) architecture support * Android support CLRadeonExtender 0.1.2: * AMD OpenCL 2.0 support * 64-bit Gallium binary format support * support for new closed Linux and Windows drivers * new samples * documentation for OpenCL 2.0 support (includes ABI) * documentation for GCN ISA FLAT encoding * lit() specifier to distinguish literal and inline constant * alternate macro syntax * correct counting registers for automatic configuration * fixed handling of conditionals and macro pseudo-ops * disassembler can dump configuration in user-friendly form CLRadeonExtender 0.1.1: * support for Windows * register ranges, and symbol's of register ranges * GCN ISA documentation * fixed AMD Catalyst and Gallium compute binary generator * fixed clrxasm CLRadeonExtender 0.1: * first published version