1// This file is generated from a similarly-named Perl script in the BoringSSL 2// source tree. Do not edit by hand. 3 4#if !defined(__has_feature) 5#define __has_feature(x) 0 6#endif 7#if __has_feature(memory_sanitizer) && !defined(OPENSSL_NO_ASM) 8#define OPENSSL_NO_ASM 9#endif 10 11#if !defined(OPENSSL_NO_ASM) 12#if defined(__aarch64__) 13#if defined(BORINGSSL_PREFIX) 14#include <boringssl_prefix_symbols_asm.h> 15#endif 16#include <openssl/arm_arch.h> 17 18.text 19 20// abi_test_trampoline loads callee-saved registers from |state|, calls |func| 21// with |argv|, then saves the callee-saved registers into |state|. It returns 22// the result of |func|. The |unwind| argument is unused. 23// uint64_t abi_test_trampoline(void (*func)(...), CallerState *state, 24// const uint64_t *argv, size_t argc, 25// uint64_t unwind); 26.type abi_test_trampoline, %function 27.globl abi_test_trampoline 28.hidden abi_test_trampoline 29.align 4 30abi_test_trampoline: 31.Labi_test_trampoline_begin: 32 AARCH64_SIGN_LINK_REGISTER 33 // Stack layout (low to high addresses) 34 // x29,x30 (16 bytes) 35 // d8-d15 (64 bytes) 36 // x19-x28 (80 bytes) 37 // x1 (8 bytes) 38 // padding (8 bytes) 39 stp x29, x30, [sp, #-176]! 40 mov x29, sp 41 42 // Saved callee-saved registers and |state|. 43 stp d8, d9, [sp, #16] 44 stp d10, d11, [sp, #32] 45 stp d12, d13, [sp, #48] 46 stp d14, d15, [sp, #64] 47 stp x19, x20, [sp, #80] 48 stp x21, x22, [sp, #96] 49 stp x23, x24, [sp, #112] 50 stp x25, x26, [sp, #128] 51 stp x27, x28, [sp, #144] 52 str x1, [sp, #160] 53 54 // Load registers from |state|, with the exception of x29. x29 is the 55 // frame pointer and also callee-saved, but AAPCS64 allows platforms to 56 // mandate that x29 always point to a frame. iOS64 does so, which means 57 // we cannot fill x29 with entropy without violating ABI rules 58 // ourselves. x29 is tested separately below. 59 ldp d8, d9, [x1], #16 60 ldp d10, d11, [x1], #16 61 ldp d12, d13, [x1], #16 62 ldp d14, d15, [x1], #16 63 ldp x19, x20, [x1], #16 64 ldp x21, x22, [x1], #16 65 ldp x23, x24, [x1], #16 66 ldp x25, x26, [x1], #16 67 ldp x27, x28, [x1], #16 68 69 // Move parameters into temporary registers. 70 mov x9, x0 71 mov x10, x2 72 mov x11, x3 73 74 // Load parameters into registers. 75 cbz x11, .Largs_done 76 ldr x0, [x10], #8 77 subs x11, x11, #1 78 b.eq .Largs_done 79 ldr x1, [x10], #8 80 subs x11, x11, #1 81 b.eq .Largs_done 82 ldr x2, [x10], #8 83 subs x11, x11, #1 84 b.eq .Largs_done 85 ldr x3, [x10], #8 86 subs x11, x11, #1 87 b.eq .Largs_done 88 ldr x4, [x10], #8 89 subs x11, x11, #1 90 b.eq .Largs_done 91 ldr x5, [x10], #8 92 subs x11, x11, #1 93 b.eq .Largs_done 94 ldr x6, [x10], #8 95 subs x11, x11, #1 96 b.eq .Largs_done 97 ldr x7, [x10], #8 98 99.Largs_done: 100 blr x9 101 102 // Reload |state| and store registers. 103 ldr x1, [sp, #160] 104 stp d8, d9, [x1], #16 105 stp d10, d11, [x1], #16 106 stp d12, d13, [x1], #16 107 stp d14, d15, [x1], #16 108 stp x19, x20, [x1], #16 109 stp x21, x22, [x1], #16 110 stp x23, x24, [x1], #16 111 stp x25, x26, [x1], #16 112 stp x27, x28, [x1], #16 113 114 // |func| is required to preserve x29, the frame pointer. We cannot load 115 // random values into x29 (see comment above), so compare it against the 116 // expected value and zero the field of |state| if corrupted. 117 mov x9, sp 118 cmp x29, x9 119 b.eq .Lx29_ok 120 str xzr, [x1] 121 122.Lx29_ok: 123 // Restore callee-saved registers. 124 ldp d8, d9, [sp, #16] 125 ldp d10, d11, [sp, #32] 126 ldp d12, d13, [sp, #48] 127 ldp d14, d15, [sp, #64] 128 ldp x19, x20, [sp, #80] 129 ldp x21, x22, [sp, #96] 130 ldp x23, x24, [sp, #112] 131 ldp x25, x26, [sp, #128] 132 ldp x27, x28, [sp, #144] 133 134 ldp x29, x30, [sp], #176 135 AARCH64_VALIDATE_LINK_REGISTER 136 ret 137.size abi_test_trampoline,.-abi_test_trampoline 138.type abi_test_clobber_x0, %function 139.globl abi_test_clobber_x0 140.hidden abi_test_clobber_x0 141.align 4 142abi_test_clobber_x0: 143 AARCH64_VALID_CALL_TARGET 144 mov x0, xzr 145 ret 146.size abi_test_clobber_x0,.-abi_test_clobber_x0 147.type abi_test_clobber_x1, %function 148.globl abi_test_clobber_x1 149.hidden abi_test_clobber_x1 150.align 4 151abi_test_clobber_x1: 152 AARCH64_VALID_CALL_TARGET 153 mov x1, xzr 154 ret 155.size abi_test_clobber_x1,.-abi_test_clobber_x1 156.type abi_test_clobber_x2, %function 157.globl abi_test_clobber_x2 158.hidden abi_test_clobber_x2 159.align 4 160abi_test_clobber_x2: 161 AARCH64_VALID_CALL_TARGET 162 mov x2, xzr 163 ret 164.size abi_test_clobber_x2,.-abi_test_clobber_x2 165.type abi_test_clobber_x3, %function 166.globl abi_test_clobber_x3 167.hidden abi_test_clobber_x3 168.align 4 169abi_test_clobber_x3: 170 AARCH64_VALID_CALL_TARGET 171 mov x3, xzr 172 ret 173.size abi_test_clobber_x3,.-abi_test_clobber_x3 174.type abi_test_clobber_x4, %function 175.globl abi_test_clobber_x4 176.hidden abi_test_clobber_x4 177.align 4 178abi_test_clobber_x4: 179 AARCH64_VALID_CALL_TARGET 180 mov x4, xzr 181 ret 182.size abi_test_clobber_x4,.-abi_test_clobber_x4 183.type abi_test_clobber_x5, %function 184.globl abi_test_clobber_x5 185.hidden abi_test_clobber_x5 186.align 4 187abi_test_clobber_x5: 188 AARCH64_VALID_CALL_TARGET 189 mov x5, xzr 190 ret 191.size abi_test_clobber_x5,.-abi_test_clobber_x5 192.type abi_test_clobber_x6, %function 193.globl abi_test_clobber_x6 194.hidden abi_test_clobber_x6 195.align 4 196abi_test_clobber_x6: 197 AARCH64_VALID_CALL_TARGET 198 mov x6, xzr 199 ret 200.size abi_test_clobber_x6,.-abi_test_clobber_x6 201.type abi_test_clobber_x7, %function 202.globl abi_test_clobber_x7 203.hidden abi_test_clobber_x7 204.align 4 205abi_test_clobber_x7: 206 AARCH64_VALID_CALL_TARGET 207 mov x7, xzr 208 ret 209.size abi_test_clobber_x7,.-abi_test_clobber_x7 210.type abi_test_clobber_x8, %function 211.globl abi_test_clobber_x8 212.hidden abi_test_clobber_x8 213.align 4 214abi_test_clobber_x8: 215 AARCH64_VALID_CALL_TARGET 216 mov x8, xzr 217 ret 218.size abi_test_clobber_x8,.-abi_test_clobber_x8 219.type abi_test_clobber_x9, %function 220.globl abi_test_clobber_x9 221.hidden abi_test_clobber_x9 222.align 4 223abi_test_clobber_x9: 224 AARCH64_VALID_CALL_TARGET 225 mov x9, xzr 226 ret 227.size abi_test_clobber_x9,.-abi_test_clobber_x9 228.type abi_test_clobber_x10, %function 229.globl abi_test_clobber_x10 230.hidden abi_test_clobber_x10 231.align 4 232abi_test_clobber_x10: 233 AARCH64_VALID_CALL_TARGET 234 mov x10, xzr 235 ret 236.size abi_test_clobber_x10,.-abi_test_clobber_x10 237.type abi_test_clobber_x11, %function 238.globl abi_test_clobber_x11 239.hidden abi_test_clobber_x11 240.align 4 241abi_test_clobber_x11: 242 AARCH64_VALID_CALL_TARGET 243 mov x11, xzr 244 ret 245.size abi_test_clobber_x11,.-abi_test_clobber_x11 246.type abi_test_clobber_x12, %function 247.globl abi_test_clobber_x12 248.hidden abi_test_clobber_x12 249.align 4 250abi_test_clobber_x12: 251 AARCH64_VALID_CALL_TARGET 252 mov x12, xzr 253 ret 254.size abi_test_clobber_x12,.-abi_test_clobber_x12 255.type abi_test_clobber_x13, %function 256.globl abi_test_clobber_x13 257.hidden abi_test_clobber_x13 258.align 4 259abi_test_clobber_x13: 260 AARCH64_VALID_CALL_TARGET 261 mov x13, xzr 262 ret 263.size abi_test_clobber_x13,.-abi_test_clobber_x13 264.type abi_test_clobber_x14, %function 265.globl abi_test_clobber_x14 266.hidden abi_test_clobber_x14 267.align 4 268abi_test_clobber_x14: 269 AARCH64_VALID_CALL_TARGET 270 mov x14, xzr 271 ret 272.size abi_test_clobber_x14,.-abi_test_clobber_x14 273.type abi_test_clobber_x15, %function 274.globl abi_test_clobber_x15 275.hidden abi_test_clobber_x15 276.align 4 277abi_test_clobber_x15: 278 AARCH64_VALID_CALL_TARGET 279 mov x15, xzr 280 ret 281.size abi_test_clobber_x15,.-abi_test_clobber_x15 282.type abi_test_clobber_x16, %function 283.globl abi_test_clobber_x16 284.hidden abi_test_clobber_x16 285.align 4 286abi_test_clobber_x16: 287 AARCH64_VALID_CALL_TARGET 288 mov x16, xzr 289 ret 290.size abi_test_clobber_x16,.-abi_test_clobber_x16 291.type abi_test_clobber_x17, %function 292.globl abi_test_clobber_x17 293.hidden abi_test_clobber_x17 294.align 4 295abi_test_clobber_x17: 296 AARCH64_VALID_CALL_TARGET 297 mov x17, xzr 298 ret 299.size abi_test_clobber_x17,.-abi_test_clobber_x17 300.type abi_test_clobber_x19, %function 301.globl abi_test_clobber_x19 302.hidden abi_test_clobber_x19 303.align 4 304abi_test_clobber_x19: 305 AARCH64_VALID_CALL_TARGET 306 mov x19, xzr 307 ret 308.size abi_test_clobber_x19,.-abi_test_clobber_x19 309.type abi_test_clobber_x20, %function 310.globl abi_test_clobber_x20 311.hidden abi_test_clobber_x20 312.align 4 313abi_test_clobber_x20: 314 AARCH64_VALID_CALL_TARGET 315 mov x20, xzr 316 ret 317.size abi_test_clobber_x20,.-abi_test_clobber_x20 318.type abi_test_clobber_x21, %function 319.globl abi_test_clobber_x21 320.hidden abi_test_clobber_x21 321.align 4 322abi_test_clobber_x21: 323 AARCH64_VALID_CALL_TARGET 324 mov x21, xzr 325 ret 326.size abi_test_clobber_x21,.-abi_test_clobber_x21 327.type abi_test_clobber_x22, %function 328.globl abi_test_clobber_x22 329.hidden abi_test_clobber_x22 330.align 4 331abi_test_clobber_x22: 332 AARCH64_VALID_CALL_TARGET 333 mov x22, xzr 334 ret 335.size abi_test_clobber_x22,.-abi_test_clobber_x22 336.type abi_test_clobber_x23, %function 337.globl abi_test_clobber_x23 338.hidden abi_test_clobber_x23 339.align 4 340abi_test_clobber_x23: 341 AARCH64_VALID_CALL_TARGET 342 mov x23, xzr 343 ret 344.size abi_test_clobber_x23,.-abi_test_clobber_x23 345.type abi_test_clobber_x24, %function 346.globl abi_test_clobber_x24 347.hidden abi_test_clobber_x24 348.align 4 349abi_test_clobber_x24: 350 AARCH64_VALID_CALL_TARGET 351 mov x24, xzr 352 ret 353.size abi_test_clobber_x24,.-abi_test_clobber_x24 354.type abi_test_clobber_x25, %function 355.globl abi_test_clobber_x25 356.hidden abi_test_clobber_x25 357.align 4 358abi_test_clobber_x25: 359 AARCH64_VALID_CALL_TARGET 360 mov x25, xzr 361 ret 362.size abi_test_clobber_x25,.-abi_test_clobber_x25 363.type abi_test_clobber_x26, %function 364.globl abi_test_clobber_x26 365.hidden abi_test_clobber_x26 366.align 4 367abi_test_clobber_x26: 368 AARCH64_VALID_CALL_TARGET 369 mov x26, xzr 370 ret 371.size abi_test_clobber_x26,.-abi_test_clobber_x26 372.type abi_test_clobber_x27, %function 373.globl abi_test_clobber_x27 374.hidden abi_test_clobber_x27 375.align 4 376abi_test_clobber_x27: 377 AARCH64_VALID_CALL_TARGET 378 mov x27, xzr 379 ret 380.size abi_test_clobber_x27,.-abi_test_clobber_x27 381.type abi_test_clobber_x28, %function 382.globl abi_test_clobber_x28 383.hidden abi_test_clobber_x28 384.align 4 385abi_test_clobber_x28: 386 AARCH64_VALID_CALL_TARGET 387 mov x28, xzr 388 ret 389.size abi_test_clobber_x28,.-abi_test_clobber_x28 390.type abi_test_clobber_x29, %function 391.globl abi_test_clobber_x29 392.hidden abi_test_clobber_x29 393.align 4 394abi_test_clobber_x29: 395 AARCH64_VALID_CALL_TARGET 396 mov x29, xzr 397 ret 398.size abi_test_clobber_x29,.-abi_test_clobber_x29 399.type abi_test_clobber_d0, %function 400.globl abi_test_clobber_d0 401.hidden abi_test_clobber_d0 402.align 4 403abi_test_clobber_d0: 404 AARCH64_VALID_CALL_TARGET 405 fmov d0, xzr 406 ret 407.size abi_test_clobber_d0,.-abi_test_clobber_d0 408.type abi_test_clobber_d1, %function 409.globl abi_test_clobber_d1 410.hidden abi_test_clobber_d1 411.align 4 412abi_test_clobber_d1: 413 AARCH64_VALID_CALL_TARGET 414 fmov d1, xzr 415 ret 416.size abi_test_clobber_d1,.-abi_test_clobber_d1 417.type abi_test_clobber_d2, %function 418.globl abi_test_clobber_d2 419.hidden abi_test_clobber_d2 420.align 4 421abi_test_clobber_d2: 422 AARCH64_VALID_CALL_TARGET 423 fmov d2, xzr 424 ret 425.size abi_test_clobber_d2,.-abi_test_clobber_d2 426.type abi_test_clobber_d3, %function 427.globl abi_test_clobber_d3 428.hidden abi_test_clobber_d3 429.align 4 430abi_test_clobber_d3: 431 AARCH64_VALID_CALL_TARGET 432 fmov d3, xzr 433 ret 434.size abi_test_clobber_d3,.-abi_test_clobber_d3 435.type abi_test_clobber_d4, %function 436.globl abi_test_clobber_d4 437.hidden abi_test_clobber_d4 438.align 4 439abi_test_clobber_d4: 440 AARCH64_VALID_CALL_TARGET 441 fmov d4, xzr 442 ret 443.size abi_test_clobber_d4,.-abi_test_clobber_d4 444.type abi_test_clobber_d5, %function 445.globl abi_test_clobber_d5 446.hidden abi_test_clobber_d5 447.align 4 448abi_test_clobber_d5: 449 AARCH64_VALID_CALL_TARGET 450 fmov d5, xzr 451 ret 452.size abi_test_clobber_d5,.-abi_test_clobber_d5 453.type abi_test_clobber_d6, %function 454.globl abi_test_clobber_d6 455.hidden abi_test_clobber_d6 456.align 4 457abi_test_clobber_d6: 458 AARCH64_VALID_CALL_TARGET 459 fmov d6, xzr 460 ret 461.size abi_test_clobber_d6,.-abi_test_clobber_d6 462.type abi_test_clobber_d7, %function 463.globl abi_test_clobber_d7 464.hidden abi_test_clobber_d7 465.align 4 466abi_test_clobber_d7: 467 AARCH64_VALID_CALL_TARGET 468 fmov d7, xzr 469 ret 470.size abi_test_clobber_d7,.-abi_test_clobber_d7 471.type abi_test_clobber_d8, %function 472.globl abi_test_clobber_d8 473.hidden abi_test_clobber_d8 474.align 4 475abi_test_clobber_d8: 476 AARCH64_VALID_CALL_TARGET 477 fmov d8, xzr 478 ret 479.size abi_test_clobber_d8,.-abi_test_clobber_d8 480.type abi_test_clobber_d9, %function 481.globl abi_test_clobber_d9 482.hidden abi_test_clobber_d9 483.align 4 484abi_test_clobber_d9: 485 AARCH64_VALID_CALL_TARGET 486 fmov d9, xzr 487 ret 488.size abi_test_clobber_d9,.-abi_test_clobber_d9 489.type abi_test_clobber_d10, %function 490.globl abi_test_clobber_d10 491.hidden abi_test_clobber_d10 492.align 4 493abi_test_clobber_d10: 494 AARCH64_VALID_CALL_TARGET 495 fmov d10, xzr 496 ret 497.size abi_test_clobber_d10,.-abi_test_clobber_d10 498.type abi_test_clobber_d11, %function 499.globl abi_test_clobber_d11 500.hidden abi_test_clobber_d11 501.align 4 502abi_test_clobber_d11: 503 AARCH64_VALID_CALL_TARGET 504 fmov d11, xzr 505 ret 506.size abi_test_clobber_d11,.-abi_test_clobber_d11 507.type abi_test_clobber_d12, %function 508.globl abi_test_clobber_d12 509.hidden abi_test_clobber_d12 510.align 4 511abi_test_clobber_d12: 512 AARCH64_VALID_CALL_TARGET 513 fmov d12, xzr 514 ret 515.size abi_test_clobber_d12,.-abi_test_clobber_d12 516.type abi_test_clobber_d13, %function 517.globl abi_test_clobber_d13 518.hidden abi_test_clobber_d13 519.align 4 520abi_test_clobber_d13: 521 AARCH64_VALID_CALL_TARGET 522 fmov d13, xzr 523 ret 524.size abi_test_clobber_d13,.-abi_test_clobber_d13 525.type abi_test_clobber_d14, %function 526.globl abi_test_clobber_d14 527.hidden abi_test_clobber_d14 528.align 4 529abi_test_clobber_d14: 530 AARCH64_VALID_CALL_TARGET 531 fmov d14, xzr 532 ret 533.size abi_test_clobber_d14,.-abi_test_clobber_d14 534.type abi_test_clobber_d15, %function 535.globl abi_test_clobber_d15 536.hidden abi_test_clobber_d15 537.align 4 538abi_test_clobber_d15: 539 AARCH64_VALID_CALL_TARGET 540 fmov d15, xzr 541 ret 542.size abi_test_clobber_d15,.-abi_test_clobber_d15 543.type abi_test_clobber_d16, %function 544.globl abi_test_clobber_d16 545.hidden abi_test_clobber_d16 546.align 4 547abi_test_clobber_d16: 548 AARCH64_VALID_CALL_TARGET 549 fmov d16, xzr 550 ret 551.size abi_test_clobber_d16,.-abi_test_clobber_d16 552.type abi_test_clobber_d17, %function 553.globl abi_test_clobber_d17 554.hidden abi_test_clobber_d17 555.align 4 556abi_test_clobber_d17: 557 AARCH64_VALID_CALL_TARGET 558 fmov d17, xzr 559 ret 560.size abi_test_clobber_d17,.-abi_test_clobber_d17 561.type abi_test_clobber_d18, %function 562.globl abi_test_clobber_d18 563.hidden abi_test_clobber_d18 564.align 4 565abi_test_clobber_d18: 566 AARCH64_VALID_CALL_TARGET 567 fmov d18, xzr 568 ret 569.size abi_test_clobber_d18,.-abi_test_clobber_d18 570.type abi_test_clobber_d19, %function 571.globl abi_test_clobber_d19 572.hidden abi_test_clobber_d19 573.align 4 574abi_test_clobber_d19: 575 AARCH64_VALID_CALL_TARGET 576 fmov d19, xzr 577 ret 578.size abi_test_clobber_d19,.-abi_test_clobber_d19 579.type abi_test_clobber_d20, %function 580.globl abi_test_clobber_d20 581.hidden abi_test_clobber_d20 582.align 4 583abi_test_clobber_d20: 584 AARCH64_VALID_CALL_TARGET 585 fmov d20, xzr 586 ret 587.size abi_test_clobber_d20,.-abi_test_clobber_d20 588.type abi_test_clobber_d21, %function 589.globl abi_test_clobber_d21 590.hidden abi_test_clobber_d21 591.align 4 592abi_test_clobber_d21: 593 AARCH64_VALID_CALL_TARGET 594 fmov d21, xzr 595 ret 596.size abi_test_clobber_d21,.-abi_test_clobber_d21 597.type abi_test_clobber_d22, %function 598.globl abi_test_clobber_d22 599.hidden abi_test_clobber_d22 600.align 4 601abi_test_clobber_d22: 602 AARCH64_VALID_CALL_TARGET 603 fmov d22, xzr 604 ret 605.size abi_test_clobber_d22,.-abi_test_clobber_d22 606.type abi_test_clobber_d23, %function 607.globl abi_test_clobber_d23 608.hidden abi_test_clobber_d23 609.align 4 610abi_test_clobber_d23: 611 AARCH64_VALID_CALL_TARGET 612 fmov d23, xzr 613 ret 614.size abi_test_clobber_d23,.-abi_test_clobber_d23 615.type abi_test_clobber_d24, %function 616.globl abi_test_clobber_d24 617.hidden abi_test_clobber_d24 618.align 4 619abi_test_clobber_d24: 620 AARCH64_VALID_CALL_TARGET 621 fmov d24, xzr 622 ret 623.size abi_test_clobber_d24,.-abi_test_clobber_d24 624.type abi_test_clobber_d25, %function 625.globl abi_test_clobber_d25 626.hidden abi_test_clobber_d25 627.align 4 628abi_test_clobber_d25: 629 AARCH64_VALID_CALL_TARGET 630 fmov d25, xzr 631 ret 632.size abi_test_clobber_d25,.-abi_test_clobber_d25 633.type abi_test_clobber_d26, %function 634.globl abi_test_clobber_d26 635.hidden abi_test_clobber_d26 636.align 4 637abi_test_clobber_d26: 638 AARCH64_VALID_CALL_TARGET 639 fmov d26, xzr 640 ret 641.size abi_test_clobber_d26,.-abi_test_clobber_d26 642.type abi_test_clobber_d27, %function 643.globl abi_test_clobber_d27 644.hidden abi_test_clobber_d27 645.align 4 646abi_test_clobber_d27: 647 AARCH64_VALID_CALL_TARGET 648 fmov d27, xzr 649 ret 650.size abi_test_clobber_d27,.-abi_test_clobber_d27 651.type abi_test_clobber_d28, %function 652.globl abi_test_clobber_d28 653.hidden abi_test_clobber_d28 654.align 4 655abi_test_clobber_d28: 656 AARCH64_VALID_CALL_TARGET 657 fmov d28, xzr 658 ret 659.size abi_test_clobber_d28,.-abi_test_clobber_d28 660.type abi_test_clobber_d29, %function 661.globl abi_test_clobber_d29 662.hidden abi_test_clobber_d29 663.align 4 664abi_test_clobber_d29: 665 AARCH64_VALID_CALL_TARGET 666 fmov d29, xzr 667 ret 668.size abi_test_clobber_d29,.-abi_test_clobber_d29 669.type abi_test_clobber_d30, %function 670.globl abi_test_clobber_d30 671.hidden abi_test_clobber_d30 672.align 4 673abi_test_clobber_d30: 674 AARCH64_VALID_CALL_TARGET 675 fmov d30, xzr 676 ret 677.size abi_test_clobber_d30,.-abi_test_clobber_d30 678.type abi_test_clobber_d31, %function 679.globl abi_test_clobber_d31 680.hidden abi_test_clobber_d31 681.align 4 682abi_test_clobber_d31: 683 AARCH64_VALID_CALL_TARGET 684 fmov d31, xzr 685 ret 686.size abi_test_clobber_d31,.-abi_test_clobber_d31 687.type abi_test_clobber_v8_upper, %function 688.globl abi_test_clobber_v8_upper 689.hidden abi_test_clobber_v8_upper 690.align 4 691abi_test_clobber_v8_upper: 692 AARCH64_VALID_CALL_TARGET 693 fmov v8.d[1], xzr 694 ret 695.size abi_test_clobber_v8_upper,.-abi_test_clobber_v8_upper 696.type abi_test_clobber_v9_upper, %function 697.globl abi_test_clobber_v9_upper 698.hidden abi_test_clobber_v9_upper 699.align 4 700abi_test_clobber_v9_upper: 701 AARCH64_VALID_CALL_TARGET 702 fmov v9.d[1], xzr 703 ret 704.size abi_test_clobber_v9_upper,.-abi_test_clobber_v9_upper 705.type abi_test_clobber_v10_upper, %function 706.globl abi_test_clobber_v10_upper 707.hidden abi_test_clobber_v10_upper 708.align 4 709abi_test_clobber_v10_upper: 710 AARCH64_VALID_CALL_TARGET 711 fmov v10.d[1], xzr 712 ret 713.size abi_test_clobber_v10_upper,.-abi_test_clobber_v10_upper 714.type abi_test_clobber_v11_upper, %function 715.globl abi_test_clobber_v11_upper 716.hidden abi_test_clobber_v11_upper 717.align 4 718abi_test_clobber_v11_upper: 719 AARCH64_VALID_CALL_TARGET 720 fmov v11.d[1], xzr 721 ret 722.size abi_test_clobber_v11_upper,.-abi_test_clobber_v11_upper 723.type abi_test_clobber_v12_upper, %function 724.globl abi_test_clobber_v12_upper 725.hidden abi_test_clobber_v12_upper 726.align 4 727abi_test_clobber_v12_upper: 728 AARCH64_VALID_CALL_TARGET 729 fmov v12.d[1], xzr 730 ret 731.size abi_test_clobber_v12_upper,.-abi_test_clobber_v12_upper 732.type abi_test_clobber_v13_upper, %function 733.globl abi_test_clobber_v13_upper 734.hidden abi_test_clobber_v13_upper 735.align 4 736abi_test_clobber_v13_upper: 737 AARCH64_VALID_CALL_TARGET 738 fmov v13.d[1], xzr 739 ret 740.size abi_test_clobber_v13_upper,.-abi_test_clobber_v13_upper 741.type abi_test_clobber_v14_upper, %function 742.globl abi_test_clobber_v14_upper 743.hidden abi_test_clobber_v14_upper 744.align 4 745abi_test_clobber_v14_upper: 746 AARCH64_VALID_CALL_TARGET 747 fmov v14.d[1], xzr 748 ret 749.size abi_test_clobber_v14_upper,.-abi_test_clobber_v14_upper 750.type abi_test_clobber_v15_upper, %function 751.globl abi_test_clobber_v15_upper 752.hidden abi_test_clobber_v15_upper 753.align 4 754abi_test_clobber_v15_upper: 755 AARCH64_VALID_CALL_TARGET 756 fmov v15.d[1], xzr 757 ret 758.size abi_test_clobber_v15_upper,.-abi_test_clobber_v15_upper 759#endif 760#endif // !OPENSSL_NO_ASM 761.section .note.GNU-stack,"",%progbits 762