1 | /* SPDX-License-Identifier: GPL-2.0 */ |
2 | .globl getcc |
3 | .type getcc,#function |
4 | getcc: |
5 | ldx [%o0 + PT_V9_TSTATE], %o1 |
6 | srlx %o1, 32, %o1 |
7 | and %o1, 0xf, %o1 |
8 | retl |
9 | stx %o1, [%o0 + PT_V9_G1] |
10 | .size getcc,.-getcc |
11 | |
12 | .globl setcc |
13 | .type setcc,#function |
14 | setcc: |
15 | ldx [%o0 + PT_V9_TSTATE], %o1 |
16 | ldx [%o0 + PT_V9_G1], %o2 |
17 | or %g0, %ulo(TSTATE_ICC), %o3 |
18 | sllx %o3, 32, %o3 |
19 | andn %o1, %o3, %o1 |
20 | sllx %o2, 32, %o2 |
21 | and %o2, %o3, %o2 |
22 | or %o1, %o2, %o1 |
23 | retl |
24 | stx %o1, [%o0 + PT_V9_TSTATE] |
25 | .size setcc,.-setcc |
26 | |