Giter Club home page Giter Club logo

jitasm's Introduction

jitasm

JIT Assembler Library for multiple ISAs. For now, only x86.

Goal

To emit assembly code to create run-time functions dynamically with the optional ability to use virtual (symbolic or memory-mapped) registers to let jitasm compiler allocates physical registers itself using a linear scan register allocation.

Features [in progress]

  • Header file only
  • Support for 32-bit and 64-bit x86, mmx, sse, sse2, sse3, ssse3, sse4.1, sse4.2, avx, avx2, avx3, fma, xop, fma4
  • Register allocation
  • Support for Windows, Linux, FreeBSD, Mac

Status

-=[ WORK IN PROGRESS ]=-

Remark

Everything may undergo change

X86 Manuals

Finding out some text or xml files to describe the opcode maps of all the x86 instructions up to AVX3 is almost impossible. So far there are only two sources :

As for web links to manuals, I found out three interesting links :

  • http://www.sandpile.org/ : the most complete one since it contains AVX3 instructions. I am also attempting to put the opcode maps into one page and perhaps I will use it to extract instructions details to make a source file to describe all x86 isntructions I need.
  • http://www.felixcloutier.com/x86/ : this one is normally auto-generated from Intel manuals but it lacks opcode maps and AVX3 instructions.
  • http://ref.x86asm.net : this one is probably the most informative except that it does not contain AVX+ instructions.

There are of course PDF manuals of Intel and AMD - but you know, they are not that easy to extract informations on instructions (some instructions are not extracted correctly in http://www.felixcloutier.com/x86/).

jitasm's People

Contributors

hlide avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.