Linux Audio

Check our new training course

Loading...
v6.2
  1/* SPDX-License-Identifier: GPL-2.0 */
  2/*
  3 * strncmp.S: Hand optimized Sparc assembly of GCC output from GNU libc
  4 *            generic strncmp routine.
  5 */
  6
  7#include <linux/linkage.h>
  8#include <asm/export.h>
  9
 10	.text
 11ENTRY(strncmp)
 
 
 
 12	mov	%o0, %g3
 13	mov	0, %o3
 14
 15	cmp	%o2, 3
 16	ble	7f
 17	 mov	0, %g2
 18
 19	sra	%o2, 2, %o4
 20	ldub	[%g3], %o3
 21
 220:
 23	ldub	[%o1], %g2
 24	add	%g3, 1, %g3
 25	and	%o3, 0xff, %o0
 26
 27	cmp	%o0, 0
 28	be	8f
 29	 add	%o1, 1, %o1
 30
 31	cmp	%o0, %g2
 32	be,a	1f
 33	 ldub	[%g3], %o3
 34
 35	retl
 36	 sub	%o0, %g2, %o0
 37
 381:
 39	ldub	[%o1], %g2
 40	add	%g3,1, %g3
 41	and	%o3, 0xff, %o0
 42
 43	cmp	%o0, 0
 44	be	8f
 45	 add	%o1, 1, %o1
 46
 47	cmp	%o0, %g2
 48	be,a	1f
 49	 ldub	[%g3], %o3
 50
 51	retl
 52	 sub	%o0, %g2, %o0
 53
 541:
 55	ldub	[%o1], %g2
 56	add	%g3, 1, %g3
 57	and	%o3, 0xff, %o0
 58
 59	cmp	%o0, 0
 60	be	8f
 61	 add	%o1, 1, %o1
 62
 63	cmp	%o0, %g2
 64	be,a	1f
 65	 ldub	[%g3], %o3
 66
 67	retl
 68	 sub	%o0, %g2, %o0
 69
 701:
 71	ldub	[%o1], %g2
 72	add	%g3, 1, %g3
 73	and	%o3, 0xff, %o0
 74
 75	cmp	%o0, 0
 76	be	8f
 77	 add	%o1, 1, %o1
 78
 79	cmp	%o0, %g2
 80	be	1f
 81	 add	%o4, -1, %o4
 82
 83	retl
 84	 sub	%o0, %g2, %o0
 85
 861:
 87
 88	cmp	%o4, 0
 89	bg,a	0b
 90	 ldub	[%g3], %o3
 91
 92	b	7f
 93	 and	%o2, 3, %o2
 94
 959:
 96	ldub	[%o1], %g2
 97	add	%g3, 1, %g3
 98	and	%o3, 0xff, %o0
 99
100	cmp	%o0, 0
101	be	8f
102	 add	%o1, 1, %o1
103
104	cmp	%o0, %g2
105	be	7f
106	 add	%o2, -1, %o2
107
1088:
109	retl
110	 sub	%o0, %g2, %o0
111
1127:
113	cmp	%o2, 0
114	bg,a	9b
115	 ldub	[%g3], %o3
116
117	and	%g2, 0xff, %o0
118	retl
119	 sub	%o3, %o0, %o0
120ENDPROC(strncmp)
121EXPORT_SYMBOL(strncmp)
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