components/zlib/capabilities/sun4v/sparcv9/longest_match_t4.s
branchs11u3-sru
changeset 7889 a5ad77e24b54
parent 2480 4d728ef2f1d8
equal deleted inserted replaced
7888:eb95548e9e3c 7889:a5ad77e24b54
    94 
    94 
    95 			longest_match:
    95 			longest_match:
    96 
    96 
    97 			.L900000112:
    97 			.L900000112:
    98 	save      %sp, -0xb0, %sp
    98 	save      %sp, -0xb0, %sp
    99 	 ld        [%i0 + 0x4c], %l4	!7
    99 	 ld        [%i0 + 0x58], %l4	!7
   100 	 ldn       [%i0 + 0x60], %l5	!7
   100 	 ldn       [%i0 + 0x70], %l5	!7
   101 	 and       %i1, %l4, %l2	!7
   101 	 and       %i1, %l4, %l2	!7
   102 	 prefetch [%l5 + %l2], #n_reads	!7
   102 	 prefetch [%l5 + %l2], #n_reads	!7
   103 !7	ld        [%i0 + 0x9c], %l4
   103 !7	ld        [%i0 + 0xac], %l4
   104 	 ld        [%i0 + 0x9c], %l1	!7
   104 	 ld        [%i0 + 0xac], %l1	!7
   105 	ld        [%i0 + 0x44], %l6
   105 	ld        [%i0 + 0x50], %l6
   106 	clr       %g4
   106 	clr       %g4
   107 	ldn       [%i0 + 0x50], %g1
   107 	ldn       [%i0 + 0x60], %g1
   108 	ld        [%i0 + 0xa8], %i2
   108 	ld        [%i0 + 0xb8], %i2
   109 	ld        [%i0 + 0xac], %g5
   109 	ld        [%i0 + 0xbc], %g5
   110 	ld        [%i0 + 0xc0], %o0
   110 	ld        [%i0 + 0xd0], %o0
   111 !5	srl       %l4, 0x0, %l5
   111 !5	srl       %l4, 0x0, %l5
   112 	ld        [%i0 + 0xbc], %l7
   112 	ld        [%i0 + 0xcc], %l7
   113 	add       %l6, -0x106, %i3
   113 	add       %l6, -0x106, %i3
   114 !5	add       %g1, %l5, %i4
   114 !5	add       %g1, %l5, %i4
   115 !7	 add       %g1, %l4, %i4	!5
   115 !7	 add       %g1, %l4, %i4	!5
   116 	 add       %g1, %l1, %i4	!7
   116 	 add       %g1, %l1, %i4	!7
   117 !7	cwbleu    %l4, %i3, lm_0x38
   117 !7	cwbleu    %l4, %i3, lm_0x38
   118 	 cwbleu    %l1, %i3, lm_0x38	!7
   118 	 cwbleu    %l1, %i3, lm_0x38	!7
   119 !7	sub       %l4, %i3, %g4
   119 !7	sub       %l4, %i3, %g4
   120 	 sub       %l1, %i3, %g4	!7
   120 	 sub       %l1, %i3, %g4	!7
   121 		
   121 		
   122 lm_0x38:
   122 lm_0x38:
   123 !7	ld        [%i0 + 0x4c], %l4
   123 !7	ld        [%i0 + 0x5c], %l4
   124 !4	add       %i2, -0x1, %l3
   124 !4	add       %i2, -0x1, %l3
   125 !7	ldn       [%i0 + 0x60], %l5
   125 !7	ldn       [%i0 + 0x70], %l5
   126 !4	sra       %l3, 0x0, %o2
   126 !4	sra       %l3, 0x0, %o2
   127 	 add       %i2, -0x1, %o2	!4
   127 	 add       %i2, -0x1, %o2	!4
   128 	ldub      [%i4 + %o2], %o2
   128 	ldub      [%i4 + %o2], %o2
   129 !3	sra       %i2, 0x0, %l6
   129 !3	sra       %i2, 0x0, %l6
   130 !3	ldub      [%i4 + %l6], %o1
   130 !3	ldub      [%i4 + %l6], %o1
   131 	 ldub      [%i4 + %i2], %o1	!3
   131 	 ldub      [%i4 + %i2], %o1	!3
   132 	cmp       %i2, %l7
   132 	cmp       %i2, %l7
   133 	add       %i4, 0x102, %l7
   133 	add       %i4, 0x102, %l7
   134 	ld        [%i0 + 0xa4], %i3
   134 	ld        [%i0 + 0xb4], %i3
   135 	bcs,pn    %icc, lm_0x6c
   135 	bcs,pn    %icc, lm_0x6c
   136 	mov       0x102, %l3
   136 	mov       0x102, %l3
   137 
   137 
   138 	srl       %g5, 0x2, %g5
   138 	srl       %g5, 0x2, %g5
   139 		
   139 		
   239 !1	prefetch  [%l1 - 0x40], #n_reads
   239 !1	prefetch  [%l1 - 0x40], #n_reads
   240 	sub       %l7, %o4, %l0
   240 	sub       %l7, %o4, %l0
   241 	sub       %l3, %l0, %o7
   241 	sub       %l3, %l0, %o7
   242 	cwble     %o7, %i2, lm_0x17c
   242 	cwble     %o7, %i2, lm_0x17c
   243 
   243 
   244 	st        %i1, [%i0 + 0xa0]
   244 	st        %i1, [%i0 + 0xb0]
   245 	mov       %o7, %i2
   245 	mov       %o7, %i2
   246 	cwbge     %o7, %o0, lm_0x190
   246 	cwbge     %o7, %o0, lm_0x190
   247 
   247 
   248 !2	sra       %o7, 0x0, %i1
   248 !2	sra       %o7, 0x0, %i1
   249 !3	sra       %o7, 0x0, %l6
   249 !3	sra       %o7, 0x0, %l6