236 lines · plain
1 .text2 .abiversion 23 .globl __xray_FunctionEntry4 .p2align 45__xray_FunctionEntry:6 std 0, 16(1)7 stdu 1, -408(1)8# Spill r3-r10, f1-f13, and vsr34-vsr45, which are parameter registers.9# If this appears to be slow, the caller needs to pass in number of generic,10# floating point, and vector parameters, so that we only spill those live ones.11 std 3, 32(1)12 ld 3, 400(1) # FuncId13 std 4, 40(1)14 std 5, 48(1)15 std 6, 56(1)16 std 7, 64(1)17 std 8, 72(1)18 std 9, 80(1)19 std 10, 88(1)20 addi 4, 1, 9621 stxsdx 1, 0, 422 addi 4, 1, 10423 stxsdx 2, 0, 424 addi 4, 1, 11225 stxsdx 3, 0, 426 addi 4, 1, 12027 stxsdx 4, 0, 428 addi 4, 1, 12829 stxsdx 5, 0, 430 addi 4, 1, 13631 stxsdx 6, 0, 432 addi 4, 1, 14433 stxsdx 7, 0, 434 addi 4, 1, 15235 stxsdx 8, 0, 436 addi 4, 1, 16037 stxsdx 9, 0, 438 addi 4, 1, 16839 stxsdx 10, 0, 440 addi 4, 1, 17641 stxsdx 11, 0, 442 addi 4, 1, 18443 stxsdx 12, 0, 444 addi 4, 1, 19245 stxsdx 13, 0, 446 addi 4, 1, 20047 stxvd2x 34, 0, 448 addi 4, 1, 21649 stxvd2x 35, 0, 450 addi 4, 1, 23251 stxvd2x 36, 0, 452 addi 4, 1, 24853 stxvd2x 37, 0, 454 addi 4, 1, 26455 stxvd2x 38, 0, 456 addi 4, 1, 28057 stxvd2x 39, 0, 458 addi 4, 1, 29659 stxvd2x 40, 0, 460 addi 4, 1, 31261 stxvd2x 41, 0, 462 addi 4, 1, 32863 stxvd2x 42, 0, 464 addi 4, 1, 34465 stxvd2x 43, 0, 466 addi 4, 1, 36067 stxvd2x 44, 0, 468 addi 4, 1, 37669 stxvd2x 45, 0, 470 std 2, 392(1)71 mflr 072 std 0, 400(1)73 74 li 4, 075 bl _ZN6__xray23CallXRayPatchedFunctionEi13XRayEntryType76 nop77 78 addi 4, 1, 9679 lxsdx 1, 0, 480 addi 4, 1, 10481 lxsdx 2, 0, 482 addi 4, 1, 11283 lxsdx 3, 0, 484 addi 4, 1, 12085 lxsdx 4, 0, 486 addi 4, 1, 12887 lxsdx 5, 0, 488 addi 4, 1, 13689 lxsdx 6, 0, 490 addi 4, 1, 14491 lxsdx 7, 0, 492 addi 4, 1, 15293 lxsdx 8, 0, 494 addi 4, 1, 16095 lxsdx 9, 0, 496 addi 4, 1, 16897 lxsdx 10, 0, 498 addi 4, 1, 17699 lxsdx 11, 0, 4100 addi 4, 1, 184101 lxsdx 12, 0, 4102 addi 4, 1, 192103 lxsdx 13, 0, 4104 addi 4, 1, 200105 lxvd2x 34, 0, 4106 addi 4, 1, 216107 lxvd2x 35, 0, 4108 addi 4, 1, 232109 lxvd2x 36, 0, 4110 addi 4, 1, 248111 lxvd2x 37, 0, 4112 addi 4, 1, 264113 lxvd2x 38, 0, 4114 addi 4, 1, 280115 lxvd2x 39, 0, 4116 addi 4, 1, 296117 lxvd2x 40, 0, 4118 addi 4, 1, 312119 lxvd2x 41, 0, 4120 addi 4, 1, 328121 lxvd2x 42, 0, 4122 addi 4, 1, 344123 lxvd2x 43, 0, 4124 addi 4, 1, 360125 lxvd2x 44, 0, 4126 addi 4, 1, 376127 lxvd2x 45, 0, 4128 ld 0, 400(1)129 mtlr 0130 ld 2, 392(1)131 ld 3, 32(1)132 ld 4, 40(1)133 ld 5, 48(1)134 ld 6, 56(1)135 ld 7, 64(1)136 ld 8, 72(1)137 ld 9, 80(1)138 ld 10, 88(1)139 140 addi 1, 1, 408141 ld 0, 16(1)142 blr143 144 .globl __xray_FunctionExit145 .p2align 4146__xray_FunctionExit:147 std 0, 16(1)148 stdu 1, -256(1)149# Spill r3-r4, f1-f8, and vsr34-vsr41, which are return registers.150# If this appears to be slow, the caller needs to pass in number of generic,151# floating point, and vector parameters, so that we only spill those live ones.152 std 3, 32(1)153 ld 3, 248(1) # FuncId154 std 4, 40(1)155 addi 4, 1, 48156 stxsdx 1, 0, 4157 addi 4, 1, 56158 stxsdx 2, 0, 4159 addi 4, 1, 64160 stxsdx 3, 0, 4161 addi 4, 1, 72162 stxsdx 4, 0, 4163 addi 4, 1, 80164 stxsdx 5, 0, 4165 addi 4, 1, 88166 stxsdx 6, 0, 4167 addi 4, 1, 96168 stxsdx 7, 0, 4169 addi 4, 1, 104170 stxsdx 8, 0, 4171 addi 4, 1, 112172 stxvd2x 34, 0, 4173 addi 4, 1, 128174 stxvd2x 35, 0, 4175 addi 4, 1, 144176 stxvd2x 36, 0, 4177 addi 4, 1, 160178 stxvd2x 37, 0, 4179 addi 4, 1, 176180 stxvd2x 38, 0, 4181 addi 4, 1, 192182 stxvd2x 39, 0, 4183 addi 4, 1, 208184 stxvd2x 40, 0, 4185 addi 4, 1, 224186 stxvd2x 41, 0, 4187 std 2, 240(1)188 mflr 0189 std 0, 248(1)190 191 li 4, 1192 bl _ZN6__xray23CallXRayPatchedFunctionEi13XRayEntryType193 nop194 195 addi 4, 1, 48196 lxsdx 1, 0, 4197 addi 4, 1, 56198 lxsdx 2, 0, 4199 addi 4, 1, 64200 lxsdx 3, 0, 4201 addi 4, 1, 72202 lxsdx 4, 0, 4203 addi 4, 1, 80204 lxsdx 5, 0, 4205 addi 4, 1, 88206 lxsdx 6, 0, 4207 addi 4, 1, 96208 lxsdx 7, 0, 4209 addi 4, 1, 104210 lxsdx 8, 0, 4211 addi 4, 1, 112212 lxvd2x 34, 0, 4213 addi 4, 1, 128214 lxvd2x 35, 0, 4215 addi 4, 1, 144216 lxvd2x 36, 0, 4217 addi 4, 1, 160218 lxvd2x 37, 0, 4219 addi 4, 1, 176220 lxvd2x 38, 0, 4221 addi 4, 1, 192222 lxvd2x 39, 0, 4223 addi 4, 1, 208224 lxvd2x 40, 0, 4225 addi 4, 1, 224226 lxvd2x 41, 0, 4227 ld 0, 248(1)228 mtlr 0229 ld 2, 240(1)230 ld 3, 32(1)231 ld 4, 40(1)232 233 addi 1, 1, 256234 ld 0, 16(1)235 blr236