Skip to content
GitLab
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
  • M mu-impl-fast
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 40
    • Issues 40
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 1
    • Merge requests 1
  • Deployments
    • Deployments
    • Releases
  • Packages and registries
    • Packages and registries
    • Container Registry
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • Repository
  • Activity
  • Graph
  • Create a new issue
  • Commits
  • Issue Boards
Collapse sidebar
  • mumu
  • mu-impl-fast
  • Issues
  • #64
Closed
Open
Issue created Jul 20, 2017 by Yi Lin@u4776528Owner2 of 48 checklist items completed2/48 checklist items

[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.*
Assignee
Assign to
Time tracking