Skip to content

Instantly share code, notes, and snippets.

@xxuejie
Created June 15, 2026 07:05
Show Gist options
  • Select an option

  • Save xxuejie/eb58dfd0f469ef2b16f57f1fa1b6519c to your computer and use it in GitHub Desktop.

Select an option

Save xxuejie/eb58dfd0f469ef2b16f57f1fa1b6519c to your computer and use it in GitHub Desktop.
addsf3.o: file format elf64-littleriscv
Disassembly of section .text.__addsf3:
0000000000000000 <__addsf3>:
0: 7179 addi sp, sp, -0x30
2: f406 sd ra, 0x28(sp)
4: f022 sd s0, 0x20(sp)
6: ec26 sd s1, 0x18(sp)
8: e84a sd s2, 0x10(sp)
a: e44e sd s3, 0x8(sp)
c: 02151693 slli a3, a0, 0x21
10: 80000737 lui a4, 0x80000
14: 80800637 lui a2, 0x80800
18: 9285 srli a3, a3, 0x21
1a: 00c687bb addw a5, a3, a2
1e: 00160493 addi s1, a2, 0x1
22: 40e5f733 andn a4, a1, a4
26: 0097e063 bltu a5, s1, 0x26 <__addsf3+0x26>
2a: 00c707bb addw a5, a4, a2
2e: 00f67063 bgeu a2, a5, 0x2e <__addsf3+0x2e>
32: 00800837 lui a6, 0x800
36: 187d addi a6, a6, -0x1
38: 00e6e063 bltu a3, a4, 0x38 <__addsf3+0x38>
3c: 86ae mv a3, a1
3e: 82aa mv t0, a0
40: a001 j 0x40 <__addsf3+0x40>
42: 7f800637 lui a2, 0x7f800
46: 0605 addi a2, a2, 0x1
48: 00c6e063 bltu a3, a2, 0x48 <__addsf3+0x48>
4c: 29651413 bseti s0, a0, 0x16
50: a001 j 0x50 <__addsf3+0x50>
52: 86aa mv a3, a0
54: 82ae mv t0, a1
56: 02129713 slli a4, t0, 0x21
5a: 02169793 slli a5, a3, 0x21
5e: 0102f633 and a2, t0, a6
62: 0106f4b3 and s1, a3, a6
66: 03875693 srli a3, a4, 0x38
6a: 93e1 srli a5, a5, 0x38
6c: 6006171b clzw a4, a2
70: 00d03433 snez s0, a3
74: ff870313 addi t1, a4, -0x8
78: 48a5 li a7, 0x9
7a: 147d addi s0, s0, -0x1
7c: 00647433 and s0, s0, t1
80: e281 bnez a3, 0x80 <__addsf3+0x80>
82: 40e886b3 sub a3, a7, a4
86: 0086163b sllw a2, a2, s0
8a: 00f03433 snez s0, a5
8e: 6004971b clzw a4, s1
92: ff870313 addi t1, a4, -0x8
96: 147d addi s0, s0, -0x1
98: 00647433 and s0, s0, t1
9c: 008494bb sllw s1, s1, s0
a0: e381 bnez a5, 0xa0 <__addsf3+0xa0>
a2: 40e887b3 sub a5, a7, a4
a6: 800008b7 lui a7, 0x80000
aa: 8da9 xor a1, a1, a0
ac: 0036151b slliw a0, a2, 0x3
b0: 0034961b slliw a2, s1, 0x3
b4: 0005841b sext.w s0, a1
b8: 29a61593 bseti a1, a2, 0x1a
bc: 00f68063 beq a3, a5, 0xbc <__addsf3+0xbc>
c0: 40f6863b subw a2, a3, a5
c4: 477d li a4, 0x1f
c6: 00c76063 bltu a4, a2, 0xc6 <__addsf3+0xc6>
ca: 40c00733 neg a4, a2
ce: 00e5973b sllw a4, a1, a4
d2: 00e03733 snez a4, a4
d6: 00c5d5bb srlw a1, a1, a2
da: 8dd9 or a1, a1, a4
dc: a001 j 0xdc <__addsf3+0xdc>
de: 00c76063 bltu a4, a2, 0xde <__addsf3+0xde>
e2: 29659413 bseti s0, a1, 0x16
e6: a001 j 0xe6 <__addsf3+0xe6>
e8: 4585 li a1, 0x1
ea: 0112f9b3 and s3, t0, a7
ee: 29a51513 bseti a0, a0, 0x1a
f2: 00044063 bltz s0, 0xf2 <__addsf3+0xf2>
f6: 952e add a0, a0, a1
f8: 02451613 slli a2, a0, 0x24
fc: 00065063 bgez a2, 0xfc <__addsf3+0xfc>
100: 8985 andi a1, a1, 0x1
102: 0015551b srliw a0, a0, 0x1
106: 8d4d or a0, a0, a1
108: 0685 addi a3, a3, 0x1
10a: a001 j 0x10a <__addsf3+0x10a>
10c: 00b51063 bne a0, a1, 0x10c <__addsf3+0x10c>
110: 4401 li s0, 0x0
112: a001 j 0x112 <__addsf3+0x112>
114: 7f800637 lui a2, 0x7f800
118: 00c69063 bne a3, a2, 0x118 <__addsf3+0x118>
11c: 8da9 xor a1, a1, a0
11e: 2581 sext.w a1, a1
120: 80000637 lui a2, 0x80000
124: 00c59063 bne a1, a2, 0x124 <__addsf3+0x124>
128: 7fc00537 lui a0, 0x7fc00
12c: 842a mv s0, a0
12e: a001 j 0x12e <__addsf3+0x12e>
130: 8d0d sub a0, a0, a1
132: 01a5559b srliw a1, a0, 0x1a
136: e181 bnez a1, 0x136 <__addsf3+0x136>
138: 6005159b clzw a1, a0
13c: 15ed addi a1, a1, -0x5
13e: 00b5153b sllw a0, a0, a1
142: 8e8d sub a3, a3, a1
144: a001 j 0x144 <__addsf3+0x144>
146: 0006859b sext.w a1, a3
14a: 0ff00613 li a2, 0xff
14e: 00c5c063 blt a1, a2, 0x14e <__addsf3+0x14e>
152: 7f800537 lui a0, 0x7f800
156: 00a9e433 or s0, s3, a0
15a: a001 j 0x15a <__addsf3+0x15a>
15c: 0006859b sext.w a1, a3
160: 00b04063 bgtz a1, 0x160 <__addsf3+0x160>
164: 4585 li a1, 0x1
166: 8d95 sub a1, a1, a3
168: 16fd addi a3, a3, -0x1
16a: 00d5163b sllw a2, a0, a3
16e: 00c03633 snez a2, a2
172: 00b5553b srlw a0, a0, a1
176: 8d51 or a0, a0, a2
178: 4681 li a3, 0x0
17a: 00757913 andi s2, a0, 0x7
17e: 0035549b srliw s1, a0, 0x3
182: 0176951b slliw a0, a3, 0x17
186: 0104f5b3 and a1, s1, a6
18a: 01356433 or s0, a0, s3
18e: 8c4d or s0, s0, a1
190: 00000097 auipc ra, 0x0
194: 000080e7 jalr ra <__addsf3+0x190>
198: 4589 li a1, 0x2
19a: 00b50063 beq a0, a1, 0x19a <__addsf3+0x19a>
19e: 4585 li a1, 0x1
1a0: 00b50063 beq a0, a1, 0x1a0 <__addsf3+0x1a0>
1a4: e101 bnez a0, 0x1a4 <__addsf3+0x1a4>
1a6: 4511 li a0, 0x4
1a8: 00a91063 bne s2, a0, 0x1a8 <__addsf3+0x1a8>
1ac: 8885 andi s1, s1, 0x1
1ae: 9c25 addw s0, s0, s1
1b0: a001 j 0x1b0 <__addsf3+0x1b0>
1b2: 00c71063 bne a4, a2, 0x1b2 <__addsf3+0x1b2>
1b6: 842e mv s0, a1
1b8: a001 j 0x1b8 <__addsf3+0x1b8>
1ba: 2981 sext.w s3, s3
1bc: 01303533 snez a0, s3
1c0: a001 j 0x1c0 <__addsf3+0x1c0>
1c2: 2981 sext.w s3, s3
1c4: 0019b513 seqz a0, s3
1c8: 012035b3 snez a1, s2
1cc: 8d6d and a0, a0, a1
1ce: 9c29 addw s0, s0, a0
1d0: 00090063 beqz s2, 0x1d0 <__addsf3+0x1d0>
1d4: 00000097 auipc ra, 0x0
1d8: 000080e7 jalr ra <__addsf3+0x1d4>
1dc: 8522 mv a0, s0
1de: 70a2 ld ra, 0x28(sp)
1e0: 7402 ld s0, 0x20(sp)
1e2: 64e2 ld s1, 0x18(sp)
1e4: 6942 ld s2, 0x10(sp)
1e6: 69a2 ld s3, 0x8(sp)
1e8: 6145 addi sp, sp, 0x30
1ea: 8082 ret
1ec: c281 beqz a3, 0x1ec <__addsf3+0x1ec>
1ee: 842a mv s0, a0
1f0: 00071063 bnez a4, 0x1f0 <__addsf3+0x1f0>
1f4: a001 j 0x1f4 <__addsf3+0x1f4>
1f6: 00593513 sltiu a0, s2, 0x5
1fa: 00154513 xori a0, a0, 0x1
1fe: a001 j 0x1fe <__addsf3+0x1fe>
200: 842e mv s0, a1
202: e301 bnez a4, 0x202 <__addsf3+0x202>
204: 00a5f433 and s0, a1, a0
208: a001 j 0x208 <__addsf3+0x208>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment