mirror of
https://github.com/zeldaret/mm.git
synced 2024-12-02 09:57:09 +00:00
58022571ba
* yeet * git subrepo clone git@github.com:simonlindholm/asm-processor.git tools/asm-processor subrepo: subdir: "tools/asm-processor" merged: "bbd86ea1f" upstream: origin: "git@github.com:simonlindholm/asm-processor.git" branch: "main" commit: "bbd86ea1f" git-subrepo: version: "0.4.3" origin: "https://github.com/ingydotnet/git-subrepo.git" commit: "2f68596"
154 lines
1.8 KiB
C
154 lines
1.8 KiB
C
// COMPILE-FLAGS: -O2
|
|
GLOBAL_ASM(
|
|
.late_rodata
|
|
.double 1
|
|
.double 2
|
|
.double 3
|
|
.double 4
|
|
.double 5
|
|
.double 6
|
|
.double 7
|
|
.double 8
|
|
.text
|
|
glabel doubles1
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
)
|
|
|
|
float a(void) { return 1.1f; }
|
|
|
|
GLOBAL_ASM(
|
|
.late_rodata
|
|
.float 1
|
|
.double 2
|
|
.double 3
|
|
.double 4
|
|
.double 5
|
|
.double 6
|
|
.double 7
|
|
.double 8
|
|
.double 9
|
|
.float 10
|
|
.text
|
|
glabel doubles2
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
)
|
|
|
|
GLOBAL_ASM(
|
|
glabel a2
|
|
move $a0, $a0
|
|
nop
|
|
nop
|
|
nop
|
|
jr $ra
|
|
move $a0, $a0
|
|
)
|
|
|
|
GLOBAL_ASM(
|
|
.late_rodata
|
|
|
|
glabel jtbl
|
|
.word case0, case1, case2, case3, case4, case5, case6, case7, case8, case9, case10
|
|
.word case11, case12, case13, case14, case15, case16, case17, case18, case19, case20
|
|
.word case21, case22, case23, case24, case25, case26
|
|
|
|
.text
|
|
glabel foo
|
|
sltiu $at, $a0, 0xa
|
|
beqz $at, .L756E659B
|
|
sll $t7, $a0, 2
|
|
lui $at, %hi(jtbl)
|
|
addu $at, $at, $t7
|
|
lw $t7, %lo(jtbl)($at)
|
|
jr $t7
|
|
nop
|
|
case0: addiu $a0, $a0, 1
|
|
case1: addiu $a0, $a0, 1
|
|
case2: addiu $a0, $a0, 1
|
|
case3: addiu $a0, $a0, 1
|
|
case4: addiu $a0, $a0, 1
|
|
case5: addiu $a0, $a0, 1
|
|
case6: addiu $a0, $a0, 1
|
|
case7: addiu $a0, $a0, 1
|
|
case8: addiu $a0, $a0, 1
|
|
case9: addiu $a0, $a0, 1
|
|
case10: addiu $a0, $a0, 1
|
|
case11: addiu $a0, $a0, 1
|
|
case12: addiu $a0, $a0, 1
|
|
case13: addiu $a0, $a0, 1
|
|
case14: addiu $a0, $a0, 1
|
|
case15: addiu $a0, $a0, 1
|
|
case16: addiu $a0, $a0, 1
|
|
case17: addiu $a0, $a0, 1
|
|
case18: addiu $a0, $a0, 1
|
|
case19: addiu $a0, $a0, 1
|
|
case20: addiu $a0, $a0, 1
|
|
case21: addiu $a0, $a0, 1
|
|
case22: addiu $a0, $a0, 1
|
|
case23: addiu $a0, $a0, 1
|
|
case24: addiu $a0, $a0, 1
|
|
case25: addiu $a0, $a0, 1
|
|
case26:
|
|
jr $ra
|
|
addiu $v0, $a0, 1
|
|
|
|
.L756E659B:
|
|
addiu $v0, $zero, 2
|
|
jr $ra
|
|
nop
|
|
)
|
|
|
|
GLOBAL_ASM(
|
|
glabel b2
|
|
move $a0, $a0
|
|
nop
|
|
nop
|
|
jr $ra
|
|
move $a0, $a0
|
|
)
|
|
|
|
float b(void) { return 1.2f; }
|