Home * Engines * Stockfish * asmFish

a port of Stockfish in x86-64 assembly by Mohammed Li, optional using AVX2 and BMI2 instructions, assembled with FASM to run under Windows or UNIX/Linux, first released in June 2016. The fun project is about to demonstrate how an experienced assembly programmer can optimize a program compared with GCC [1] . A few structural optimizations were also applied, such as elimination of piece lists as already tried in Stockfish [2] . Critical functions in asmFish do not conform to the x86-64 ABI concerning register usage and calling convention [3]. Some less time critical code was ported using GCC generated assembly output, such as Ronald de Man's probing code for Syzygy Bases. asmFish further supports large pages, and its parallel search is numa aware [4] [5] .
Istiophorus platypterus, one of the world's fastest fish [6]

See also

Forum Posts



2017 ...

External Links

Chess Engine



  1. ^ Re: [for fun] rewrite of stockfish into asm and question on source by Mohammed Li, FishCooking, April 18, 2016
  2. ^ removal of piece lists by Mohammed Li, FishCooking, November 11, 2014
  3. ^ Agner Fog's manuals
  4. ^ asm/readme.txt at master · tthsqe12/asm · GitHub
  5. ^ lets get the ball moving down the field on numa awareness by Mohammed Li, FishCooking, August 30, 2016
  6. ^ Istiophorus platypterus, Image by Citron, March 2010, CC BY-SA 3.0, Wikimedia Commons, Sailfish from Wikipedia, Indo-Pacific sailfish from Wikipedia

What links here?

Up one Level