Linux-libre 5.4.47-gnu
[librecmc/linux-libre.git] / arch / c6x / lib / strasgi_64plus.S
1 ;; SPDX-License-Identifier: GPL-2.0-or-later
2 ;;  Copyright 2010  Free Software Foundation, Inc.
3 ;;  Contributed by Bernd Schmidt <bernds@codesourcery.com>.
4 ;;
5
6 #include <linux/linkage.h>
7
8         .text
9
10 ENTRY(__c6xabi_strasgi_64plus)
11         shru    .s2x    a6, 2, b31
12 ||      mv      .s1     a4, a30
13 ||      mv      .d2     b4, b30
14
15         add     .s2     -4, b31, b31
16
17         sploopd         1
18 ||      mvc     .s2     b31, ilc
19         ldw     .d2t2   *b30++, b31
20         nop     4
21         mv      .s1x    b31,a31
22         spkernel        6, 0
23 ||      stw     .d1t1   a31, *a30++
24
25         ret     .s2     b3
26         nop 5
27 ENDPROC(__c6xabi_strasgi_64plus)