duckstation

duckstation, but archived from the revision just before upstream changed it to a proprietary software project, this version is the libre one
git clone https://git.neptards.moe/u3shit/duckstation.git
Log | Files | Refs | README | LICENSE

readme.md (2843B)


      1 
      2 # Xbyak 6.73 [![Badge Build]][Build Status]
      3 
      4 *A C++ JIT assembler for x86 (IA32), x64 (AMD64, x86-64)*
      5 
      6 ## Menu
      7 
      8 - [Install]
      9 - [Usage]
     10 - [Changelog]
     11 
     12 ## Abstract
     13 
     14 Xbyak is a C++ header library that enables dynamically to assemble x86(IA32), x64(AMD64, x86-64) mnemonic.
     15 
     16 The pronunciation of Xbyak is `kəi-bja-k`.
     17 It is named from a Japanese word [開闢](https://translate.google.com/?hl=ja&sl=ja&tl=en&text=%E9%96%8B%E9%97%A2&op=translate), which means the beginning of the world.
     18 
     19 ## Feature
     20 
     21 - header file only
     22 - Intel/MASM like syntax
     23 - fully support AVX-512
     24 
     25 **Note**:
     26 Use `and_()`, `or_()`, ... instead of `and()`, `or()`.
     27 If you want to use them, then specify `-fno-operator-names` option to gcc/clang.
     28 
     29 ### Derived Projects
     30 - [Xbyak_aarch64](https://github.com/fujitsu/xbyak_aarch64/) : for AArch64
     31 - [Xbyak_riscv](https://github.com/herumi/xbyak_riscv) : for RISC-V
     32 
     33 ### News
     34 
     35 - add amx_fp16/avx_vnni_int8/avx_ne_convert/avx-ifma
     36 - add movdiri, movdir64b, clwb, cldemote
     37 - WAITPKG instructions (tpause, umonitor, umwait) are supported.
     38 - MmapAllocator supports memfd with user-defined strings. see sample/memfd.cpp
     39 - strictly check address offset disp32 in a signed 32-bit integer. e.g., `ptr[(void*)0xffffffff]` causes an error.
     40   - define `XBYAK_OLD_DISP_CHECK` if you need an old check, but the option will be remoevd.
     41 - add `jmp(mem, T_FAR)`, `call(mem, T_FAR)` `retf()` for far absolute indirect jump.
     42 - vnni instructions such as vpdpbusd supports vex encoding.
     43 - (break backward compatibility) `push(byte, imm)` (resp. `push(word, imm)`) forces to cast `imm` to 8(resp. 16) bit.
     44 - (Windows) `#include <winsock2.h>` has been removed from xbyak.h, so add it explicitly if you need it.
     45 - support exception-less mode see. [Exception-less mode](#exception-less-mode)
     46 - `XBYAK_USE_MMAP_ALLOCATOR` will be defined on Linux/macOS unless `XBYAK_DONT_USE_MMAP_ALLOCATOR` is defined.
     47 
     48 ### Supported OS
     49 
     50 - Windows (Xp, Vista, 7, 10, 11) (32 / 64 bit)
     51 - Linux (32 / 64 bit)
     52 - macOS (Intel CPU)
     53 
     54 ### Supported Compilers
     55 
     56 Almost C++03 or later compilers for x86/x64 such as Visual Studio, g++, clang++, Intel C++ compiler and g++ on mingw/cygwin.
     57 
     58 ## License
     59 
     60 [BSD-3-Clause License](http://opensource.org/licenses/BSD-3-Clause)
     61 
     62 ## Author
     63 
     64 #### 光成滋生 Mitsunari Shigeo
     65  [GitHub](https://github.com/herumi) | [Website (Japanese)](http://herumi.in.coocan.jp/) | [herumi@nifty.com](mailto:herumi@nifty.com)
     66 
     67 ## Sponsors welcome
     68 [GitHub Sponsor](https://github.com/sponsors/herumi)
     69 
     70 <!----------------------------------------------------------------------------->
     71 
     72 [Badge Build]: https://github.com/herumi/xbyak/actions/workflows/main.yml/badge.svg
     73 [Build Status]: https://github.com/herumi/xbyak/actions/workflows/main.yml
     74 
     75 [License]: COPYRIGHT
     76 
     77 [Changelog]: doc/changelog.md
     78 [Install]: doc/install.md
     79 [Usage]: doc/usage.md
     80