components/zlib/capabilities/sun4v/sparcv9/longest_match_t4.s
author Petr Sumbera <petr.sumbera@oracle.com>
Wed, 23 Jan 2013 01:25:45 -0800
changeset 1129 4de26d59569c
parent 825 78809aba88fe
child 7889 a5ad77e24b54
permissions -rw-r--r--
15823235 SUNBT7205082 T4 version of zlib's longest_match uses wrong register in prefetch
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
825
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
     1
!
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
     2
! This file was generated by a compiler that is currently not part of the CBE
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
     3
! (as the CBE compiler does not generate code for the T4 architecture), and
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
     4
! then it was modified by hand to remove some unnecessary instructions that
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
     5
! the compiler generated and the main loop's branches was rearranged for
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
     6
! fewer taken branches on the most frequent code path. These modifications 
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
     7
! were made in 7 steps. In each step, a few lines were removed from and added
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
     8
! to the compiler generated code to produce an equivalent binary. The lines
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
     9
! that were removed in step <i> are marked by "!<i>" at the beginning of the
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
    10
! line, the lines added in this step are marked by the same added at the end of
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
    11
! the line. In other words, let C_i mean the code, after step <i> (C_0 is
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
    12
! the original, compiler generated code, C_7 is the code in this file)
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
    13
! To reproduce C_i (0 <= i < 7) first take C_<i+1>, remove the lines that
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
    14
! end in !<i+1>, and then remove the !<i+1> string from the beginning of those
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
    15
! lines that start with it. Comparing C_i and C_<i+1> is a simple task, as
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
    16
! only a few lines have changed.
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
    17
!  If a compiler (e.g. the Oracle Studio 12.3) becomes part of the CBE and
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
    18
! it will be able to generate as efficient code as in this file the 
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
    19
