David S. Miller | 6eda3a7 | 2008-04-28 00:47:20 -0700 | [diff] [blame] | 1 | .globl getcc |
| 2 | .type getcc,#function |
| 3 | getcc: |
| 4 | ldx [%o0 + PT_V9_TSTATE], %o1 |
| 5 | srlx %o1, 32, %o1 |
| 6 | and %o1, 0xf, %o1 |
| 7 | retl |
| 8 | stx %o1, [%o0 + PT_V9_G1] |
| 9 | .size getcc,.-getcc |
| 10 | |
| 11 | .globl setcc |
| 12 | .type setcc,#function |
| 13 | setcc: |
| 14 | ldx [%o0 + PT_V9_TSTATE], %o1 |
| 15 | ldx [%o0 + PT_V9_G1], %o2 |
| 16 | or %g0, %ulo(TSTATE_ICC), %o3 |
| 17 | sllx %o3, 32, %o3 |
| 18 | andn %o1, %o3, %o1 |
| 19 | sllx %o2, 32, %o2 |
| 20 | and %o2, %o3, %o2 |
| 21 | or %o1, %o2, %o1 |
| 22 | retl |
| 23 | stx %o1, [%o0 + PT_V9_TSTATE] |
| 24 | .size setcc,.-setcc |