[x86_64] Unimplemented Backend Features

This issue tracks Mu specification coverage in x86_64 backend.

Types:

  • int<n>:
  • n = 1 (some arithmetic)
  • * n <= 64 and n != 8, 16, 32, or 64
  • * n = 128, floating point conversions
  • n > 64 and n != 128
  • struct SSA variables
  • hybrid SSA variables
  • array SSA variables
  • tagref64
  • threadref
  • `stackref``
  • framecursorref
  • irbuilderref
  • vector<t n>

Instruction Clauses:

  • keep Alive Clauses
  • Exception clauses
  • CALL
  • binop (divison by zero)
  • NEW/NEYHYBRID (allocation failure)
  • LOAD/STORE/CMPXCHG (null referenced)
  • CCALL (implementation defined)

Instructions:

  • TAILCALL
  • For unimplemented types:
    • EXTRACTVALUE/INSERTVALUE
    • EXTRACTELEMENT/INSERTELEMENT
    • SHUFFLEVECTOR
  • Memory
  • ALLOCA/ALLOCAHYBRID
  • * CMPXCHG
  • * FENCE
  • ATOMICRMW
  • Traps/watchpoints
  • TRAP
  • WATCHPOINT
  • WPBRANCH
  • Thread/stack instructions
  • NEWTHREAD
  • SWAPTSTACK

Common Instructions

  • thread and stack things:
  • current_stack
  • thread_exit
  • new_stack
  • tr64.*
  • futex.*
  • kill_dependency
  • native.* (except nativ.pin and nativ.unpnin)
  • meta.*
  • irbuilder.*