! longest_match.o file can simply be comp[iled from longest_match.c .
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
    20
!
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
    21
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
    22
	.section	".text",#alloc,#execinstr,#progbits
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
    23
	.file	"deflate-t4.c"
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
    24
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
    25
	.section	".bss",#alloc,#write,#nobits
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
    26
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
    27
Bbss.bss:
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
    28
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
    29
	.section	".data",#alloc,#write,#progbits
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
    30
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
    31
Ddata.data:
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
    32
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
    33
	.section	".rodata",#alloc,#progbits
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
    34
!
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
    35
! CONSTANT POOL
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
    36
!
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
    37
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
    38
Drodata.rodata:
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
    39
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
    40
	.section	".picdata",#alloc,#write
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
    41
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
    42
Dpicdata.picdata:
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
    43
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
    44
	.section	".tbss",#alloc,#write,#tls,#nobits
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
    45
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
    46
Ttbss.bss:
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
    47
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
    48
	.section	".tdata",#alloc,#write,#tls,#progbits
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
    49
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
    50
Ttdata.data:
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
    51
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
    52
	.section	".rodata1",#alloc,#progbits
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
    53
	.align	8
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
    54
!
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
    55
! CONSTANT POOL
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
    56
!
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
    57
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
    58
.L95:
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
    59
	.ascii	"invalid distance too far back\000"
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
    60
	.align	8
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
    61
!
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
    62
! CONSTANT POOL
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
    63
!
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
    64
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
    65
.L147:
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
    66
	.ascii	"invalid distance code\000"
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
    67
	.align	8
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
    68
!
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
    69
! CONSTANT POOL
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
    70
!
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
    71
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
    72
.L153:
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
    73
	.ascii	"invalid literal/length code\000"
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
    74
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
    75
	.section	".text",#alloc,#execinstr,#progbits
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
    76
/* 000000	   0 */		.align	4
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
    77
! FILE deflate-t4.c
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
    78
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
    79
!    1		      !#include <sun_prefetch.h>
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
    80
!    2		      !#include "deflate.h"
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
    81
!    3		      !#define NIL 0
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
    82
!    5		      !uInt longest_match(s, cur_match)
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
    83
!    6		      !    deflate_state *s;
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
    84
!    7		      !    IPos cur_match;                             /* current match */
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
    85
!    8		      !{
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
    86
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
    87
!
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
    88
! SUBROUTINE longest_match
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
    89
!
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
    90
! OFFSET    SOURCE LINE	LABEL	INSTRUCTION
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
    91
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
    92
                       	.global longest_match
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
    93
                       
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
    94
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
    95
			longest_match:
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
    96
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
    97
			.L900000112:
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
    98
	save      %sp, -0xb0, %sp
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
    99
	 ld        [%i0 + 0x4c], %l4	!7
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
   100
	 ldn       [%i0 + 0x60], %l5	!7
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
   101
	 and       %i1, %l4, %l2	!7
1129
4de26d59569c 15823235 SUNBT7205082 T4 version of zlib's longest_match uses wrong register in prefetch
Petr Sumbera <petr.sumbera@oracle.com>
parents: 825
diff changeset
   102
	 prefetch [%l5 + %l2], #n_reads	!7
825
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
   103
!7	ld        [%i0 + 0x9c], %l4
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
   104
	 ld        [%i0 + 0x9c], %l1	!7
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
   105
	ld        [%i0 + 0x44], %l6
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
   106
	clr       %g4
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
   107
	ldn       [%i0 + 0x50], %g1
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
   108
	ld        [%i0 + 0xa8], %i2
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
   109
	ld        [%i0 + 0xac], %g5
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
   110
	ld        [%i0 + 0xc0], %o0
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
   111
!5	srl       %l4, 0x0, %l5
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
   112
	ld        [%i0 + 0xbc], %l7
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
   113
	add       %l6, -0x106, %i3
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
   114
!5	add       %g1, %l5, %i4
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
   115
!7	 add       %g1, %l4, %i4	!5
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
   116
	 add       %g1, %l1, %i4	!7
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
   117
!7	cwbleu    %l4, %i3, lm_0x38
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
   118
	 cwbleu    %l1, %i3, lm_0x38	!7
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
   119
!7	sub       %l4, %i3, %g4
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
   120
	 sub       %l1, %i3, %g4	!7
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
   121
		
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
   122
lm_0x38:
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
   123
!7	ld        [%i0 + 0x4c], %l4
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
   124
!4	add       %i2, -0x1, %l3
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
   125
!7	ldn       [%i0 + 0x60], %l5
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
   126
!4	sra       %l3, 0x0, %o2
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
   127
	 add       %i2, -0x1, %o2	!4
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
   128
	ldub      [%i4 + %o2], %o2
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
   129
!3	sra       %i2, 0x0, %l6
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
   130
!3	ldub      [%i4 + %l6], %o1
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
   131
	 ldub      [%i4 + %i2], %o1	!3
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
   132
	cmp       %i2, %l7
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
   133
	add       %i4, 0x102, %l7
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
   134
	ld        [%i0 + 0xa4], %i3
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
   135
	bcs,pn    %icc, lm_0x6c
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
   136
	mov       0x102, %l3
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
   137
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
   138
	srl       %g5, 0x2, %g5
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
   139
		
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
   140
lm_0x6c:
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
   141
	cmp       %o0, %i3
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
   142
!6	srl       %i1, 0x0, %l0
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
   143
!7	 and       %i1, %l4, %l2	!6
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
   144
	movgu     %icc, %i3, %o0
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
   145
		
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
   146
lm_0x78:
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
   147
!6	and       %i1, %l4, %l2
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
   148
!6	add       %l0, %g1, %o3
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
   149
	 add       %i1, %g1, %o3	!6
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
   150
!3	ldub      [%o3 + %l6], %o5
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
   151
	 ldub      [%o3 + %i2], %o5		!3
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
   152
!1	srl       %l2, 0x0, %o4
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
   153
!1	sllx      %o4, 0x1, %l2
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
   154
	 sllx	  %l2, 0x1, %l2			!1
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
   155
	 add       %l2, %l5, %l1		!1
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
   156
	 prefetch  [%l1 - 0x40], #n_reads	!1
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
   157
	cwbe     %o5, %o1, lm_0x17c_neg
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
   158
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
   159
lm_0x17c:
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
   160
	lduh      [%l5 + %l2], %i1
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
   161
	cwbleu    %i1, %g4, lm_0x190
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
   162
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
   163
	addcc     %g5, -0x1, %g5
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
   164
	bne,pt    %icc, lm_0x78
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
   165
!6	srl       %i1, 0x0, %l0
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
   166
	 and       %i1, %l4, %l2	!6
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
   167
		
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
   168
lm_0x190:
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
   169
	cmp       %i2, %i3
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
   170
	movgu     %icc, %i3, %i2
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
   171
	return    %i7 + 0x8
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
   172
	srl       %o2, 0x0, %o0
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
   173
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
   174
lm_0x17c_neg:
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
   175
!3	add       %o3, %l6, %o7
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
   176
	 add       %o3, %i2, %o7		!3
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
   177
	ldub      [%o7 - 0x1], %l1
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
   178
	cwbne     %l1, %o2, lm_0x17c
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
   179
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
   180
!6	ldub      [%g1 + %l0], %i5
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
   181
	 ldub      [%g1 + %i1], %i5	!6
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
   182
	ldub      [%i4], %o5
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
   183
	cwbne     %i5, %o5, lm_0x17c
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
   184
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
   185
	ldub      [%i4 + 0x1], %l1
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
   186
	ldub      [%o3 + 0x1], %o4
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
   187
	cwbne     %o4, %l1, lm_0x17c
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
   188
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
   189
	add       %o3, 0x2, %o3
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
   190
!1	add       %l2, %l5, %l1
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
   191
	add       %i4, 0x2, %o4
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
   192
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
   193
lm_0xc0:
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
   194
	ldub      [%o4 + 0x1], %l0
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
   195
	add       %o4, 0x1, %o4
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
   196
	ldub      [%o3 + 0x1], %o7
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
   197
	cwbne     %l0, %o7, lm_0x14c
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
   198
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
   199
	ldub      [%o4 + 0x1], %i5
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
   200
	add       %o4, 0x1, %o4
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
   201
	ldub      [%o3 + 0x2], %o5
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
   202
	cwbne     %i5, %o5, lm_0x14c
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
   203
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
   204
	ldub      [%o4 + 0x1], %l0
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
   205
	add       %o4, 0x1, %o4
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
   206
	ldub      [%o3 + 0x3], %o7
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
   207
	cwbne     %l0, %o7, lm_0x14c
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
   208
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
   209
	ldub      [%o4 + 0x1], %i5
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
   210
	add       %o4, 0x1, %o4
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
   211
	ldub      [%o3 + 0x4], %o5
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
   212
	cwbne     %i5, %o5, lm_0x14c
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
   213
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
   214
	ldub      [%o4 + 0x1], %l0
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
   215
	add       %o4, 0x1, %o4
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
   216
	ldub      [%o3 + 0x5], %o7
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
   217
	cwbne     %l0, %o7, lm_0x14c
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
   218
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
   219
	ldub      [%o4 + 0x1], %i5
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
   220
	add       %o4, 0x1, %o4
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
   221
	ldub      [%o3 + 0x6], %o5
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
   222
	cwbne     %i5, %o5, lm_0x14c
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
   223
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
   224
	ldub      [%o4 + 0x1], %l0
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
   225
	add       %o4, 0x1, %o4
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
   226
	ldub      [%o3 + 0x7], %o7
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
   227
	cwbne     %l0, %o7, lm_0x14c
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
   228
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
   229
	ldub      [%o4 + 0x1], %i5
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
   230
	add       %o4, 0x1, %o4
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
   231
	ldub      [%o3 + 0x8], %o5
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
   232
	add       %o3, 0x8, %o3
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
   233
	cwbne     %i5, %o5, lm_0x14c
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
   234
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
   235
	nop
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
   236
	cxbcs     %o4, %l7, lm_0xc0
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
   237
		
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
   238
lm_0x14c:
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
   239
!1	prefetch  [%l1 - 0x40], #n_reads
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
   240
	sub       %l7, %o4, %l0
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
   241
	sub       %l3, %l0, %o7
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
   242
	cwble     %o7, %i2, lm_0x17c
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
   243
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
   244
	st        %i1, [%i0 + 0xa0]
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
   245
	mov       %o7, %i2
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
   246
	cwbge     %o7, %o0, lm_0x190
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
   247
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
   248
!2	sra       %o7, 0x0, %i1
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
   249
!3	sra       %o7, 0x0, %l6
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
   250
!2	add       %i4, %i1, %l1
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
   251
	 add       %i4, %o7, %l1	!2
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
   252
!2	ldub      [%i4 + %i1], %o1
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
   253
	 ldub      [%i4 + %o7], %o1	!2
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
   254
	 ba	   lm_0x17c
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
   255
	ldub      [%l1 - 0x1], %o2
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
   256
	
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
   257
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
   258
/* 0x0220	   0 */		.type	longest_match,#function
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
   259
/* 0x0220	   0 */		.size	longest_match,(.-longest_match)
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
   260
                       
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
   261
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
   262
			.L900000113:
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
   263
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
   264
	.section	".text",#alloc,#execinstr,#progbits
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
   265
/* 000000	   0 */		.align	8
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
   266
/* 000000	     */		.skip	24
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
   267
/* 0x0018	     */		.align	4
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
   268
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
   269
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
   270
			.L900000286:
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
   271
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
   272
	.section	".text",#alloc,#execinstr,#progbits
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
   273
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
   274
! Begin Disassembling Ident
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
   275
	.ident	"cg: Sun Compiler Common 12.3 SunOS_sparc 2011/11/16"	! (NO SOURCE LINE)
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
   276
	.ident	"acomp: Sun C 5.12 SunOS_sparc 2011/11/16"	! (/tmp/acomp.1329237379.172468.02.sd:24)
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
   277
	.ident	"iropt: Sun Compiler Common 12.3 SunOS_sparc 2011/11/16"	! (/tmp/acomp.1329237379.172468.02.sd:25)
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
   278
	.ident	"cg: Sun Compiler Common 12.3 SunOS_sparc 2011/11/16"	! (NO SOURCE LINE)
78809aba88fe 7102535 libz.so performance on Solaris needs significant improvement
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
diff changeset
   279
! End Disassembling Ident