An error occurred while loading the file. Please try again.
-
某某某 authored08fe8f19
#include <iostream>
#include <getopt.h>
#include <string>
#include "antlr4-runtime.h"
#include "SysY2022Lexer.h"
#include "MyVisitor.h"
#include "arm.h"
#include "asm_passes.h"
using namespace antlr4;
string tpdata=R"delimiter(.arch armv8-a
.text
.align 2
.syntax unified
.arm
.global main
float_abs:
float_abs68:
vpush { d8, d9, d10, d11, d12, d13, d14, d15 }
push { r4, r5, r6, r7, r8, r9, r10, r11, lr }
mov fp, sp
sub sp, sp, #20
vmov.f32 s16, s0
vstr s16, [fp, #-4]
mov r4, #0
mov r5, r4
str r4, [fp, #-8]
vmov s16, r5
vmov.f32 s17, s16
vstr s16, [fp, #-12]
vcvt.f32.s32 s16, s17
vstr s16, [fp, #-16]
vldr s17, [fp, #-4]
vldr s18, [fp, #-16]
vcmp.f32 s17, s18
vmrs APSR_nzcv, FPSCR
blt if_true_entry70
b if_next_entry72
if_true_entry70:
vldr s17, [fp, #-4]
vneg.f32 s16, s17
vmov.f32 s17, s16
vstr s16, [fp, #-20]
vmov.f32 s0, s17
add sp, sp, #20
pop { r4, r5, r6, r7, r8, r9, r10, r11, lr }
vpop { d8, d9, d10, d11, d12, d13, d14, d15 }
bx lr
if_next_entry72:
vldr s17, [fp, #-4]
vmov.f32 s0, s17
add sp, sp, #20
pop { r4, r5, r6, r7, r8, r9, r10, r11, lr }
vpop { d8, d9, d10, d11, d12, d13, d14, d15 }
bx lr
circle_area:
circle_area81:
vpush { d8, d9, d10, d11, d12, d13, d14, d15 }
push { r4, r5, r6, r7, r8, r9, r10, r11, lr }
mov fp, sp
sub sp, sp, #92
mov r4, r0
mov r5, r4
str r4, [fp, #-4]
vmov s16, r5
vmov.f32 s17, s16
7172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140
vstr s16, [fp, #-8]
vcvt.f32.s32 s16, s17
vstr s16, [fp, #-12]
movw r4, #4059
str r4, [fp, #-16]
movt r4, #16457
mov r5, r4
str r4, [fp, #-16]
mov r4, r5
mov r5, r4
str r4, [fp, #-20]
vmov s16, r5
vmov.f32 s17, s16
vstr s16, [fp, #-24]
vldr s18, [fp, #-12]
vmul.f32 s16, s17, s18
vstr s16, [fp, #-28]
ldr r5, [fp, #-4]
vmov s16, r5
vmov.f32 s17, s16
vstr s16, [fp, #-32]
vcvt.f32.s32 s16, s17
vstr s16, [fp, #-36]
vldr s17, [fp, #-28]
vldr s18, [fp, #-36]
vmul.f32 s16, s17, s18
vstr s16, [fp, #-40]
ldr r5, [fp, #-4]
ldr r6, [fp, #-4]
mul r4, r5, r5
mov r5, r4
str r4, [fp, #-44]
vmov s16, r5
vmov.f32 s17, s16
vstr s16, [fp, #-48]
vcvt.f32.s32 s16, s17
vstr s16, [fp, #-52]
movw r4, #4059
str r4, [fp, #-56]
movt r4, #16457
mov r5, r4
str r4, [fp, #-56]
mov r4, r5
mov r5, r4
str r4, [fp, #-60]
vmov s16, r5
vstr s16, [fp, #-64]
vldr s17, [fp, #-52]
vldr s18, [fp, #-64]
vmul.f32 s16, s17, s18
vstr s16, [fp, #-68]
vldr s17, [fp, #-40]
vldr s18, [fp, #-68]
vadd.f32 s16, s17, s18
vstr s16, [fp, #-72]
mov r4, #2
mov r5, r4
str r4, [fp, #-76]
vmov s16, r5
vmov.f32 s17, s16
vstr s16, [fp, #-80]
vcvt.f32.s32 s16, s17
vstr s16, [fp, #-84]
vldr s17, [fp, #-72]
vldr s18, [fp, #-84]
vdiv.f32 s16, s17, s18
vmov.f32 s17, s16
vstr s16, [fp, #-88]
vmov.f32 s0, s17
add sp, sp, #92