65816-llvm-mos/compare/evalAt.ours.s
2026-05-18 14:43:35 -05:00

530 lines
7.7 KiB
ArmAsm

.file "evalAt.c"
.text
.globl evalAt ; -- Begin function evalAt
.type evalAt,@function
evalAt: ; @evalAt
; %bb.0: ; %entry
rep #0x30
tay
tsc
sec
sbc #0x2e
tcs
tya
pha
lda 0xc0
sta 0xb, s
lda 0xc4
sta 0x9, s
lda 0xc6
sta 0x7, s
lda 0xc8
sta 0x5, s
lda 0xca
sta 0x3, s
pla
stx 0xc0
sta 0x1b, s
clc
adc #0x2
sta 0x1f, s
lda 0xc0
sta 0x21, s
adc #0x0
sta 0x21, s
lda 0x1f, s
sta 0xe0
lda 0x21, s
sta 0xe2
ldy #0x0
lda [0xe0], y
sta 0x1f, s
pha
lda 0xc0
sta 0x2f, s
pla
lda 0x1b, s
sta 0xe0
lda 0x2d, s
sta 0xe2
lda [0xe0], y
sta 0x21, s
lda 0x32, s
sta 0xb, s
lda #0x0
sta 0xc4
sta 0xc6
lda 0x21, s
sta 0xe0
lda 0x1f, s
sta 0xe2
lda [0xe0], y
and #0xff
sta 0x1d, s
sep #0x20
clc
adc #0xd0
rep #0x20
and #0xff
cmp #0xa
pha
lda 0xc4
sta 0xc8
pla
pha
lda 0xc6
sta 0xca
pla
bcc .LBB0_1
; %bb.15: ; %entry
brl .LBB0_4
.LBB0_1: ; %while.body.preheader
lda 0x21, s
inc a
sta 0x21, s
bne .Ltmp0
lda 0x1f, s
inc a
sta 0x1f, s
.Ltmp0:
lda #0x0
sta 0x15, s
sta 0x13, s
sta 0x11, s
sta 0xf, s
lda 0x1f, s
sta 0x17, s
.LBB0_2: ; %while.body
; =>This Inner Loop Header: Depth=1
sta 0x1f, s
lda 0x1b, s
tax
pha
lda 0xc0
sta 0x2d, s
pla
txa
sta 0xe0
lda 0x2b, s
sta 0xe2
lda 0x21, s
ldy #0x0
sta [0xe0], y
lda 0x1b, s
clc
adc #0x2
sta 0xd, s
lda 0xc0
sta 0x19, s
adc #0x0
sta 0x19, s
lda 0xd, s
sta 0xe0
lda 0x19, s
sta 0xe2
lda 0x1f, s
sta [0xe0], y
pea 0x4024
lda #0x0
pha
pha
pha
lda 0x17, s
pha
lda 0x1b, s
pha
lda 0x1f, s
tax
lda 0x21, s
jsl __muldf3
sta 0xe0
tsc
clc
adc #0xc
tcs
lda 0xe0
sta 0x19, s
txa
sta 0x15, s
tya
sta 0x13, s
lda 0xf0
sta 0x11, s
lda 0x1d, s
sep #0x20
clc
adc #0xd0
rep #0x20
and #0xff
sta 0x1d, s
ldx #0x0
lda 0x1d, s
jsl __floatunsidf
sta 0x1d, s
txa
sta 0xf, s
tya
sta 0xd, s
pei 0xf0
lda 0xf, s
pha
lda 0x13, s
tax
phx
lda 0x23, s
pha
lda 0x19, s
pha
lda 0x1d, s
pha
lda 0x21, s
tax
lda 0x25, s
jsl __adddf3
sta 0xe0
tsc
clc
adc #0xc
tcs
lda 0xe0
sta 0x15, s
txa
sta 0x13, s
tya
sta 0x11, s
lda 0xf0
sta 0xf, s
lda 0x21, s
sta 0xd0
tax
lda 0x21, s
clc
adc #0x1
sta 0x21, s
txa
lda 0xd0
sta 0x1d, s
lda 0x17, s
adc #0x0
sta 0x17, s
lda 0x11, s
sta 0xc8
lda 0xf, s
sta 0xca
lda 0x15, s
sta 0xc4
lda 0x13, s
sta 0xc6
lda 0x1d, s
sta 0xe0
lda 0x1f, s
sta 0xe2
ldy #0x0
lda [0xe0], y
and #0xff
sta 0x1d, s
sep #0x20
clc
adc #0xd0
rep #0x20
and #0xff
cmp #0xa
lda 0x17, s
bcs .LBB0_3
; %bb.16: ; %while.body
; in Loop: Header=BB0_2 Depth=1
brl .LBB0_2
.LBB0_3: ; %while.cond7.preheader.loopexit
lda 0x21, s
clc
adc #0xffff
sta 0x21, s
lda 0x17, s
adc #0xffff
sta 0x1f, s
.LBB0_4: ; %while.cond7.preheader
lda 0xb, s
eor #0x8000
sta 0xb, s
lda 0x1d, s
brl .LBB0_5
.LBB0_11: ; %if.then33
; in Loop: Header=BB0_5 Depth=1
lda 0xc6
sta 0x1d, s
lda 0xc4
sta 0x15, s
lda 0xca
sta 0x13, s
lda 0xc8
sta 0x11, s
lda 0x17, s
pha
lda 0x1b, s
pha
lda 0x23, s
pha
lda 0x27, s
pha
lda 0x1b, s
pha
lda 0x1b, s
pha
lda 0x29, s
tax
lda 0x21, s
jsl __muldf3
.LBB0_12: ; %cleanup
; in Loop: Header=BB0_5 Depth=1
sta 0xe0
tsc
clc
adc #0xc
tcs
lda 0xe0
sta 0x21, s
txa
sta 0x1f, s
tya
sta 0x1d, s
lda 0xf0
sta 0x19, s
lda 0x1d, s
sta 0xc8
lda 0x19, s
sta 0xca
lda 0x21, s
sta 0xc4
lda 0x1f, s
sta 0xc6
.LBB0_13: ; %cleanup
; in Loop: Header=BB0_5 Depth=1
lda 0x1b, s
clc
adc #0x2
sta 0x1f, s
lda 0xc0
sta 0x21, s
adc #0x0
sta 0x21, s
lda 0x1f, s
sta 0xe0
lda 0x21, s
sta 0xe2
ldy #0x0
lda [0xe0], y
sta 0x1f, s
lda 0x1b, s
tax
pha
lda 0xc0
sta 0x25, s
pla
txa
sta 0xe0
lda 0x23, s
sta 0xe2
lda [0xe0], y
sta 0x21, s
sta 0xe0
lda 0x1f, s
sta 0xe2
lda [0xe0], y
and #0xff
.LBB0_5: ; %while.cond7
; =>This Inner Loop Header: Depth=1
sta 0x1d, s
sep #0x20
clc
adc #0xd6
rep #0x20
and #0xff
sta 0x19, s
lda 0x19, s
pha
lda #0x2b
jsl __lshrhi3
ply
sta 0x17, s
lda 0x19, s
cmp #0x6
bcc .LBB0_6
; %bb.17: ; %while.cond7
brl .LBB0_14
.LBB0_6: ; %while.cond7
; in Loop: Header=BB0_5 Depth=1
lda 0x17, s
and #0x1
sta 0x17, s
lda #0x0
sta 0x29, s
lda 0x17, s
ora 0x29, s
bne .LBB0_7
; %bb.18: ; %while.cond7
brl .LBB0_14
.LBB0_7: ; %switch.lookup
; in Loop: Header=BB0_5 Depth=1
lda 0x19, s
asl a
tax
lda .Lswitch.table.evalAt, x
sta 0x19, s
eor #0x8000
sta 0x27, s
lda 0xb, s
cmp 0x27, s
bcc .LBB0_8
; %bb.19: ; %switch.lookup
brl .LBB0_14
.LBB0_8: ; %if.end25
; in Loop: Header=BB0_5 Depth=1
lda 0x21, s
inc a
sta 0x21, s
bne .Ltmp1
lda 0x1f, s
inc a
sta 0x1f, s
.Ltmp1:
lda 0x1b, s
tax
pha
lda 0xc0
sta 0x27, s
pla
txa
sta 0xe0
lda 0x25, s
sta 0xe2
lda 0x21, s
ldy #0x0
sta [0xe0], y
lda 0x1b, s
sta 0xd0
clc
adc #0x2
sta 0x17, s
lda 0xd0
sta 0x21, s
lda 0xc0
adc #0x0
sta 0x15, s
lda 0x17, s
sta 0xe0
lda 0x15, s
sta 0xe2
lda 0x1f, s
sta [0xe0], y
lda 0x19, s
pha
ldx 0xc0
lda 0x23, s
jsl evalAt
sta 0xe0
tsc
clc
adc #0x2
tcs
lda 0xe0
sta 0x21, s
txa
sta 0x1f, s
tya
sta 0x19, s
lda 0xf0
sta 0x17, s
lda 0x1d, s
and #0xff
cmp #0x2a
bne .LBB0_9
; %bb.20: ; %if.end25
; in Loop: Header=BB0_5 Depth=1
brl .LBB0_11
.LBB0_9: ; %if.end25
; in Loop: Header=BB0_5 Depth=1
cmp #0x2b
beq .LBB0_10
; %bb.21: ; %if.end25
; in Loop: Header=BB0_5 Depth=1
brl .LBB0_13
.LBB0_10: ; %if.then29
; in Loop: Header=BB0_5 Depth=1
lda 0xc6
sta 0x1d, s
lda 0xc4
sta 0x15, s
lda 0xca
sta 0x13, s
lda 0xc8
sta 0x11, s
lda 0x17, s
pha
lda 0x1b, s
pha
lda 0x23, s
pha
lda 0x27, s
pha
lda 0x1b, s
pha
lda 0x1b, s
pha
lda 0x29, s
tax
lda 0x21, s
jsl __adddf3
brl .LBB0_12
.LBB0_14: ; %cleanup37
lda 0xc6
sta 0x21, s
lda 0xc4
sta 0x1f, s
lda 0xca
sta 0x1b, s
lda 0xc8
sta 0x1d, s
lda 0x1b, s
sta 0xf0
lda 0x1d, s
tay
lda 0x21, s
tax
lda 0x1f, s
pha
lda 0x3, s
sta 0xca
lda 0x5, s
sta 0xc8
lda 0x7, s
sta 0xc6
lda 0x9, s
sta 0xc4
lda 0xb, s
sta 0xc0
pla
sta 0xe0
tsc
clc
adc #0x2e
tcs
lda 0xe0
rtl
.Lfunc_end0:
.size evalAt, .Lfunc_end0-evalAt
; -- End function
.type .Lswitch.table.evalAt,@object ; @switch.table.evalAt
.section .rodata,"a",@progbits
.p2align 1, 0x0
.Lswitch.table.evalAt:
.short 4 ; 0x4
.short 3 ; 0x3
.zero 2
.short 3 ; 0x3
.zero 2
.short 4 ; 0x4
.size .Lswitch.table.evalAt, 12
.ident "clang version 23.0.0git (https://github.com/llvm-mos/llvm-mos.git c798c31416f72b395c658b5502d281a162387ab1)"
.section ".note.GNU-stack","",@progbits
.addrsig