| /* SPDX-License-Identifier: GPL-2.0+ */ | |
| /* | |
| * Copyright (C) 1995, 1997, 2007-2013 Free Software Foundation, Inc. | |
| */ | |
| /* ANSI concatenation macros. */ | |
| #define CONCAT1(a, b) CONCAT2(a, b) | |
| #define CONCAT2(a, b) a ## b | |
| /* Use the right prefix for global labels. */ | |
| #define SYM(x) CONCAT1 (__USER_LABEL_PREFIX__, x) | |
| #ifndef WORKING_ASSEMBLER | |
| #define abs_l abs | |
| #define asl_l asl | |
| #define mov_l mov | |
| #endif | |
| #define FUNC(X) .type SYM(X),@function | |
| #define HIDDEN_FUNC(X) FUNC(X)` .hidden X | |
| #define ENDFUNC0(X) .Lfe_##X: .size X,.Lfe_##X-X | |
| #define ENDFUNC(X) ENDFUNC0(X) | |
| .section .text | |
| .align 4 | |
| .global SYM(__st_r13_to_r15) | |
| .global SYM(__st_r13_to_r16) | |
| .global SYM(__st_r13_to_r17) | |
| .global SYM(__st_r13_to_r18) | |
| .global SYM(__st_r13_to_r19) | |
| .global SYM(__st_r13_to_r20) | |
| .global SYM(__st_r13_to_r21) | |
| .global SYM(__st_r13_to_r22) | |
| .global SYM(__st_r13_to_r23) | |
| .global SYM(__st_r13_to_r24) | |
| .global SYM(__st_r13_to_r25) | |
| HIDDEN_FUNC(__st_r13_to_r15) | |
| HIDDEN_FUNC(__st_r13_to_r16) | |
| HIDDEN_FUNC(__st_r13_to_r17) | |
| HIDDEN_FUNC(__st_r13_to_r18) | |
| HIDDEN_FUNC(__st_r13_to_r19) | |
| HIDDEN_FUNC(__st_r13_to_r20) | |
| HIDDEN_FUNC(__st_r13_to_r21) | |
| HIDDEN_FUNC(__st_r13_to_r22) | |
| HIDDEN_FUNC(__st_r13_to_r23) | |
| HIDDEN_FUNC(__st_r13_to_r24) | |
| HIDDEN_FUNC(__st_r13_to_r25) | |
| .align 4 | |
| SYM(__st_r13_to_r25): | |
| st r25, [sp,48] | |
| SYM(__st_r13_to_r24): | |
| st r24, [sp,44] | |
| SYM(__st_r13_to_r23): | |
| st r23, [sp,40] | |
| SYM(__st_r13_to_r22): | |
| st r22, [sp,36] | |
| SYM(__st_r13_to_r21): | |
| st r21, [sp,32] | |
| SYM(__st_r13_to_r20): | |
| st r20, [sp,28] | |
| SYM(__st_r13_to_r19): | |
| st r19, [sp,24] | |
| SYM(__st_r13_to_r18): | |
| st r18, [sp,20] | |
| SYM(__st_r13_to_r17): | |
| st r17, [sp,16] | |
| SYM(__st_r13_to_r16): | |
| st r16, [sp,12] | |
| SYM(__st_r13_to_r15): | |
| #ifdef __ARC700__ | |
| st r15, [sp,8] ; minimum function size to avoid stall: 6 bytes. | |
| #else | |
| st_s r15, [sp,8] | |
| #endif | |
| st_s r14, [sp,4] | |
| j_s.d [%blink] | |
| st_s r13, [sp,0] | |
| ENDFUNC(__st_r13_to_r15) | |
| ENDFUNC(__st_r13_to_r16) | |
| ENDFUNC(__st_r13_to_r17) | |
| ENDFUNC(__st_r13_to_r18) | |
| ENDFUNC(__st_r13_to_r19) | |
| ENDFUNC(__st_r13_to_r20) | |
| ENDFUNC(__st_r13_to_r21) | |
| ENDFUNC(__st_r13_to_r22) | |
| ENDFUNC(__st_r13_to_r23) | |
| ENDFUNC(__st_r13_to_r24) | |
| ENDFUNC(__st_r13_to_r25) | |
| .section .text | |
| .align 4 | |
| ; ================================== | |
| ; the loads | |
| .global SYM(__ld_r13_to_r15) | |
| .global SYM(__ld_r13_to_r16) | |
| .global SYM(__ld_r13_to_r17) | |
| .global SYM(__ld_r13_to_r18) | |
| .global SYM(__ld_r13_to_r19) | |
| .global SYM(__ld_r13_to_r20) | |
| .global SYM(__ld_r13_to_r21) | |
| .global SYM(__ld_r13_to_r22) | |
| .global SYM(__ld_r13_to_r23) | |
| .global SYM(__ld_r13_to_r24) | |
| .global SYM(__ld_r13_to_r25) | |
| HIDDEN_FUNC(__ld_r13_to_r15) | |
| HIDDEN_FUNC(__ld_r13_to_r16) | |
| HIDDEN_FUNC(__ld_r13_to_r17) | |
| HIDDEN_FUNC(__ld_r13_to_r18) | |
| HIDDEN_FUNC(__ld_r13_to_r19) | |
| HIDDEN_FUNC(__ld_r13_to_r20) | |
| HIDDEN_FUNC(__ld_r13_to_r21) | |
| HIDDEN_FUNC(__ld_r13_to_r22) | |
| HIDDEN_FUNC(__ld_r13_to_r23) | |
| HIDDEN_FUNC(__ld_r13_to_r24) | |
| HIDDEN_FUNC(__ld_r13_to_r25) | |
| SYM(__ld_r13_to_r25): | |
| ld r25, [sp,48] | |
| SYM(__ld_r13_to_r24): | |
| ld r24, [sp,44] | |
| SYM(__ld_r13_to_r23): | |
| ld r23, [sp,40] | |
| SYM(__ld_r13_to_r22): | |
| ld r22, [sp,36] | |
| SYM(__ld_r13_to_r21): | |
| ld r21, [sp,32] | |
| SYM(__ld_r13_to_r20): | |
| ld r20, [sp,28] | |
| SYM(__ld_r13_to_r19): | |
| ld r19, [sp,24] | |
| SYM(__ld_r13_to_r18): | |
| ld r18, [sp,20] | |
| SYM(__ld_r13_to_r17): | |
| ld r17, [sp,16] | |
| SYM(__ld_r13_to_r16): | |
| ld r16, [sp,12] | |
| SYM(__ld_r13_to_r15): | |
| #ifdef __ARC700__ | |
| ld r15, [sp,8] ; minimum function size to avoid stall: 6 bytes. | |
| #else | |
| ld_s r15, [sp,8] | |
| #endif | |
| ld_s r14, [sp,4] | |
| j_s.d [%blink] | |
| ld_s r13, [sp,0] | |
| ENDFUNC(__ld_r13_to_r15) | |
| ENDFUNC(__ld_r13_to_r16) | |
| ENDFUNC(__ld_r13_to_r17) | |
| ENDFUNC(__ld_r13_to_r18) | |
| ENDFUNC(__ld_r13_to_r19) | |
| ENDFUNC(__ld_r13_to_r20) | |
| ENDFUNC(__ld_r13_to_r21) | |
| ENDFUNC(__ld_r13_to_r22) | |
| ENDFUNC(__ld_r13_to_r23) | |
| ENDFUNC(__ld_r13_to_r24) | |
| ENDFUNC(__ld_r13_to_r25) | |
| .global SYM(__ld_r13_to_r14_ret) | |
| .global SYM(__ld_r13_to_r15_ret) | |
| .global SYM(__ld_r13_to_r16_ret) | |
| .global SYM(__ld_r13_to_r17_ret) | |
| .global SYM(__ld_r13_to_r18_ret) | |
| .global SYM(__ld_r13_to_r19_ret) | |
| .global SYM(__ld_r13_to_r20_ret) | |
| .global SYM(__ld_r13_to_r21_ret) | |
| .global SYM(__ld_r13_to_r22_ret) | |
| .global SYM(__ld_r13_to_r23_ret) | |
| .global SYM(__ld_r13_to_r24_ret) | |
| .global SYM(__ld_r13_to_r25_ret) | |
| HIDDEN_FUNC(__ld_r13_to_r14_ret) | |
| HIDDEN_FUNC(__ld_r13_to_r15_ret) | |
| HIDDEN_FUNC(__ld_r13_to_r16_ret) | |
| HIDDEN_FUNC(__ld_r13_to_r17_ret) | |
| HIDDEN_FUNC(__ld_r13_to_r18_ret) | |
| HIDDEN_FUNC(__ld_r13_to_r19_ret) | |
| HIDDEN_FUNC(__ld_r13_to_r20_ret) | |
| HIDDEN_FUNC(__ld_r13_to_r21_ret) | |
| HIDDEN_FUNC(__ld_r13_to_r22_ret) | |
| HIDDEN_FUNC(__ld_r13_to_r23_ret) | |
| HIDDEN_FUNC(__ld_r13_to_r24_ret) | |
| HIDDEN_FUNC(__ld_r13_to_r25_ret) | |
| .section .text | |
| .align 4 | |
| SYM(__ld_r13_to_r25_ret): | |
| ld r25, [sp,48] | |
| SYM(__ld_r13_to_r24_ret): | |
| ld r24, [sp,44] | |
| SYM(__ld_r13_to_r23_ret): | |
| ld r23, [sp,40] | |
| SYM(__ld_r13_to_r22_ret): | |
| ld r22, [sp,36] | |
| SYM(__ld_r13_to_r21_ret): | |
| ld r21, [sp,32] | |
| SYM(__ld_r13_to_r20_ret): | |
| ld r20, [sp,28] | |
| SYM(__ld_r13_to_r19_ret): | |
| ld r19, [sp,24] | |
| SYM(__ld_r13_to_r18_ret): | |
| ld r18, [sp,20] | |
| SYM(__ld_r13_to_r17_ret): | |
| ld r17, [sp,16] | |
| SYM(__ld_r13_to_r16_ret): | |
| ld r16, [sp,12] | |
| SYM(__ld_r13_to_r15_ret): | |
| ld r15, [sp,8] | |
| SYM(__ld_r13_to_r14_ret): | |
| ld blink,[sp,r12] | |
| ld_s r14, [sp,4] | |
| ld.ab r13, [sp,r12] | |
| j_s.d [%blink] | |
| add_s sp,sp,4 | |
| ENDFUNC(__ld_r13_to_r14_ret) | |
| ENDFUNC(__ld_r13_to_r15_ret) | |
| ENDFUNC(__ld_r13_to_r16_ret) | |
| ENDFUNC(__ld_r13_to_r17_ret) | |
| ENDFUNC(__ld_r13_to_r18_ret) | |
| ENDFUNC(__ld_r13_to_r19_ret) | |
| ENDFUNC(__ld_r13_to_r20_ret) | |
| ENDFUNC(__ld_r13_to_r21_ret) | |
| ENDFUNC(__ld_r13_to_r22_ret) | |
| ENDFUNC(__ld_r13_to_r23_ret) | |
| ENDFUNC(__ld_r13_to_r24_ret) | |
| ENDFUNC(__ld_r13_to_r25_ret) |