summaryrefslogtreecommitdiff
path: root/cfb/stipsprc32.s
diff options
context:
space:
mode:
Diffstat (limited to 'cfb/stipsprc32.s')
-rw-r--r--cfb/stipsprc32.s11
1 files changed, 10 insertions, 1 deletions
diff --git a/cfb/stipsprc32.s b/cfb/stipsprc32.s
index 5703c0f1b..59d953f3b 100644
--- a/cfb/stipsprc32.s
+++ b/cfb/stipsprc32.s
@@ -1,5 +1,6 @@
/*
* $Xorg: stipsprc32.s,v 1.4 2001/02/09 02:04:39 xorgcvs Exp $
+ * $XdotOrg: xc/programs/Xserver/cfb/stipsprc32.s,v 1.3 2004/04/26 02:39:58 alanc Exp $
*
Copyright 1990, 1998 The Open Group
@@ -98,9 +99,17 @@ in this Software without prior written authorization from The Open Group.
.globl _cfb32StippleStack
_cfb32StippleStack:
save %sp,-64,%sp
+#ifdef SHAREDCODE
+1:
+ call 2f
+ nop
+2:
+ mov %o7,sbase /* sbase = 1b(1:) */
+ add sbase, CaseBegin-1b, sbase
+#else /* !SHAREDCODE */
sethi %hi(CaseBegin),sbase /* load up switch table */
or sbase,%lo(CaseBegin),sbase
-
+#endif /* !SHAREDCODE */
mov 4,lshift /* compute offset within */
sub lshift, shift, lshift /* stipple of remaining bits */
#ifdef LITTLE_ENDIAN