From 8197a5a5d7424c03095c6996bb309133c8875be9 Mon Sep 17 00:00:00 2001 From: Martin Meloun Date: Sun, 11 May 2014 23:27:14 +0200 Subject: [PATCH] Update cond. branching to BRC/BRCI --- newlib/libc/machine/mbtumbl/strcmp.c | 20 ++++++++++---------- newlib/libc/machine/mbtumbl/strcpy.c | 16 ++++++++-------- newlib/libc/machine/mbtumbl/strlen.c | 10 +++++----- 3 files changed, 23 insertions(+), 23 deletions(-) diff --git a/newlib/libc/machine/mbtumbl/strcmp.c b/newlib/libc/machine/mbtumbl/strcmp.c index 78800392..c5ff110f 100644 --- a/newlib/libc/machine/mbtumbl/strcmp.c +++ b/newlib/libc/machine/mbtumbl/strcmp.c @@ -143,23 +143,23 @@ _DEFUN (strcmp, (s1, s2), check_alignment: \n\ andi r3, r5, 3 \n\ andi r4, r6, 3 \n\ - bnei r3, try_align_args \n\ - bnei r4, regular_strcmp /* At this point we don't have a choice */ \n\ + brci ne,r3, try_align_args \n\ + brci ne,r4, regular_strcmp /* At this point we don't have a choice */ \n\ cmp_loop: \n\ lw r3, r5, r9 \n\ lw r4, r6, r9 \n\ pcmpbf r7, r3, r0 /* See if there is Null byte */ \n\ - bnei r7, end_cmp_loop /* IF yes (r7 > 0) use byte compares in end_cmp_loop */ \n\ + brci ne, r7, end_cmp_loop /* IF yes (r7 > 0) use byte compares in end_cmp_loop */ \n\ cmpu r7, r4, r3 /* ELSE compare whole word */ \n\ - bnei r7, end_cmp \n\ + brci ne, r7, end_cmp \n\ brid cmp_loop \n\ addik r9, r9, 4 /* delay slot */ \n\ end_cmp_loop: \n\ lbu r3, r5, r9 /* byte compare loop */ \n\ lbu r4, r6, r9 \n\ cmpu r7, r4, r3 /* Compare bytes */ \n\ - bnei r7, end_cmp_early \n\ - bneid r3, end_cmp_loop /* If reached null on one string, terminate */ \n\ + brci ne, r7, end_cmp_early \n\ + brcid ne, r3, end_cmp_loop /* If reached null on one string, terminate */ \n\ addik r9, r9, 1 /* delay slot */ \n\ end_cmp_early: \n\ rtsd r15, 4 \n\ @@ -172,8 +172,8 @@ align_loop: lbu r3, r5, r9 \n\ lbu r4, r6, r9 \n\ cmpu r7, r4, r3 \n\ - bnei r7, end_cmp \n\ - beqi r3, end_cmp \n\ + brci ne, r7, end_cmp \n\ + brci eq, r3, end_cmp \n\ addik r10, r10, -1 \n\ beqid r10, cmp_loop \n\ addik r9, r9, 1 \n\ @@ -182,8 +182,8 @@ regular_strcmp: lbu r3, r5, r9 \n\ lbu r4, r6, r9 \n\ cmpu r7, r4, r3 \n\ - bnei r7, end_cmp \n\ - beqi r3, end_cmp \n\ + brci ne, r7, end_cmp \n\ + brci eq, r3, end_cmp \n\ brid regular_strcmp \n\ addik r9, r9, 1 \n\ end_cmp: \n\ diff --git a/newlib/libc/machine/mbtumbl/strcpy.c b/newlib/libc/machine/mbtumbl/strcpy.c index d1faafa3..b339c334 100644 --- a/newlib/libc/machine/mbtumbl/strcpy.c +++ b/newlib/libc/machine/mbtumbl/strcpy.c @@ -136,12 +136,12 @@ _DEFUN (strcpy, (dst0, src0), check_alignment: \n\ andi r3, r5, 3 \n\ andi r4, r6, 3 \n\ - bnei r3, try_align_args \n\ - bnei r4, regular_strcpy /* At this point we dont have a choice */ \n\ + brci ne, r3, try_align_args \n\ + brci ne, r4, regular_strcpy /* At this point we dont have a choice */ \n\ cpy_loop: \n\ lw r3, r6, r9 \n\ pcmpbf r4, r0, r3 \n\ - bnei r4, cpy_bytes /* If r4 != 0, then null present within string */\n\ + brci ne, r4, cpy_bytes /* If r4 != 0, then null present within string */\n\ sw r3, r5, r9 \n\ brid cpy_loop \n\ addik r9, r9, 4 \n\ @@ -149,27 +149,27 @@ cpy_bytes: \n\ lbu r3, r6, r9 \n\ sb r3, r5, r9 \n\ addik r4, r4, -1 \n\ - bneid r4, cpy_bytes \n\ + brcid ne, r4, cpy_bytes \n\ addik r9, r9, 1 /* delay slot */\n\ cpy_null: \n\ rtsd r15, 4 \n\ or r3, r0, r5 /* Return strcpy result */\n\ try_align_args: \n\ xor r7, r4, r3 \n\ - bnei r7, regular_strcpy /* cannot align args */\n\ + brci ne, r7, regular_strcpy /* cannot align args */\n\ rsubik r10, r3, 4 /* Number of initial bytes to align */\n\ align_loop: \n\ lbu r3, r6, r9 \n\ sb r3, r5, r9 \n\ - beqid r3, end_cpy /* Break if we have seen null character */\n\ + brcid eq, r3, end_cpy /* Break if we have seen null character */\n\ addik r10, r10, -1 \n\ - bneid r10, align_loop \n\ + brcid ne, r10, align_loop \n\ addik r9, r9, 1 \n\ bri cpy_loop \n\ regular_strcpy: \n\ lbu r3, r6, r9 \n\ sb r3, r5, r9 \n\ - bneid r3, regular_strcpy \n\ + brcid ne, r3, regular_strcpy \n\ addik r9, r9, 1 \n\ end_cpy: \n\ rtsd r15, 4 \n\ diff --git a/newlib/libc/machine/mbtumbl/strlen.c b/newlib/libc/machine/mbtumbl/strlen.c index d4b70790..0e0a653c 100644 --- a/newlib/libc/machine/mbtumbl/strlen.c +++ b/newlib/libc/machine/mbtumbl/strlen.c @@ -124,16 +124,16 @@ _DEFUN (strlen, (str), or r9, r0, r0 /* Index register */ \n\ check_alignment: \n\ andi r3, r5, 3 \n\ - bnei r3, align_arg \n\ + brci ne, r3, align_arg \n\ len_loop: \n\ lw r3, r5, r9 \n\ pcmpbf r4, r3, r0 \n\ - bnei r4, end_len \n\ + brci ne, r4, end_len \n\ brid len_loop \n\ addik r9, r9, 4 \n\ end_len: \n\ lbu r3, r5, r9 \n\ - beqi r3, done_len \n\ + brci eq, r3, done_len \n\ brid end_len \n\ addik r9, r9, 1 \n\ done_len: \n\ @@ -143,9 +143,9 @@ align_arg: \n\ rsubik r10, r3, 4 \n\ align_loop: \n\ lbu r3, r5, r9 \n\ - beqid r3, done_len \n\ + brcid eq, r3, done_len \n\ addik r10, r10, -1 \n\ - bneid r10, align_loop \n\ + brcid ne, r10, align_loop \n\ addik r9, r9, 1 \n\ bri len_loop"); -- 2.39.2