.type _mp_exptmod_fast,@function
_mp_exptmod_fast: ; @mp_exptmod_fast
; %bb.0:
ld hl, -3159
call __frameset
; ...
.LBB90_81:
ld bc, -3111
lea iy, ix + 0
add iy, bc
ld (iy + 0), de
ld de, -3114
lea iy, ix + 0
add iy, de
ld hl, (iy + 0)
push hl
call _mp_clear
pop hl
ld bc, -3120
lea iy, ix + 0
add iy, bc
ld de, (iy + 0)
push de
pop hl
ld bc, 12
call __imulu
push hl
pop bc
lea iy, ix + 0
lea iy, iy - 128
lea iy, iy - 128
lea iy, iy - 128
lea iy, iy - 128
lea iy, iy - 128
lea iy, iy - 128
lea iy, iy - 128
lea iy, iy - 128
lea iy, iy - 128
lea iy, iy - 128
lea iy, iy - 128
lea iy, iy - 128
lea iy, iy - 128
lea iy, iy - 128
lea iy, iy - 128
lea iy, iy - 128
lea iy, iy - 128
lea iy, iy - 128
lea iy, iy - 128
lea iy, iy - 128
lea iy, iy - 128
lea iy, iy - 128
lea iy, iy - 128
lea iy, iy - 128
lea iy, iy - 36
ld hl, (iy + 0)
add hl, bc
push hl
pop bc
lea iy, ix + 0
lea iy, iy - 128
lea iy, iy - 128
lea iy, iy - 128
lea iy, iy - 128
lea iy, iy - 128
lea iy, iy - 128
lea iy, iy - 128
lea iy, iy - 128
lea iy, iy - 128
lea iy, iy - 128
lea iy, iy - 128
lea iy, iy - 128
lea iy, iy - 128
lea iy, iy - 128
lea iy, iy - 128
lea iy, iy - 128
lea iy, iy - 128
lea iy, iy - 128
lea iy, iy - 128
lea iy, iy - 128
lea iy, iy - 128
lea iy, iy - 128
lea iy, iy - 128
lea iy, iy - 128
lea iy, iy - 60
ld hl, (iy + 0)
or a, a
sbc hl, de
ex de, hl
.local .LBB90_82
.LBB90_14:
ld hl, _fast_mp_montgomery_reduce
lea iy, ix + 0
lea iy, iy - 128
lea iy, iy - 128
lea iy, iy - 128
lea iy, iy - 128
lea iy, iy - 128
lea iy, iy - 128
lea iy, iy - 128
lea iy, iy - 128
lea iy, iy - 128
lea iy, iy - 128
lea iy, iy - 128
lea iy, iy - 128
lea iy, iy - 128
lea iy, iy - 128
lea iy, iy - 128
lea iy, iy - 128
lea iy, iy - 128
lea iy, iy - 128
lea iy, iy - 128
lea iy, iy - 128
lea iy, iy - 128
lea iy, iy - 128
lea iy, iy - 128
lea iy, iy - 128
lea iy, iy - 66
ld (iy + 0), hl
ld.sis hl, 0
lea iy, ix + 0
lea iy, iy - 128
lea iy, iy - 128
lea iy, iy - 128
lea iy, iy - 128
lea iy, iy - 128
lea iy, iy - 128
lea iy, iy - 128
lea iy, iy - 128
lea iy, iy - 128
lea iy, iy - 128
lea iy, iy - 128
lea iy, iy - 128
lea iy, iy - 128
lea iy, iy - 128
lea iy, iy - 128
lea iy, iy - 128
lea iy, iy - 128
lea iy, iy - 128
lea iy, iy - 128
lea iy, iy - 128
lea iy, iy - 128
lea iy, iy - 128
lea iy, iy - 128
lea iy, iy - 128
lea iy, iy - 72
ld (iy + 0), hl
lea hl, ix - 19
lea iy, ix + 0
lea iy, iy - 128
lea iy, iy - 128
lea iy, iy - 128
lea iy, iy - 128
lea iy, iy - 128
lea iy, iy - 128
lea iy, iy - 128
lea iy, iy - 128
lea iy, iy - 128
lea iy, iy - 128
lea iy, iy - 128
lea iy, iy - 128
lea iy, iy - 128
lea iy, iy - 128
lea iy, iy - 128
lea iy, iy - 128
lea iy, iy - 128
lea iy, iy - 128
lea iy, iy - 128
lea iy, iy - 128
lea iy, iy - 128
lea iy, iy - 128
lea iy, iy - 128
lea iy, iy - 128
lea iy, iy - 78
ld (iy + 0), hl
push ix
lea ix, ix - 128
lea ix, ix - 128
lea ix, ix - 128
lea ix, ix - 128
lea ix, ix - 128
lea ix, ix - 128
lea ix, ix - 128
lea ix, ix - 128
lea ix, ix - 128
lea ix, ix - 128
lea ix, ix - 128
lea ix, ix - 128
lea ix, ix - 128
lea ix, ix - 128
lea ix, ix - 128
lea ix, ix - 128
lea ix, ix - 128
lea ix, ix - 128
lea ix, ix - 128
lea ix, ix - 128
lea ix, ix - 128
lea ix, ix - 128
lea ix, ix - 128
lea ix, ix - 128
lea ix, ix - 45
ld iy, (ix + 0)
pop ix
lea hl, iy + 2
push ix
lea ix, ix - 128
lea ix, ix - 128
lea ix, ix - 128
lea ix, ix - 128
lea ix, ix - 128
lea ix, ix - 128
lea ix, ix - 128
lea ix, ix - 128
lea ix, ix - 128
lea ix, ix - 128
lea ix, ix - 128
lea ix, ix - 128
lea ix, ix - 128
lea ix, ix - 128
lea ix, ix - 128
lea ix, ix - 128
lea ix, ix - 128
lea ix, ix - 128
lea ix, ix - 128
lea ix, ix - 128
lea ix, ix - 128
lea ix, ix - 128
lea ix, ix - 128
lea ix, ix - 128
lea ix, ix - 57
ld (ix + 0), hl
pop ix
lea hl, iy + 0
lea iy, ix + 0
lea iy, iy - 128
lea iy, iy - 128
lea iy, iy - 128
lea iy, iy - 128
lea iy, iy - 128
lea iy, iy - 128
lea iy, iy - 128
lea iy, iy - 128
lea iy, iy - 128
lea iy, iy - 128
lea iy, iy - 128
lea iy, iy - 128
lea iy, iy - 128
lea iy, iy - 128
lea iy, iy - 128
lea iy, iy - 128
lea iy, iy - 128
lea iy, iy - 128
lea iy, iy - 128
lea iy, iy - 128
lea iy, iy - 128
lea iy, iy - 128
lea iy, iy - 128
lea iy, iy - 128
lea iy, iy - 63
ld (iy + 0), hl
push de
pop iy
push bc
pop hl
push ix
ld de, -3120
add ix, de
ld (ix + 0), bc
pop ix
ld bc, 12
call __imulu
ex de, hl
push ix
ld bc, -3108
add ix, bc
ld hl, (ix + 0)
pop ix
add hl, de
push ix
ld de, -3123
add ix, de
ld (ix + 0), hl
pop ix
ld de, -3132
lea hl, ix + 0
add hl, de
ld (hl), iy
lea hl, iy + 0
ld bc, -3120
lea iy, ix + 0
add iy, bc
ld de, (iy + 0)
or a, a
sbc hl, de
push hl
pop bc
ld de, 0
.local .LBB90_15
Code like this is often emitted for very large framesets for ez80-clang 19.1.0
And it gets worse the larger the frameset