387 lines
9.2 KiB
ArmAsm
387 lines
9.2 KiB
ArmAsm
.syntax unified
|
|
.eabi_attribute 10, 2
|
|
.fpu vfpv2
|
|
.eabi_attribute 20, 1
|
|
.eabi_attribute 21, 1
|
|
.eabi_attribute 23, 3
|
|
.eabi_attribute 24, 1
|
|
.eabi_attribute 25, 1
|
|
.file "uart02.clang.opt.bc"
|
|
.text
|
|
.globl uart_putc
|
|
.align 2
|
|
.type uart_putc,%function
|
|
uart_putc: @ @uart_putc
|
|
@ BB#0: @ %entry
|
|
push {r4, lr}
|
|
mov r4, r0
|
|
.LBB0_1: @ %while.body
|
|
@ =>This Inner Loop Header: Depth=1
|
|
ldr r0, .LCPI0_0
|
|
bl GET32
|
|
tst r0, #32
|
|
beq .LBB0_1
|
|
@ BB#2: @ %while.end
|
|
ldr r0, .LCPI0_1
|
|
mov r1, r4
|
|
bl PUT32
|
|
pop {r4, pc}
|
|
.align 2
|
|
@ BB#3:
|
|
.LCPI0_0:
|
|
.long 539054164 @ 0x20215054
|
|
.LCPI0_1:
|
|
.long 539054144 @ 0x20215040
|
|
.Ltmp0:
|
|
.size uart_putc, .Ltmp0-uart_putc
|
|
|
|
.globl hexstrings
|
|
.align 2
|
|
.type hexstrings,%function
|
|
hexstrings: @ @hexstrings
|
|
@ BB#0: @ %entry
|
|
push {r4, r5, r6, lr}
|
|
mov r4, r0
|
|
mov r0, #55
|
|
add r5, r0, r4, lsr #28
|
|
lsr r6, r4, #28
|
|
.LBB1_1: @ %while.body.i
|
|
@ =>This Inner Loop Header: Depth=1
|
|
ldr r0, .LCPI1_0
|
|
bl GET32
|
|
tst r0, #32
|
|
beq .LBB1_1
|
|
@ BB#2: @ %uart_putc.exit
|
|
ldr r0, .LCPI1_1
|
|
orr r1, r6, #48
|
|
cmp r4, #-1610612736
|
|
movhs r1, r5
|
|
bl PUT32
|
|
mov r0, #15
|
|
and r6, r0, r4, lsr #24
|
|
add r5, r6, #55
|
|
.LBB1_3: @ %while.body.i.1
|
|
@ =>This Inner Loop Header: Depth=1
|
|
ldr r0, .LCPI1_0
|
|
bl GET32
|
|
tst r0, #32
|
|
beq .LBB1_3
|
|
@ BB#4: @ %uart_putc.exit.1
|
|
ldr r0, .LCPI1_1
|
|
orr r1, r6, #48
|
|
cmp r6, #9
|
|
movhi r1, r5
|
|
bl PUT32
|
|
mov r0, #15
|
|
and r6, r0, r4, lsr #20
|
|
add r5, r6, #55
|
|
.LBB1_5: @ %while.body.i.2
|
|
@ =>This Inner Loop Header: Depth=1
|
|
ldr r0, .LCPI1_0
|
|
bl GET32
|
|
tst r0, #32
|
|
beq .LBB1_5
|
|
@ BB#6: @ %uart_putc.exit.2
|
|
ldr r0, .LCPI1_1
|
|
orr r1, r6, #48
|
|
cmp r6, #9
|
|
movhi r1, r5
|
|
bl PUT32
|
|
mov r0, #15
|
|
and r6, r0, r4, lsr #16
|
|
add r5, r6, #55
|
|
.LBB1_7: @ %while.body.i.3
|
|
@ =>This Inner Loop Header: Depth=1
|
|
ldr r0, .LCPI1_0
|
|
bl GET32
|
|
tst r0, #32
|
|
beq .LBB1_7
|
|
@ BB#8: @ %uart_putc.exit.3
|
|
ldr r0, .LCPI1_1
|
|
orr r1, r6, #48
|
|
cmp r6, #9
|
|
movhi r1, r5
|
|
bl PUT32
|
|
mov r0, #15
|
|
and r6, r0, r4, lsr #12
|
|
add r5, r6, #55
|
|
.LBB1_9: @ %while.body.i.4
|
|
@ =>This Inner Loop Header: Depth=1
|
|
ldr r0, .LCPI1_0
|
|
bl GET32
|
|
tst r0, #32
|
|
beq .LBB1_9
|
|
@ BB#10: @ %uart_putc.exit.4
|
|
ldr r0, .LCPI1_1
|
|
orr r1, r6, #48
|
|
cmp r6, #9
|
|
movhi r1, r5
|
|
bl PUT32
|
|
mov r0, #15
|
|
and r6, r0, r4, lsr #8
|
|
add r5, r6, #55
|
|
.LBB1_11: @ %while.body.i.5
|
|
@ =>This Inner Loop Header: Depth=1
|
|
ldr r0, .LCPI1_0
|
|
bl GET32
|
|
tst r0, #32
|
|
beq .LBB1_11
|
|
@ BB#12: @ %uart_putc.exit.5
|
|
ldr r0, .LCPI1_1
|
|
orr r1, r6, #48
|
|
cmp r6, #9
|
|
movhi r1, r5
|
|
bl PUT32
|
|
mov r0, #15
|
|
and r6, r0, r4, lsr #4
|
|
add r5, r6, #55
|
|
.LBB1_13: @ %while.body.i.6
|
|
@ =>This Inner Loop Header: Depth=1
|
|
ldr r0, .LCPI1_0
|
|
bl GET32
|
|
tst r0, #32
|
|
beq .LBB1_13
|
|
@ BB#14: @ %uart_putc.exit.6
|
|
ldr r0, .LCPI1_1
|
|
orr r1, r6, #48
|
|
cmp r6, #9
|
|
movhi r1, r5
|
|
bl PUT32
|
|
and r5, r4, #15
|
|
add r4, r5, #55
|
|
.LBB1_15: @ %while.body.i.7
|
|
@ =>This Inner Loop Header: Depth=1
|
|
ldr r0, .LCPI1_0
|
|
bl GET32
|
|
tst r0, #32
|
|
beq .LBB1_15
|
|
@ BB#16: @ %uart_putc.exit.7
|
|
ldr r0, .LCPI1_1
|
|
orr r1, r5, #48
|
|
cmp r5, #9
|
|
movhi r1, r4
|
|
bl PUT32
|
|
.LBB1_17: @ %while.body.i4
|
|
@ =>This Inner Loop Header: Depth=1
|
|
ldr r0, .LCPI1_0
|
|
bl GET32
|
|
tst r0, #32
|
|
beq .LBB1_17
|
|
@ BB#18: @ %uart_putc.exit5
|
|
ldr r0, .LCPI1_1
|
|
mov r1, #32
|
|
bl PUT32
|
|
pop {r4, r5, r6, pc}
|
|
.align 2
|
|
@ BB#19:
|
|
.LCPI1_0:
|
|
.long 539054164 @ 0x20215054
|
|
.LCPI1_1:
|
|
.long 539054144 @ 0x20215040
|
|
.Ltmp1:
|
|
.size hexstrings, .Ltmp1-hexstrings
|
|
|
|
.globl hexstring
|
|
.align 2
|
|
.type hexstring,%function
|
|
hexstring: @ @hexstring
|
|
@ BB#0: @ %entry
|
|
push {lr}
|
|
bl hexstrings
|
|
.LBB2_1: @ %while.body.i
|
|
@ =>This Inner Loop Header: Depth=1
|
|
ldr r0, .LCPI2_0
|
|
bl GET32
|
|
tst r0, #32
|
|
beq .LBB2_1
|
|
@ BB#2: @ %uart_putc.exit
|
|
ldr r0, .LCPI2_1
|
|
mov r1, #13
|
|
bl PUT32
|
|
.LBB2_3: @ %while.body.i4
|
|
@ =>This Inner Loop Header: Depth=1
|
|
ldr r0, .LCPI2_0
|
|
bl GET32
|
|
tst r0, #32
|
|
beq .LBB2_3
|
|
@ BB#4: @ %uart_putc.exit5
|
|
ldr r0, .LCPI2_1
|
|
mov r1, #10
|
|
bl PUT32
|
|
pop {lr}
|
|
bx lr
|
|
.align 2
|
|
@ BB#5:
|
|
.LCPI2_0:
|
|
.long 539054164 @ 0x20215054
|
|
.LCPI2_1:
|
|
.long 539054144 @ 0x20215040
|
|
.Ltmp2:
|
|
.size hexstring, .Ltmp2-hexstring
|
|
|
|
.globl notmain
|
|
.align 2
|
|
.type notmain,%function
|
|
notmain: @ @notmain
|
|
@ BB#0: @ %entry
|
|
push {r4, r5, r6, lr}
|
|
mov r4, r0
|
|
ldr r0, .LCPI3_0
|
|
mov r1, #1
|
|
bl PUT32
|
|
ldr r6, .LCPI3_1
|
|
mov r1, #0
|
|
mov r5, #0
|
|
mov r0, r6
|
|
bl PUT32
|
|
ldr r0, .LCPI3_2
|
|
mov r1, #0
|
|
bl PUT32
|
|
ldr r0, .LCPI3_3
|
|
mov r1, #3
|
|
bl PUT32
|
|
ldr r0, .LCPI3_4
|
|
mov r1, #0
|
|
bl PUT32
|
|
mov r0, r6
|
|
mov r1, #0
|
|
bl PUT32
|
|
ldr r0, .LCPI3_5
|
|
mov r1, #198
|
|
bl PUT32
|
|
ldr r0, .LCPI3_6
|
|
mov r1, #14
|
|
orr r1, r1, #256
|
|
bl PUT32
|
|
ldr r6, .LCPI3_7
|
|
mov r0, r6
|
|
bl GET32
|
|
bic r0, r0, #258048
|
|
orr r1, r0, #73728
|
|
mov r0, r6
|
|
bl PUT32
|
|
ldr r0, .LCPI3_8
|
|
mov r1, #0
|
|
bl PUT32
|
|
.LBB3_1: @ %for.body
|
|
@ =>This Inner Loop Header: Depth=1
|
|
mov r0, r5
|
|
bl dummy
|
|
add r5, r5, #1
|
|
cmp r5, #150
|
|
bne .LBB3_1
|
|
@ BB#2: @ %for.end
|
|
ldr r0, .LCPI3_9
|
|
mov r1, #49152
|
|
bl PUT32
|
|
mov r5, #0
|
|
.LBB3_3: @ %for.body5
|
|
@ =>This Inner Loop Header: Depth=1
|
|
mov r0, r5
|
|
bl dummy
|
|
add r5, r5, #1
|
|
cmp r5, #150
|
|
bne .LBB3_3
|
|
@ BB#4: @ %for.end8
|
|
ldr r0, .LCPI3_9
|
|
mov r1, #0
|
|
bl PUT32
|
|
ldr r0, .LCPI3_2
|
|
mov r1, #3
|
|
bl PUT32
|
|
ldr r0, .LCPI3_10
|
|
bl hexstrings
|
|
.LBB3_5: @ %while.body.i.i
|
|
@ =>This Inner Loop Header: Depth=1
|
|
ldr r0, .LCPI3_11
|
|
bl GET32
|
|
tst r0, #32
|
|
beq .LBB3_5
|
|
@ BB#6: @ %uart_putc.exit.i
|
|
ldr r0, .LCPI3_12
|
|
mov r1, #13
|
|
bl PUT32
|
|
.LBB3_7: @ %while.body.i4.i
|
|
@ =>This Inner Loop Header: Depth=1
|
|
ldr r0, .LCPI3_11
|
|
bl GET32
|
|
tst r0, #32
|
|
beq .LBB3_7
|
|
@ BB#8: @ %hexstring.exit
|
|
ldr r0, .LCPI3_12
|
|
mov r1, #10
|
|
bl PUT32
|
|
mov r0, r4
|
|
bl hexstrings
|
|
.LBB3_9: @ %while.body.i.i5
|
|
@ =>This Inner Loop Header: Depth=1
|
|
ldr r0, .LCPI3_11
|
|
bl GET32
|
|
tst r0, #32
|
|
beq .LBB3_9
|
|
@ BB#10: @ %uart_putc.exit.i6
|
|
ldr r0, .LCPI3_12
|
|
mov r1, #13
|
|
bl PUT32
|
|
.LBB3_11: @ %while.body.i4.i10
|
|
@ =>This Inner Loop Header: Depth=1
|
|
ldr r0, .LCPI3_11
|
|
bl GET32
|
|
tst r0, #32
|
|
beq .LBB3_11
|
|
@ BB#12: @ %hexstring.exit11
|
|
ldr r0, .LCPI3_12
|
|
mov r1, #10
|
|
b .LBB3_14
|
|
.LBB3_13: @ %while.end
|
|
@ in Loop: Header=BB3_14 Depth=1
|
|
ldr r4, .LCPI3_12
|
|
mov r0, r4
|
|
bl GET32
|
|
mov r1, r0
|
|
mov r0, r4
|
|
.LBB3_14: @ %hexstring.exit11
|
|
@ =>This Loop Header: Depth=1
|
|
@ Child Loop BB3_15 Depth 2
|
|
bl PUT32
|
|
.LBB3_15: @ %while.body10
|
|
@ Parent Loop BB3_14 Depth=1
|
|
@ => This Inner Loop Header: Depth=2
|
|
ldr r0, .LCPI3_11
|
|
bl GET32
|
|
tst r0, #1
|
|
beq .LBB3_15
|
|
b .LBB3_13
|
|
.align 2
|
|
@ BB#16:
|
|
.LCPI3_0:
|
|
.long 539054084 @ 0x20215004
|
|
.LCPI3_1:
|
|
.long 539054148 @ 0x20215044
|
|
.LCPI3_2:
|
|
.long 539054176 @ 0x20215060
|
|
.LCPI3_3:
|
|
.long 539054156 @ 0x2021504c
|
|
.LCPI3_4:
|
|
.long 539054160 @ 0x20215050
|
|
.LCPI3_5:
|
|
.long 539054152 @ 0x20215048
|
|
.LCPI3_6:
|
|
.long 539054184 @ 0x20215068
|
|
.LCPI3_7:
|
|
.long 538968068 @ 0x20200004
|
|
.LCPI3_8:
|
|
.long 538968212 @ 0x20200094
|
|
.LCPI3_9:
|
|
.long 538968216 @ 0x20200098
|
|
.LCPI3_10:
|
|
.long 305419896 @ 0x12345678
|
|
.LCPI3_11:
|
|
.long 539054164 @ 0x20215054
|
|
.LCPI3_12:
|
|
.long 539054144 @ 0x20215040
|
|
.Ltmp3:
|
|
.size notmain, .Ltmp3-notmain
|
|
|
|
|