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.5.6
 
  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)