From 8a0efa53e44919bcf5ccb1d3353618a82afdf8bc Mon Sep 17 00:00:00 2001 From: Christopher Faylor Date: Thu, 17 Feb 2000 19:39:52 +0000 Subject: import newlib-2000-02-17 snapshot --- newlib/libc/machine/mn10300/strchr.S | 88 ++++++++++++++++++++++++++++++++++++ 1 file changed, 88 insertions(+) create mode 100644 newlib/libc/machine/mn10300/strchr.S (limited to 'newlib/libc/machine/mn10300/strchr.S') diff --git a/newlib/libc/machine/mn10300/strchr.S b/newlib/libc/machine/mn10300/strchr.S new file mode 100644 index 000000000..aa4799091 --- /dev/null +++ b/newlib/libc/machine/mn10300/strchr.S @@ -0,0 +1,88 @@ + .file "strchr.S" + + .section .text + .global _strchr + .type _strchr,@function +_strchr: + movm [d2,d3,a2,a3],(sp) + add -12,sp + mov d0,a1 + movbu d1,(7,sp) +#ifndef __OPTIMIZE_SIZE__ + btst 3,d0 + bne .L20 + clr d0 +.L24: + setlb + mov sp,a2 + mov d0,d3 + add d3,a2 + mov a2,a0 + add 12,a0 + movbu (7,sp),d3 + movbu d3,(-4,a0) + inc d0 + cmp 3,d0 + lls + mov a1,a0 + mov -16843009,a1 + mov (a0),d2 + mov a1,d1 + add d2,d1 + mov d2,d0 + not d0 + and d0,d1 + mov -2139062144,d3 + mov d3,(0,sp) + btst -2139062144,d1 + bne .L27 + jmp .L38 +.L28: + inc4 a0 + mov (a0),d2 + mov a1,d1 + add d2,d1 + mov d2,d0 + not d0 + and d0,d1 + mov (0,sp),d3 + and d3,d1 + bne .L27 +.L38: + mov (8,sp),d0 + xor d2,d0 + mov a1,d1 + add d0,d1 + not d0 + and d0,d1 + and d3,d1 + beq .L28 +.L27: + mov a0,a1 +#endif +.L20: + movbu (a1),d0 + cmp 0,d0 + beq .L32 + movbu (7,sp),d1 +.L35: + setlb + cmp d1,d0 + beq .L36 + inc a1 + movbu (a1),d0 + cmp 0,d0 + lne +.L32: + movbu (7,sp),d0 + movbu (a1),d3 + cmp d0,d3 + beq .L36 + mov 0,a0 + jmp .L37 +.L36: + mov a1,a0 +.L37: + ret [d2,d3,a2,a3],28 +.Lfe1: + .size _strchr,.Lfe1-_strchr -- cgit v1.2.3