From: Steve S. <ste...@gm...> - 2024-07-09 14:08:28
|
What does "flexible calling convention in the compiler" mean ? Not saying practical, but would it be doable to have a fully flexible calling convention ? something akin to __reg(a) char my_add( __reg(a) char first, __reg(r0) char second) { return first + second; } which would obviously generate: _my_add: ADDC A, R0 RET The default being : __reg(dpl) char my_add(__reg(dpl) char first, __reg(dph) char second) { return first + second; } Having the developer that chooses the appropriate registry, and failing with an error if not possible. This would then be reused by calling conventions such as __keil. It might be easier to ship, as it wouldn't break the ABI right away, since we don't change the default. While still having the benefit of high tailoring & performance testing for incremental improvements. Cheers, -- Steve Schnepp |