Is there a reason why one wouldn't use: (z80/gbz80)
replace restart {
ld %2, %4
ld %1, %3
} by {
; brought register pair into uniform order
ld %1, %3
ld %2, %4
} if canAssign(%1%2 '#0x0102'), notSame(%2, %3)
replace {
ld %1, #0x%3
ld %2, #0x%4
} by {
ld %1%2, #0x%3%4
; combined constant loads into register pair.
} if canAssign(%1%2 '#0x0102')
instead of:
replace {
ld e, #0x%1
ld d, #0x%2
} by {
ld de, #0x%2%1
; peephole 92 combined constant loads into register pair.
}
replace {
ld d, #0x%1
ld e, #0x%2
} by {
ld de, #0x%1%2
; peephole 93 combined constant loads into register pair.
}
replace {
ld l, #0x%1
ld h, #0x%2
} by {
ld hl, #0x%2%1
; peephole 94 combined constant loads into register pair.
}
replace {
ld h, #0x%1
ld l, #0x%2
} by {
ld hl, #0x%1%2
; peephole 95 combined constant loads into register pair.
}
replace {
ld c, #0x%1
ld b, #0x%2
} by {
ld bc, #0x%2%1
; peephole 96 combined constant loads into register pair.
}
replace {
ld b, #0x%1
ld c, #0x%2
} by {
ld bc, #0x%1%2
; peephole 97 combined constant loads into register pair.
}
--
Freundliche Grüße / Yours sincerely
Sebastian Riedel
_______________________________________________
Sdcc-user mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/sdcc-user