Linux Audio

Check our new training course

Loading...
v3.1
  1/*
  2 * strncmp.S: Hand optimized Sparc assembly of GCC output from GNU libc
  3 *            generic strncmp routine.
  4 */
  5
 
 
  6	.text
  7	.align 4
  8	.global __strncmp, strncmp
  9__strncmp:
 10strncmp:
 11	mov	%o0, %g3
 12	mov	0, %o3
 13
 14	cmp	%o2, 3
 15	ble	7f
 16	 mov	0, %g2
 17
 18	sra	%o2, 2, %o4
 19	ldub	[%g3], %o3
 20
 210:
 22	ldub	[%o1], %g2
 23	add	%g3, 1, %g3
 24	and	%o3, 0xff, %o0
 25
 26	cmp	%o0, 0
 27	be	8f
 28	 add	%o1, 1, %o1
 29
 30	cmp	%o0, %g2
 31	be,a	1f
 32	 ldub	[%g3], %o3
 33
 34	retl
 35	 sub	%o0, %g2, %o0
 36
 371:
 38	ldub	[%o1], %g2
 39	add	%g3,1, %g3
 40	and	%o3, 0xff, %o0
 41
 42	cmp	%o0, 0
 43	be	8f
 44	 add	%o1, 1, %o1
 45
 46	cmp	%o0, %g2
 47	be,a	1f
 48	 ldub	[%g3], %o3
 49
 50	retl
 51	 sub	%o0, %g2, %o0
 52
 531:
 54	ldub	[%o1], %g2
 55	add	%g3, 1, %g3
 56	and	%o3, 0xff, %o0
 57
 58	cmp	%o0, 0
 59	be	8f
 60	 add	%o1, 1, %o1
 61
 62	cmp	%o0, %g2
 63	be,a	1f
 64	 ldub	[%g3], %o3
 65
 66	retl
 67	 sub	%o0, %g2, %o0
 68
 691:
 70	ldub	[%o1], %g2
 71	add	%g3, 1, %g3
 72	and	%o3, 0xff, %o0
 73
 74	cmp	%o0, 0
 75	be	8f
 76	 add	%o1, 1, %o1
 77
 78	cmp	%o0, %g2
 79	be	1f
 80	 add	%o4, -1, %o4
 81
 82	retl
 83	 sub	%o0, %g2, %o0
 84
 851:
 86
 87	cmp	%o4, 0
 88	bg,a	0b
 89	 ldub	[%g3], %o3
 90
 91	b	7f
 92	 and	%o2, 3, %o2
 93
 949:
 95	ldub	[%o1], %g2
 96	add	%g3, 1, %g3
 97	and	%o3, 0xff, %o0
 98
 99	cmp	%o0, 0
100	be	8f
101	 add	%o1, 1, %o1
102
103	cmp	%o0, %g2
104	be	7f
105	 add	%o2, -1, %o2
106
1078:
108	retl
109	 sub	%o0, %g2, %o0
110
1117:
112	cmp	%o2, 0
113	bg,a	9b
114	 ldub	[%g3], %o3
115
116	and	%g2, 0xff, %o0
117	retl
118	 sub	%o3, %o0, %o0
v3.15
  1/*
  2 * strncmp.S: Hand optimized Sparc assembly of GCC output from GNU libc
  3 *            generic strncmp routine.
  4 */
  5
  6#include <linux/linkage.h>
  7
  8	.text
  9ENTRY(strncmp)
 
 
 
 10	mov	%o0, %g3
 11	mov	0, %o3
 12
 13	cmp	%o2, 3
 14	ble	7f
 15	 mov	0, %g2
 16
 17	sra	%o2, 2, %o4
 18	ldub	[%g3], %o3
 19
 200:
 21	ldub	[%o1], %g2
 22	add	%g3, 1, %g3
 23	and	%o3, 0xff, %o0
 24
 25	cmp	%o0, 0
 26	be	8f
 27	 add	%o1, 1, %o1
 28
 29	cmp	%o0, %g2
 30	be,a	1f
 31	 ldub	[%g3], %o3
 32
 33	retl
 34	 sub	%o0, %g2, %o0
 35
 361:
 37	ldub	[%o1], %g2
 38	add	%g3,1, %g3
 39	and	%o3, 0xff, %o0
 40
 41	cmp	%o0, 0
 42	be	8f
 43	 add	%o1, 1, %o1
 44
 45	cmp	%o0, %g2
 46	be,a	1f
 47	 ldub	[%g3], %o3
 48
 49	retl
 50	 sub	%o0, %g2, %o0
 51
 521:
 53	ldub	[%o1], %g2
 54	add	%g3, 1, %g3
 55	and	%o3, 0xff, %o0
 56
 57	cmp	%o0, 0
 58	be	8f
 59	 add	%o1, 1, %o1
 60
 61	cmp	%o0, %g2
 62	be,a	1f
 63	 ldub	[%g3], %o3
 64
 65	retl
 66	 sub	%o0, %g2, %o0
 67
 681:
 69	ldub	[%o1], %g2
 70	add	%g3, 1, %g3
 71	and	%o3, 0xff, %o0
 72
 73	cmp	%o0, 0
 74	be	8f
 75	 add	%o1, 1, %o1
 76
 77	cmp	%o0, %g2
 78	be	1f
 79	 add	%o4, -1, %o4
 80
 81	retl
 82	 sub	%o0, %g2, %o0
 83
 841:
 85
 86	cmp	%o4, 0
 87	bg,a	0b
 88	 ldub	[%g3], %o3
 89
 90	b	7f
 91	 and	%o2, 3, %o2
 92
 939:
 94	ldub	[%o1], %g2
 95	add	%g3, 1, %g3
 96	and	%o3, 0xff, %o0
 97
 98	cmp	%o0, 0
 99	be	8f
100	 add	%o1, 1, %o1
101
102	cmp	%o0, %g2
103	be	7f
104	 add	%o2, -1, %o2
105
1068:
107	retl
108	 sub	%o0, %g2, %o0
109
1107:
111	cmp	%o2, 0
112	bg,a	9b
113	 ldub	[%g3], %o3
114
115	and	%g2, 0xff, %o0
116	retl
117	 sub	%o3, %o0, %o0
118ENDPROC(strncmp)