[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.*