1 .file "vacall-riscv32.c" 2 .option pic 3 .text 4 .align 1 5 .type callback_receiver, @function 6callback_receiver: 7 add sp,sp,-208 8 sw ra,188(sp) 9 sw s0,184(sp) 10 add s0,sp,192 11 sw a1,-144(s0) 12 add a1,s0,16 13 lw t3,0(t2) 14 sw a7,12(s0) 15 sw a2,-140(s0) 16 sw a3,-136(s0) 17 sw a4,-132(s0) 18 sw a5,-128(s0) 19 sw a6,-124(s0) 20 sw a7,-120(s0) 21 fsw fa0,-112(s0) 22 fsw fa1,-108(s0) 23 fsw fa2,-104(s0) 24 fsw fa3,-100(s0) 25 fsw fa4,-96(s0) 26 fsw fa5,-92(s0) 27 fsw fa6,-88(s0) 28 fsw fa7,-84(s0) 29 fsd fa0,-80(s0) 30 fsd fa1,-72(s0) 31 fsd fa2,-64(s0) 32 fsd fa3,-56(s0) 33 fsd fa4,-48(s0) 34 fsd fa5,-40(s0) 35 fsd fa6,-32(s0) 36 fsd fa7,-24(s0) 37 sw a1,-168(s0) 38 sw a0,-148(s0) 39 sw zero,-184(s0) 40 sw zero,-164(s0) 41 sw zero,-160(s0) 42 lw a0,4(t2) 43 sw zero,-152(s0) 44 sw zero,-116(s0) 45 add a1,s0,-184 46 jalr t3 47 lw t1,-160(s0) 48 beqz t1,.L1 49 li t3,1 50 beq t1,t3,.L22 51 li t3,2 52 beq t1,t3,.L25 53 li t3,3 54 beq t1,t3,.L22 55 li t3,4 56 beq t1,t3,.L26 57 li t3,5 58 beq t1,t3,.L27 59 li t3,6 60 beq t1,t3,.L23 61 li t3,7 62 beq t1,t3,.L23 63 li t3,8 64 beq t1,t3,.L23 65 li t3,9 66 beq t1,t3,.L23 67 add t3,t1,-10 68 li t4,1 69 bleu t3,t4,.L28 70 li t3,12 71 beq t1,t3,.L29 72 li t3,13 73 beq t1,t3,.L30 74 li t3,14 75 beq t1,t3,.L23 76 li t3,15 77 bne t1,t3,.L1 78 lw t1,-184(s0) 79 and t1,t1,2 80 beqz t1,.L1 81 lw t3,-156(s0) 82 li t1,7 83 add t5,t3,-1 84 bgtu t5,t1,.L1 85 lw t1,-164(s0) 86 lbu t5,0(t1) 87 mv a0,t5 88 beq t3,t4,.L1 89 lbu t4,1(t1) 90 li t6,2 91 sll t4,t4,8 92 or t5,t4,t5 93 mv a0,t5 94 beq t3,t6,.L1 95 lbu t4,2(t1) 96 li t6,3 97 sll t4,t4,16 98 or t4,t4,t5 99 mv a0,t4 100 beq t3,t6,.L1 101 lbu a0,3(t1) 102 li t5,4 103 sll a0,a0,24 104 or a0,a0,t4 105 beq t3,t5,.L1 106 lbu t5,4(t1) 107 li t4,5 108 mv a1,t5 109 beq t3,t4,.L1 110 lbu t4,5(t1) 111 li t6,6 112 sll t4,t4,8 113 or t5,t4,t5 114 mv a1,t5 115 beq t3,t6,.L1 116 lbu t4,6(t1) 117 li t6,8 118 sll t4,t4,16 119 or t4,t4,t5 120 mv a1,t4 121 bne t3,t6,.L1 122 lbu a1,7(t1) 123 sll a1,a1,24 124 or a1,a1,t4 125.L1: 126 lw ra,188(sp) 127 lw s0,184(sp) 128 add sp,sp,208 129 jr ra 130.L22: 131 lbu a0,-176(s0) 132 lw ra,188(sp) 133 lw s0,184(sp) 134 add sp,sp,208 135 jr ra 136.L23: 137 lw a0,-176(s0) 138 j .L1 139.L25: 140 lb a0,-176(s0) 141 lw ra,188(sp) 142 lw s0,184(sp) 143 add sp,sp,208 144 jr ra 145.L26: 146 lh a0,-176(s0) 147 j .L1 148.L27: 149 lhu a0,-176(s0) 150 j .L1 151.L28: 152 lw a0,-176(s0) 153 lw a1,-172(s0) 154 j .L1 155.L29: 156 flw fa0,-176(s0) 157 j .L1 158.L30: 159 fld fa0,-176(s0) 160 j .L1 161 .size callback_receiver, .-callback_receiver 162 .align 1 163 .globl callback_get_receiver 164 .type callback_get_receiver, @function 165callback_get_receiver: 166 add sp,sp,-16 167 sw s0,12(sp) 168 add s0,sp,16 169 lw s0,12(sp) 170 lla a0,callback_receiver 171 add sp,sp,16 172 jr ra 173 .size callback_get_receiver, .-callback_get_receiver 174 .ident "GCC: (GNU) 7.3.0" 175