root/arch/sparc/kernel/getsetcc.S
/* SPDX-License-Identifier: GPL-2.0 */
        .globl          getcc
        .type           getcc,#function
getcc:
        ldx             [%o0 + PT_V9_TSTATE], %o1
        srlx            %o1, 32, %o1
        and             %o1, 0xf, %o1
        retl
         stx            %o1, [%o0 + PT_V9_G1]
        .size           getcc,.-getcc

        .globl          setcc
        .type           setcc,#function
setcc:
        ldx             [%o0 + PT_V9_TSTATE], %o1
        ldx             [%o0 + PT_V9_G1], %o2
        or              %g0, %ulo(TSTATE_ICC), %o3
        sllx            %o3, 32, %o3
        andn            %o1, %o3, %o1
        sllx            %o2, 32, %o2
        and             %o2, %o3, %o2
        or              %o1, %o2, %o1
        retl
         stx            %o1, [%o0 + PT_V9_TSTATE]
        .size           setcc,.-setcc