Commit e7c0c928 authored by Matthias Braun's avatar Matthias Braun
Browse files

update amd64 TODO

parent eefa8e68
amd64 backend TODO:
Correctness:
- Implement 32/64bit floatingpoint with SSE instructions
- Transform to Neg-Add in finish phase if should_be_same is not fulfilled.
- Implement more builtins (libgcc lacks several of them that gcc provides
natively on amd64 so cparser/libfirm when linking to the compilerlib fallback)
- (Support 80bit long double with x87 instructions)
- Support ASM node
- Imm32 are sign extended in 64bit ops, we incorrectly match them as 32bit
unsigned.
- Handle Alloc nodes (used by alloca and C99 VLA). See ia32/sparc backend on
how to do this.
- Support non-omit_fp modes.
- Sign/Zero extension for operations that are not mode_neutral.
(Alternatively work on legalize phase)
- Support ASM node
- (Support 80bit long double with x87 instructions)
Improve Quality:
- Build leas instead of Adds
- Immediate32 matching could be better and match SymConst, Add(SymConst, Const)
combinations where possible. Be careful with PIC code this may usually not
be legal!
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment