Skip to content

Commit 860dd44

Browse files
committed
fixed local/private ez80sf labels
1 parent b1551ce commit 860dd44

File tree

7 files changed

+45
-30
lines changed

7 files changed

+45
-30
lines changed

src/crt/fpaddsub.src

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,8 @@ __fpsub: ; CHECK: same(bitcast(float, pair8_24_t, { out.BC, out.A }), bitcast(fl
3030
; aubc = aubc + euhl
3131
__fpadd: ; CHECK: same(bitcast(float, pair8_24_t, { out.BC, out.A }), bitcast(float, pair8_24_t, { in.BC, in.A }) + bitcast(float, pair8_24_t, { in.HL, in.E })) && out.DE == in.DE && out.HL == in.HL && out.IX == in.IX && out.IY == in.IY
3232
push de
33-
.enter:
33+
.local __fpadd.enter
34+
__fpadd.enter:
3435
push hl
3536
push bc
3637
xor a, e

src/crt/fpcmp.src

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -157,36 +157,40 @@ __fpcmpo: ; CHECK: out.flags.Z == (bitcast(float, pair8_24_t, { in.HL, in.E }) =
157157
; s = euhl < aubc = !(euhl >= aubc)
158158
__fpcmp: ; CHECK: (isunordered(bitcast(float, pair8_24_t, { in.HL, in.E }), bitcast(float, pair8_24_t, { in.BC, in.A })) || (out.flags.Z == (bitcast(float, pair8_24_t, { in.HL, in.E }) == bitcast(float, pair8_24_t, { in.BC, in.A })) && out.flags.S == (bitcast(float, pair8_24_t, { in.HL, in.E }) < bitcast(float, pair8_24_t, { in.BC, in.A })))) && out.A == in.A && out.BC == in.BC && out.DE == in.DE && out.HL == in.HL && out.IX == in.IX && out.IY == in.IY
159159
sub a, e
160-
jr z, .maybeEqual
160+
jr z, __fpcmp.maybeEqual
161161
cp a, 080h
162-
jr z, .maybeBothZero
162+
jr z, __fpcmp.maybeBothZero
163163
; Compare sign and upper 7 exponent bits, which are not equal
164164
add a, e
165165
inc e
166166
dec e ; S = sign(euhl), Z = 0 because E > A
167167
ret c
168-
.notBothZero:
168+
.local __fpcmp.notBothZero
169+
__fpcmp.notBothZero:
169170
cp a, 080h ; S = !sign(aubc)
170171
ret nz
171172
cp a, e ; S = !sign(aubc), Z = 0 because A == 080h and A > E and A - E != 080h
172173
ret
173174

174-
.maybeBothZero:
175+
.local __fpcmp.maybeBothZero
176+
__fpcmp.maybeBothZero:
175177
add a, e
176178
add a, a
177179
rra
178-
jr nz, .notBothZero
180+
jr nz, __fpcmp.notBothZero
179181
adc hl, bc
180-
jr c, .notBothZeroFixup
182+
jr c, __fpcmp.notBothZeroFixup
181183
ret z ; Both inputs are zero, return Z=1, S=0
182-
.notBothZeroFixup:
184+
.local __fpcmp.notBothZeroFixup
185+
__fpcmp.notBothZeroFixup:
183186
or a, a
184187
sbc hl, bc
185188
dec a ; S = !sign(aubc), Z = 0 because (A & 07Fh) == 0
186189
cpl ; Restore A, preserve S and Z
187190
ret
188191

189-
.maybeEqual:
192+
.local __fpcmp.maybeEqual
193+
__fpcmp.maybeEqual:
190194
ld a, e
191195
sbc hl, bc
192196
add hl, bc

src/crt/fpminmax.src

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,8 @@ __fpmin: ; CHECK: sameignzerosign(bitcast(float, pair8_24_t, { out.BC, out.A }),
1313
call __fpcmpo
1414
ret p
1515
jr nc, __fpmax.unordered
16-
.return:
16+
.local __fpmin.return
17+
__fpmin.return:
1718
push hl
1819
pop bc
1920
ld a, e
@@ -25,7 +26,8 @@ __fpmax: ; CHECK: sameignzerosign(bitcast(float, pair8_24_t, { out.BC, out.A }),
2526
call __fpcmpo
2627
ret c
2728
jp p, __fpmin.return
28-
.unordered:
29+
.local __fpmax.unordered
30+
__fpmax.unordered:
2931
; Compare the low 31 bits (ignoring sign) and return the smaller one, which is non-NaN if either one is
3032
sbc hl, bc
3133
ccf
@@ -34,13 +36,15 @@ __fpmax: ; CHECK: sameignzerosign(bitcast(float, pair8_24_t, { out.BC, out.A }),
3436
ccf
3537
adc a, e
3638
; Carry into bit 31 is equivalent to carry XOR overflow
37-
jr nc, .nocarry
39+
jr nc, __fpmax.nocarry
3840
ret po
39-
; jq .return
41+
; jq __fpmax.return
4042
db $30 ; jr nc, *
41-
.nocarry:
43+
.local __fpmax.nocarry
44+
__fpmax.nocarry:
4245
ret pe
43-
.return:
46+
.local __fpmax.return
47+
__fpmax.return:
4448
jr __fpmin.return
4549

4650
.extern __fpcmpo

src/crt/fptrunc.src

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -90,9 +90,9 @@ __fptrunc: ; CHECK: same(bitcast(float, pair8_24_t, { out.BC, out.A }), truncf(b
9090
ld h, a
9191
rla
9292
sub a, 07Fh
93-
jr c, .return.zero
93+
jr c, __fptrunc.return.zero
9494
sub a, 24
95-
jr nc, .return
95+
jr nc, __fptrunc.return
9696
ld l, c
9797
cpl
9898
ld c, a
@@ -104,12 +104,14 @@ __fptrunc: ; CHECK: same(bitcast(float, pair8_24_t, { out.BC, out.A }), truncf(b
104104
call __iand
105105
ex (sp), hl
106106
pop bc
107-
.return:
107+
.local __fptrunc.return
108+
__fptrunc.return:
108109
ld a, h
109110
pop hl
110111
ret
111112

112-
.return.zero:
113+
.local __fptrunc.return.zero
114+
__fptrunc.return.zero:
113115
ld bc, 0
114116
ld a, h
115117
and a, 080h

src/crt/fputil.src

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -34,11 +34,11 @@ __fppop2:
3434

3535
__fppack.normalize:
3636
dec b
37-
call nz, .entry
37+
call nz, __fppack.normalize.entry
3838
__fppack:
3939
add hl, de
40-
jr nc, .normalize
41-
.normalized:
40+
jr nc, __fppack.normalize
41+
__fppack.normalized:
4242
rrc l
4343
rlc l
4444
adc a, 07Fh
@@ -52,7 +52,8 @@ __fppack:
5252
add hl, de
5353
ret
5454

55-
.normalize.entry:
55+
.local __fppack.normalize.entry
56+
__fppack.normalize.entry:
5657
add a, a
5758
adc hl, hl
5859
ret m
@@ -82,11 +83,11 @@ __fppack:
8283

8384
__fppack2.normalize:
8485
dec b
85-
call nz, .loop
86+
call nz, __fppack2.normalize.loop
8687
__fppack2:
8788
add hl, de
88-
jr nc, .normalize
89-
.normalized:
89+
jr nc, __fppack2.normalize
90+
__fppack2.normalized:
9091
ld a, b
9192
add ix, de
9293
jr nc, .rounded
@@ -116,11 +117,12 @@ __fppack2:
116117
ex de, hl
117118
ret
118119

119-
.normalize.loop:
120+
.local __fppack2.normalize.loop
121+
__fppack2.normalize.loop:
120122
add ix, ix
121123
adc hl, hl
122124
ret m
123-
djnz .normalize.loop
125+
djnz __fppack2.normalize.loop
124126
add hl, de
125127
ret
126128

src/crt/lltofp.src

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,8 @@ __ulltofp: ; CHECK: same(bitcast(float, pair8_24_t, { out.HL, out.E }), (float)b
2828
push af
2929
push bc
3030
xor a, a
31-
.enter:
31+
.local __ulltofp.enter
32+
__ulltofp.enter:
3233
inc b
3334
djnz .upper
3435
inc c

src/crt/ltofp.src

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,8 @@ __ultofp: ; CHECK: same(bitcast(float, pair8_24_t, { out.BC, out.A }), (float)bi
2626

2727
__ltofp: ; CHECK: same(bitcast(float, pair8_24_t, { out.BC, out.A }), (float)bitcast(int32_t, pair8_24_t, { in.BC, in.A })) && out.DE == in.DE && out.HL == in.HL && out.IX == in.IX && out.IY == in.IY
2828
push af
29-
.enter:
29+
.local __ltofp.enter
30+
__ltofp.enter:
3031
rlca
3132
inc sp
3233
push bc

0 commit comments

Comments
 (0)