diff options
Diffstat (limited to 'arch/sparc64/lib/VISsave.S')
| -rw-r--r-- | arch/sparc64/lib/VISsave.S | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/arch/sparc64/lib/VISsave.S b/arch/sparc64/lib/VISsave.S index 65e328d600a8..4e18989bd602 100644 --- a/arch/sparc64/lib/VISsave.S +++ b/arch/sparc64/lib/VISsave.S | |||
| @@ -72,7 +72,11 @@ vis1: ldub [%g6 + TI_FPSAVED], %g3 | |||
| 72 | 72 | ||
| 73 | stda %f48, [%g3 + %g1] ASI_BLK_P | 73 | stda %f48, [%g3 + %g1] ASI_BLK_P |
| 74 | 5: membar #Sync | 74 | 5: membar #Sync |
| 75 | jmpl %g7 + %g0, %g0 | 75 | ba,pt %xcc, 80f |
| 76 | nop | ||
| 77 | |||
| 78 | .align 32 | ||
| 79 | 80: jmpl %g7 + %g0, %g0 | ||
| 76 | nop | 80 | nop |
| 77 | 81 | ||
| 78 | 6: ldub [%g3 + TI_FPSAVED], %o5 | 82 | 6: ldub [%g3 + TI_FPSAVED], %o5 |
| @@ -87,8 +91,11 @@ vis1: ldub [%g6 + TI_FPSAVED], %g3 | |||
| 87 | stda %f32, [%g2 + %g1] ASI_BLK_P | 91 | stda %f32, [%g2 + %g1] ASI_BLK_P |
| 88 | stda %f48, [%g3 + %g1] ASI_BLK_P | 92 | stda %f48, [%g3 + %g1] ASI_BLK_P |
| 89 | membar #Sync | 93 | membar #Sync |
| 90 | jmpl %g7 + %g0, %g0 | 94 | ba,pt %xcc, 80f |
| 95 | nop | ||
| 91 | 96 | ||
| 97 | .align 32 | ||
| 98 | 80: jmpl %g7 + %g0, %g0 | ||
| 92 | nop | 99 | nop |
| 93 | 100 | ||
| 94 | .align 32 | 101 | .align 32 |
| @@ -126,6 +133,10 @@ VISenterhalf: | |||
| 126 | stda %f0, [%g2 + %g1] ASI_BLK_P | 133 | stda %f0, [%g2 + %g1] ASI_BLK_P |
| 127 | stda %f16, [%g3 + %g1] ASI_BLK_P | 134 | stda %f16, [%g3 + %g1] ASI_BLK_P |
| 128 | membar #Sync | 135 | membar #Sync |
| 136 | ba,pt %xcc, 4f | ||
| 137 | nop | ||
| 138 | |||
| 139 | .align 32 | ||
| 129 | 4: and %o5, FPRS_DU, %o5 | 140 | 4: and %o5, FPRS_DU, %o5 |
| 130 | jmpl %g7 + %g0, %g0 | 141 | jmpl %g7 + %g0, %g0 |
| 131 | wr %o5, FPRS_FEF, %fprs | 142 | wr %o5, FPRS_FEF, %fprs |
