Skip to content

Brainstorming ideas #158

@shattered

Description

@shattered

Backend-specific

80386; use index scaling, 2- and/or 3-argument IMUL
z80: look for ideas in https://github.com/santiontanon/mdlz80optimizer
pdp11: likewise in https://github.com/sergev/bkunix/tree/master/cross-devel/c2
8080: support 8085

Backend-generic

Use clear and bit test insns
Avoid register cache flush on forward jumps
Add 'optimize for size' compile-time option -- enable additional rules that increase size of cowbe binary
Register allocator: respect aliasing (x86, pdp11...) and cache

Example: _fcb_fillbuffer could load %bx here:

f26__fcb_fillbuffer:
        movl %eax, (ws+535)     
        movl 0+4(%eax), %ecx
        movw 0+10(%eax), %ax    <<<
        movzx %ax,%ebx

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions