[{"id":1776603,"web_url":"http://patchwork.ozlabs.org/comment/1776603/","msgid":"<20170927204005.GA28921@ravnborg.org>","list_archive_url":null,"date":"2017-09-27T20:40:05","subject":"Re: [PATCH 2/3] sparc: assembly version of memmove for ultra1+","submitter":{"id":1009,"url":"http://patchwork.ozlabs.org/api/people/1009/","name":"Sam Ravnborg","email":"sam@ravnborg.org"},"content":"Hi Patrick.\n\nNitpick below.\n\n\tSam\n\n> +\n> +.Ls2alg:\n> +\tlduh\t[%o1], %o3\t/* know src is 2 byte aligned  */\n> +\tinc\t2, %o1\n> +\tsrl\t%o3, 8, %o4\n> +\tstb\t%o4, [%o0]\t/* have to do bytes,  */\n> +\tstb\t%o3, [%o0 + 1]\t/* don't know dst alingment  */\n> +\tinc\t2, %o0\n> +\tdec\t2, %o2\n> +\n> +.Laldst:\n> +\tandcc\t%o0, 3, %o5\t/* align the destination address  */\n.Lald:\tbz,pn\t%icc, .Lw4cp\nLabel on own line would make patches more readable.\nBut src looks OK.\n\n> +\t cmp\t%o5, 2\n> +\tbz,pn\t%icc, .Lw2cp\n> +\t cmp\t%o5, 3\n> +.Lw3cp:\n> +\tlduw\t[%o1], %o4\n> +\tinc\t4, %o1\n> +\tsrl\t%o4, 24, %o5\n> +\tstb\t%o5, [%o0]\n> +\tbne,pt\t%icc, .Lw1cp\n> +\t inc\t%o0\n> +\tdec\t1, %o2\n> +\tandn\t%o2, 3, %o3\t/* i3 is aligned word count  */\n> +\tdec\t4, %o3\t\t/* avoid reading beyond tail of src  */\n> +\tsub\t%o1, %o0, %o1\t/* i1 gets the difference  */\n> +\n> +1:\tsll\t%o4, 8, %g1\t/* save residual bytes  */\n> +\tlduw\t[%o1+%o0], %o4\n> +\tdeccc\t4, %o3\n> +\tsrl\t%o4, 24, %o5\t/* merge with residual  */\n> +\tor\t%o5, %g1, %g1\n> +\tst\t%g1, [%o0]\n> +\tbnz,pt\t%XCC, 1b\n> +\t inc\t4, %o0\n> +\tsub\t%o1, 3, %o1\t/* used one byte of last word read  */\n> +\tand\t%o2, 3, %o2\n> +\tb\t7f\n> +\t inc\t4, %o2\n> +\n> +.Lw1cp:\n> +\tsrl\t%o4, 8, %o5\n> +\tsth\t%o5, [%o0]\n> +\tinc\t2, %o0\n> +\tdec\t3, %o2\n> +\tandn\t%o2, 3, %o3\n> +\tdec\t4, %o3\t\t/* avoid reading beyond tail of src  */\n> +\tsub\t%o1, %o0, %o1\t/* i1 gets the difference  */\n> +\n> +2:\tsll\t%o4, 24, %g1\t/* save residual bytes  */\n> +\tlduw\t[%o1+%o0], %o4\n> +\tdeccc\t4, %o3\n> +\tsrl\t%o4, 8, %o5\t/* merge with residual  */\n> +\tor\t%o5, %g1, %g1\n> +\tst\t%g1, [%o0]\n> +\tbnz,pt\t%XCC, 2b\n> +\t inc\t4, %o0\n> +\tsub\t%o1, 1, %o1\t/* used three bytes of last word read  */\n> +\tand\t%o2, 3, %o2\n> +\tb\t7f\n> +\tinc\t4, %o2\nDelay slot - indent instruction with one space.\n\n> +\n> +.Lw2cp:\n> +\tlduw\t[%o1], %o4\n> +\tinc\t4, %o1\n> +\tsrl\t%o4, 16, %o5\n> +\tsth\t%o5, [%o0]\n> +\tinc\t2, %o0\n> +\tdec\t2, %o2\n> +\tandn\t%o2, 3, %o3\t/* i3 is aligned word count  */\n> +\tdec\t4, %o3\t\t/* avoid reading beyond tail of src  */\n> +\tsub\t%o1, %o0, %o1\t/* i1 gets the difference  */\n> +\n> +3:\tsll\t%o4, 16, %g1\t/* save residual bytes  */\n> +\tlduw\t[%o1+%o0], %o4\n> +\tdeccc\t4, %o3\n> +\tsrl\t%o4, 16, %o5\t/* merge with residual  */\n> +\tor\t%o5, %g1, %g1\n> +\tst\t%g1, [%o0]\n> +\tbnz,pt\t%XCC, 3b\n> +\t inc\t4, %o0\n> +\tsub\t%o1, 2, %o1\t/* used two bytes of last word read  */\n> +\tand\t%o2, 3, %o2\n> +\tb\t7f\n> +\t inc\t4, %o2\n> +\n> +.Lw4cp:\n> +\tandn\t%o2, 3, %o3\t/* i3 is aligned word count  */\n> +\tsub\t%o1, %o0, %o1\t/* i1 gets the difference  */\n> +\n> +1:\tlduw\t[%o1+%o0], %o4\t/* read from address  */\n> +\tdeccc\t4, %o3\t\t/* decrement count  */\n> +\tst\t%o4, [%o0]\t/* write at destination address  */\n> +\tbg,pt\t%XCC, 1b\n> +\t inc\t4, %o0\t\t/* increment to address  */\n> +\tb\t7f\n> +\t and\t%o2, 3, %o2\t/* number of leftover bytes, if any  */\n> +\n> +/*\n> + * differenced byte copy, works with any alignment\n> + */\n> +.Ldbytecp:\n> +\tb\t7f\n> +\t sub\t%o1, %o0, %o1\t/* i1 gets the difference  */\n> +\n> +4:\tstb\t%o4, [%o0]\t/* write to address  */\n> +\tinc\t%o0\t\t/* inc to address  */\n> +7:\tdeccc\t%o2\t\t/* decrement count  */\n> +\tbge,a\t%XCC, 4b\t/* loop till done  */\n> +\t ldub\t[%o1+%o0], %o4\t/* read from address  */\n> +\tretl\n> +\t mov\t%g2, %o0\t/* return pointer to destination  */\n> +\n> +/*\n> + * an overlapped copy that must be done \"backwards\"\n> + */\n> +.Lovbc:\n> +\tadd\t%o1, %o2, %o1\t/* get to end of source space  */\n> +\tadd\t%o0, %o2, %o0\t/* get to end of destination space  */\n> +\tsub\t%o1, %o0, %o1\t/* i1 gets the difference  */\n> +\n> +5:\tdec\t%o0\t\t/* decrement to address  */\n> +\tldub\t[%o1+%o0], %o3\t/* read a byte  */\n> +\tdeccc\t%o2\t\t/* decrement count  */\n> +\tbg,pt\t%XCC, 5b \t/* loop until done  */\n> +\t stb\t%o3, [%o0]\t/* write byte  */\n> +\tretl\n> +\t mov\t%g2, %o0\t/* return pointer to destination  */\n> +END(memmove)\n> +\n> +libc_hidden_builtin_def (memmove)","headers":{"Return-Path":"<libc-alpha-return-85041-incoming=patchwork.ozlabs.org@sourceware.org>","X-Original-To":"incoming@patchwork.ozlabs.org","Delivered-To":["patchwork-incoming@bilbo.ozlabs.org","mailing list libc-alpha@sourceware.org"],"Authentication-Results":["ozlabs.org;\n\tspf=pass (mailfrom) smtp.mailfrom=sourceware.org\n\t(client-ip=209.132.180.131; helo=sourceware.org;\n\tenvelope-from=libc-alpha-return-85041-incoming=patchwork.ozlabs.org@sourceware.org;\n\treceiver=<UNKNOWN>)","ozlabs.org; dkim=pass (1024-bit key;\n\tsecure) header.d=sourceware.org header.i=@sourceware.org\n\theader.b=\"KqGCZV1s\"; dkim-atps=neutral","sourceware.org; auth=none"],"Received":["from sourceware.org (server1.sourceware.org [209.132.180.131])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256\n\tbits)) (No client certificate requested)\n\tby ozlabs.org (Postfix) with ESMTPS id 3y2V7l6Tsrz9t66\n\tfor <incoming@patchwork.ozlabs.org>;\n\tThu, 28 Sep 2017 06:40:19 +1000 (AEST)","(qmail 81169 invoked by alias); 27 Sep 2017 20:40:12 -0000","(qmail 80811 invoked by uid 89); 27 Sep 2017 20:40:12 -0000"],"DomainKey-Signature":"a=rsa-sha1; c=nofws; d=sourceware.org; h=list-id\n\t:list-unsubscribe:list-subscribe:list-archive:list-post\n\t:list-help:sender:date:from:to:cc:subject:message-id:references\n\t:mime-version:content-type:in-reply-to; q=dns; s=default; b=K2kf\n\tNaz4r+/xHMevL+9r4VINyFt6d+310IyUIWynNQ3nxLlgXJuPfoHTERNerraqwcpz\n\tyV1btEJ+F2nMjNToQbh/uhydj2jJ8UMmFCi45qb9yWIgBR6QU3IG9nuy1VyRX4oo\n\t+SS5D+QukFcatGfWFjK1SiDeQV3+KrTrUgswlro=","DKIM-Signature":"v=1; a=rsa-sha1; c=relaxed; d=sourceware.org; h=list-id\n\t:list-unsubscribe:list-subscribe:list-archive:list-post\n\t:list-help:sender:date:from:to:cc:subject:message-id:references\n\t:mime-version:content-type:in-reply-to; s=default; bh=KC8ZKUTpTl\n\tsHWFh643cnhRs7vc0=; b=KqGCZV1snGVGkZCTgPjiHYRpF8NQ1eI6zHZiaGpfpo\n\tJ6FXgvvN3XxyX/pzWPXlzln7vRiYtdJIKHbOKRbVCAuORRkCETciz0fAJ5b8tHo3\n\tIu8ol4lE+mLSJaRlxC/OM0ZcDhMKgnlRNrM/RetZJ4ACEfGdqMfalUcsmoPTNGYP\n\tY=","Mailing-List":"contact libc-alpha-help@sourceware.org; run by ezmlm","Precedence":"bulk","List-Id":"<libc-alpha.sourceware.org>","List-Unsubscribe":"<mailto:libc-alpha-unsubscribe-incoming=patchwork.ozlabs.org@sourceware.org>","List-Subscribe":"<mailto:libc-alpha-subscribe@sourceware.org>","List-Archive":"<http://sourceware.org/ml/libc-alpha/>","List-Post":"<mailto:libc-alpha@sourceware.org>","List-Help":"<mailto:libc-alpha-help@sourceware.org>,\n\t<http://sourceware.org/ml/#faqs>","Sender":"libc-alpha-owner@sourceware.org","X-Virus-Found":"No","X-Spam-SWARE-Status":"No, score=0.6 required=5.0 tests=AWL, BAYES_00,\n\tKAM_LAZY_DOMAIN_SECURITY, RCVD_IN_DNSWL_NONE,\n\tUNSUBSCRIBE_BODY autolearn=no version=3.3.2 spammy=H*F:U*sam,\n\tLabel","X-HELO":"asavdk3.altibox.net","Date":"Wed, 27 Sep 2017 22:40:05 +0200","From":"Sam Ravnborg <sam@ravnborg.org>","To":"Patrick McGehearty <patrick.mcgehearty@oracle.com>","Cc":"libc-alpha@sourceware.org","Subject":"Re: [PATCH 2/3] sparc: assembly version of memmove for ultra1+","Message-ID":"<20170927204005.GA28921@ravnborg.org>","References":"<1506542999-97895-1-git-send-email-patrick.mcgehearty@oracle.com>\n\t<1506542999-97895-2-git-send-email-patrick.mcgehearty@oracle.com>\n\t<1506542999-97895-3-git-send-email-patrick.mcgehearty@oracle.com>","MIME-Version":"1.0","Content-Type":"text/plain; charset=us-ascii","Content-Disposition":"inline","In-Reply-To":"<1506542999-97895-3-git-send-email-patrick.mcgehearty@oracle.com>","User-Agent":"Mutt/1.5.21 (2010-09-15)","X-CMAE-Score":"0","X-CMAE-Analysis":"v=2.2 cv=WJY9ZTkR c=1 sm=1 tr=0\n\ta=Ij76tQDYWdb01v2+RnYW5w==:117 a=Ij76tQDYWdb01v2+RnYW5w==:17\n\ta=kj9zAlcOel0A:10 a=EceXPg7vzj6af_KoBiwA:9 a=Bb8qnC0RH2ttXhvh:21\n\ta=yTonqPAR8O1Y5MeK:21 a=CjuIK1q_8ugA:10"}},{"id":1777047,"web_url":"http://patchwork.ozlabs.org/comment/1777047/","msgid":"<3733fb6f-aa43-9564-6283-009400c5be93@oracle.com>","list_archive_url":null,"date":"2017-09-28T14:09:13","subject":"Re: [PATCH 2/3] sparc: assembly version of memmove for ultra1+","submitter":{"id":72081,"url":"http://patchwork.ozlabs.org/api/people/72081/","name":"Patrick McGehearty","email":"patrick.mcgehearty@oracle.com"},"content":"I'll clean up the nits and double check for any other missing delay slot \nspaces.\nI expect I'll have it ready for resubmission later today.\n- patrick\n\nOn 9/27/2017 3:40 PM, Sam Ravnborg wrote:\n> Hi Patrick.\n>\n> Nitpick below.\n>\n> \tSam\n>\n>> +\n>> +.Ls2alg:\n>> +\tlduh\t[%o1], %o3\t/* know src is 2 byte aligned  */\n>> +\tinc\t2, %o1\n>> +\tsrl\t%o3, 8, %o4\n>> +\tstb\t%o4, [%o0]\t/* have to do bytes,  */\n>> +\tstb\t%o3, [%o0 + 1]\t/* don't know dst alingment  */\n>> +\tinc\t2, %o0\n>> +\tdec\t2, %o2\n>> +\n>> +.Laldst:\n>> +\tandcc\t%o0, 3, %o5\t/* align the destination address  */\n> .Lald:\tbz,pn\t%icc, .Lw4cp\n> Label on own line would make patches more readable.\n> But src looks OK.\n>\n>> +\t cmp\t%o5, 2\n>> +\tbz,pn\t%icc, .Lw2cp\n>> +\t cmp\t%o5, 3\n>> +.Lw3cp:\n>> +\tlduw\t[%o1], %o4\n>> +\tinc\t4, %o1\n>> +\tsrl\t%o4, 24, %o5\n>> +\tstb\t%o5, [%o0]\n>> +\tbne,pt\t%icc, .Lw1cp\n>> +\t inc\t%o0\n>> +\tdec\t1, %o2\n>> +\tandn\t%o2, 3, %o3\t/* i3 is aligned word count  */\n>> +\tdec\t4, %o3\t\t/* avoid reading beyond tail of src  */\n>> +\tsub\t%o1, %o0, %o1\t/* i1 gets the difference  */\n>> +\n>> +1:\tsll\t%o4, 8, %g1\t/* save residual bytes  */\n>> +\tlduw\t[%o1+%o0], %o4\n>> +\tdeccc\t4, %o3\n>> +\tsrl\t%o4, 24, %o5\t/* merge with residual  */\n>> +\tor\t%o5, %g1, %g1\n>> +\tst\t%g1, [%o0]\n>> +\tbnz,pt\t%XCC, 1b\n>> +\t inc\t4, %o0\n>> +\tsub\t%o1, 3, %o1\t/* used one byte of last word read  */\n>> +\tand\t%o2, 3, %o2\n>> +\tb\t7f\n>> +\t inc\t4, %o2\n>> +\n>> +.Lw1cp:\n>> +\tsrl\t%o4, 8, %o5\n>> +\tsth\t%o5, [%o0]\n>> +\tinc\t2, %o0\n>> +\tdec\t3, %o2\n>> +\tandn\t%o2, 3, %o3\n>> +\tdec\t4, %o3\t\t/* avoid reading beyond tail of src  */\n>> +\tsub\t%o1, %o0, %o1\t/* i1 gets the difference  */\n>> +\n>> +2:\tsll\t%o4, 24, %g1\t/* save residual bytes  */\n>> +\tlduw\t[%o1+%o0], %o4\n>> +\tdeccc\t4, %o3\n>> +\tsrl\t%o4, 8, %o5\t/* merge with residual  */\n>> +\tor\t%o5, %g1, %g1\n>> +\tst\t%g1, [%o0]\n>> +\tbnz,pt\t%XCC, 2b\n>> +\t inc\t4, %o0\n>> +\tsub\t%o1, 1, %o1\t/* used three bytes of last word read  */\n>> +\tand\t%o2, 3, %o2\n>> +\tb\t7f\n>> +\tinc\t4, %o2\n> Delay slot - indent instruction with one space.\n>\n>> +\n>> +.Lw2cp:\n>> +\tlduw\t[%o1], %o4\n>> +\tinc\t4, %o1\n>> +\tsrl\t%o4, 16, %o5\n>> +\tsth\t%o5, [%o0]\n>> +\tinc\t2, %o0\n>> +\tdec\t2, %o2\n>> +\tandn\t%o2, 3, %o3\t/* i3 is aligned word count  */\n>> +\tdec\t4, %o3\t\t/* avoid reading beyond tail of src  */\n>> +\tsub\t%o1, %o0, %o1\t/* i1 gets the difference  */\n>> +\n>> +3:\tsll\t%o4, 16, %g1\t/* save residual bytes  */\n>> +\tlduw\t[%o1+%o0], %o4\n>> +\tdeccc\t4, %o3\n>> +\tsrl\t%o4, 16, %o5\t/* merge with residual  */\n>> +\tor\t%o5, %g1, %g1\n>> +\tst\t%g1, [%o0]\n>> +\tbnz,pt\t%XCC, 3b\n>> +\t inc\t4, %o0\n>> +\tsub\t%o1, 2, %o1\t/* used two bytes of last word read  */\n>> +\tand\t%o2, 3, %o2\n>> +\tb\t7f\n>> +\t inc\t4, %o2\n>> +\n>> +.Lw4cp:\n>> +\tandn\t%o2, 3, %o3\t/* i3 is aligned word count  */\n>> +\tsub\t%o1, %o0, %o1\t/* i1 gets the difference  */\n>> +\n>> +1:\tlduw\t[%o1+%o0], %o4\t/* read from address  */\n>> +\tdeccc\t4, %o3\t\t/* decrement count  */\n>> +\tst\t%o4, [%o0]\t/* write at destination address  */\n>> +\tbg,pt\t%XCC, 1b\n>> +\t inc\t4, %o0\t\t/* increment to address  */\n>> +\tb\t7f\n>> +\t and\t%o2, 3, %o2\t/* number of leftover bytes, if any  */\n>> +\n>> +/*\n>> + * differenced byte copy, works with any alignment\n>> + */\n>> +.Ldbytecp:\n>> +\tb\t7f\n>> +\t sub\t%o1, %o0, %o1\t/* i1 gets the difference  */\n>> +\n>> +4:\tstb\t%o4, [%o0]\t/* write to address  */\n>> +\tinc\t%o0\t\t/* inc to address  */\n>> +7:\tdeccc\t%o2\t\t/* decrement count  */\n>> +\tbge,a\t%XCC, 4b\t/* loop till done  */\n>> +\t ldub\t[%o1+%o0], %o4\t/* read from address  */\n>> +\tretl\n>> +\t mov\t%g2, %o0\t/* return pointer to destination  */\n>> +\n>> +/*\n>> + * an overlapped copy that must be done \"backwards\"\n>> + */\n>> +.Lovbc:\n>> +\tadd\t%o1, %o2, %o1\t/* get to end of source space  */\n>> +\tadd\t%o0, %o2, %o0\t/* get to end of destination space  */\n>> +\tsub\t%o1, %o0, %o1\t/* i1 gets the difference  */\n>> +\n>> +5:\tdec\t%o0\t\t/* decrement to address  */\n>> +\tldub\t[%o1+%o0], %o3\t/* read a byte  */\n>> +\tdeccc\t%o2\t\t/* decrement count  */\n>> +\tbg,pt\t%XCC, 5b \t/* loop until done  */\n>> +\t stb\t%o3, [%o0]\t/* write byte  */\n>> +\tretl\n>> +\t mov\t%g2, %o0\t/* return pointer to destination  */\n>> +END(memmove)\n>> +\n>> +libc_hidden_builtin_def (memmove)","headers":{"Return-Path":"<libc-alpha-return-85076-incoming=patchwork.ozlabs.org@sourceware.org>","X-Original-To":"incoming@patchwork.ozlabs.org","Delivered-To":["patchwork-incoming@bilbo.ozlabs.org","mailing list libc-alpha@sourceware.org"],"Authentication-Results":["ozlabs.org;\n\tspf=pass (mailfrom) smtp.mailfrom=sourceware.org\n\t(client-ip=209.132.180.131; helo=sourceware.org;\n\tenvelope-from=libc-alpha-return-85076-incoming=patchwork.ozlabs.org@sourceware.org;\n\treceiver=<UNKNOWN>)","ozlabs.org; dkim=pass (1024-bit key;\n\tsecure) header.d=sourceware.org header.i=@sourceware.org\n\theader.b=\"MNbN2Cic\"; dkim-atps=neutral","sourceware.org; auth=none"],"Received":["from sourceware.org (server1.sourceware.org [209.132.180.131])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256\n\tbits)) (No client certificate requested)\n\tby ozlabs.org (Postfix) with ESMTPS id 3y2xQH62YBz9t5x\n\tfor <incoming@patchwork.ozlabs.org>;\n\tFri, 29 Sep 2017 00:09:27 +1000 (AEST)","(qmail 67777 invoked by alias); 28 Sep 2017 14:09:20 -0000","(qmail 67215 invoked by uid 89); 28 Sep 2017 14:09:20 -0000"],"DomainKey-Signature":"a=rsa-sha1; c=nofws; d=sourceware.org; h=list-id\n\t:list-unsubscribe:list-subscribe:list-archive:list-post\n\t:list-help:sender:subject:to:references:from:message-id:date\n\t:mime-version:in-reply-to:content-type\n\t:content-transfer-encoding; q=dns; s=default; b=urvWgeoU6pl87pep\n\tZGmHwhsCaM19BMePi4MFzaXW/hsV4ZIWtwrTV7lRU/SzQV9Qa+1IjvV3M21FBbP4\n\tRXs0UY2ejkdMPwidFVNDcq4mLhGOBvbItr5GsQITQM3/xcfWdX7yObBCUskpUVof\n\ti5/J8+7M1fYSTGy9bF06Ut8OBpI=","DKIM-Signature":"v=1; a=rsa-sha1; c=relaxed; d=sourceware.org; h=list-id\n\t:list-unsubscribe:list-subscribe:list-archive:list-post\n\t:list-help:sender:subject:to:references:from:message-id:date\n\t:mime-version:in-reply-to:content-type\n\t:content-transfer-encoding; s=default; bh=YHvXkZx9E9awJ0Kl5L3cCh\n\tWT5R4=; b=MNbN2Cic2otdR005cdw2l4OCsj8GtZUTkHov06QTaKypFouHu+MrDn\n\tBokgqwz9GcD/B31lPVr8FGLpUH5lUjAs9L2gSzEkJZ0qcaIggWWbcUrh0pAHrKPS\n\ttup4pG37gSUzy1htDu71+x4N5TBdc8s+qia/W+Sovh+QKE3fjgRUc=","Mailing-List":"contact libc-alpha-help@sourceware.org; run by ezmlm","Precedence":"bulk","List-Id":"<libc-alpha.sourceware.org>","List-Unsubscribe":"<mailto:libc-alpha-unsubscribe-incoming=patchwork.ozlabs.org@sourceware.org>","List-Subscribe":"<mailto:libc-alpha-subscribe@sourceware.org>","List-Archive":"<http://sourceware.org/ml/libc-alpha/>","List-Post":"<mailto:libc-alpha@sourceware.org>","List-Help":"<mailto:libc-alpha-help@sourceware.org>,\n\t<http://sourceware.org/ml/#faqs>","Sender":"libc-alpha-owner@sourceware.org","X-Virus-Found":"No","X-Spam-SWARE-Status":"No, score=0.1 required=5.0 tests=BAYES_00,\n\tRP_MATCHES_RCVD, SPF_PASS,\n\tUNSUBSCRIBE_BODY autolearn=no version=3.3.2 spammy=H*u:6.3,\n\tH*UA:6.3","X-HELO":"userp1040.oracle.com","Subject":"Re: [PATCH 2/3] sparc: assembly version of memmove for ultra1+","To":"libc-alpha@sourceware.org","References":"<1506542999-97895-1-git-send-email-patrick.mcgehearty@oracle.com>\n\t<1506542999-97895-2-git-send-email-patrick.mcgehearty@oracle.com>\n\t<1506542999-97895-3-git-send-email-patrick.mcgehearty@oracle.com>\n\t<20170927204005.GA28921@ravnborg.org>","From":"Patrick McGehearty <patrick.mcgehearty@oracle.com>","Message-ID":"<3733fb6f-aa43-9564-6283-009400c5be93@oracle.com>","Date":"Thu, 28 Sep 2017 09:09:13 -0500","User-Agent":"Mozilla/5.0 (Windows NT 6.3; WOW64; rv:52.0) Gecko/20100101\n\tThunderbird/52.3.0","MIME-Version":"1.0","In-Reply-To":"<20170927204005.GA28921@ravnborg.org>","Content-Type":"text/plain; charset=utf-8; format=flowed","Content-Transfer-Encoding":"7bit"}},{"id":1777147,"web_url":"http://patchwork.ozlabs.org/comment/1777147/","msgid":"<5d37c853-fdf2-5070-c5c6-152f1dca75f2@linaro.org>","list_archive_url":null,"date":"2017-09-28T16:17:47","subject":"Re: [PATCH 2/3] sparc: assembly version of memmove for ultra1+","submitter":{"id":66065,"url":"http://patchwork.ozlabs.org/api/people/66065/","name":"Adhemerval Zanella Netto","email":"adhemerval.zanella@linaro.org"},"content":"On 27/09/2017 13:09, Patrick McGehearty wrote:\n> diff --git a/sysdeps/sparc/sparc32/sparcv9/rtld-memmove.c b/sysdeps/sparc/sparc32/sparcv9/rtld-memmove.c\n> new file mode 100644\n> index 0000000..a2fe190\n> --- /dev/null\n> +++ b/sysdeps/sparc/sparc32/sparcv9/rtld-memmove.c\n> @@ -0,0 +1 @@\n> +#include <sparc64/rtld-memmove.c>\n\nI will try to avoid these cross-reference arch references (it is a source of\nproblems for future cleanups and consolidations), just use the default\nimplementation directly.\n\nAlso, since you are adding a new default sparc64 implementation, why can't\nyou use it for the loader?","headers":{"Return-Path":"<libc-alpha-return-85082-incoming=patchwork.ozlabs.org@sourceware.org>","X-Original-To":"incoming@patchwork.ozlabs.org","Delivered-To":["patchwork-incoming@bilbo.ozlabs.org","mailing list libc-alpha@sourceware.org"],"Authentication-Results":["ozlabs.org;\n\tspf=pass (mailfrom) smtp.mailfrom=sourceware.org\n\t(client-ip=209.132.180.131; helo=sourceware.org;\n\tenvelope-from=libc-alpha-return-85082-incoming=patchwork.ozlabs.org@sourceware.org;\n\treceiver=<UNKNOWN>)","ozlabs.org; dkim=pass (1024-bit key;\n\tsecure) header.d=sourceware.org header.i=@sourceware.org\n\theader.b=\"Gzm7e2Rq\"; dkim-atps=neutral","sourceware.org; auth=none"],"Received":["from sourceware.org (server1.sourceware.org [209.132.180.131])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256\n\tbits)) (No client certificate requested)\n\tby ozlabs.org (Postfix) with ESMTPS id 3y30Gg3zjLz9t6K\n\tfor <incoming@patchwork.ozlabs.org>;\n\tFri, 29 Sep 2017 02:18:03 +1000 (AEST)","(qmail 73453 invoked by alias); 28 Sep 2017 16:17:52 -0000","(qmail 72826 invoked by uid 89); 28 Sep 2017 16:17:51 -0000"],"DomainKey-Signature":"a=rsa-sha1; c=nofws; d=sourceware.org; h=list-id\n\t:list-unsubscribe:list-subscribe:list-archive:list-post\n\t:list-help:sender:subject:to:references:from:message-id:date\n\t:mime-version:in-reply-to:content-type\n\t:content-transfer-encoding; q=dns; s=default; b=FVX0Ji96ubh8Pudw\n\t1vPvvfAmrro5kzGN5JAtBhlrnfYiTfaQrdQ5nlLaowsKOCg8k3fm8uylT+SQPR3G\n\tSXWjA/LVBXPyXl7re7DQLKZOTWS1Klp3wku2IRShg0WkvYnmRGRqxawvOXUWgFgg\n\tpUoC3dY+GtDnhnyruC3CgD0rnkk=","DKIM-Signature":"v=1; a=rsa-sha1; c=relaxed; d=sourceware.org; h=list-id\n\t:list-unsubscribe:list-subscribe:list-archive:list-post\n\t:list-help:sender:subject:to:references:from:message-id:date\n\t:mime-version:in-reply-to:content-type\n\t:content-transfer-encoding; s=default; bh=ka+OTPLqCcRd96eOMMwj2S\n\ty1jfY=; b=Gzm7e2RqhbZpt8aD2HI8+haLdXM47zERT5TVL8b33aSlQZ4G0istC+\n\tsQgUmZLj80sDbdIvMTozZhbCfmgIq3rjzhtUn/eVoeGpXhygcvwN1e/o5+6kB2xM\n\tyAdS3RAKKJJi+LiB+5JHCGC/7aXB5Z4CcM/qtbLqF31L1sCxJ9S1I=","Mailing-List":"contact libc-alpha-help@sourceware.org; run by ezmlm","Precedence":"bulk","List-Id":"<libc-alpha.sourceware.org>","List-Unsubscribe":"<mailto:libc-alpha-unsubscribe-incoming=patchwork.ozlabs.org@sourceware.org>","List-Subscribe":"<mailto:libc-alpha-subscribe@sourceware.org>","List-Archive":"<http://sourceware.org/ml/libc-alpha/>","List-Post":"<mailto:libc-alpha@sourceware.org>","List-Help":"<mailto:libc-alpha-help@sourceware.org>,\n\t<http://sourceware.org/ml/#faqs>","Sender":"libc-alpha-owner@sourceware.org","X-Virus-Found":"No","X-Spam-SWARE-Status":"No, score=-25.4 required=5.0 tests=AWL, BAYES_00,\n\tGIT_PATCH_0, GIT_PATCH_1, GIT_PATCH_2, GIT_PATCH_3,\n\tRCVD_IN_DNSWL_NONE, RCVD_IN_SORBS_SPAM,\n\tSPF_PASS autolearn=ham version=3.3.2 spammy=consolidations","X-HELO":"mail-pf0-f177.google.com","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20161025;\n\th=x-gm-message-state:subject:to:references:from:message-id:date\n\t:user-agent:mime-version:in-reply-to:content-transfer-encoding\n\t:content-language;\n\tbh=9Nsrqcc1ryy7Nx7WIHPLvuKuyXMGeVoSUIZHGjRWECs=;\n\tb=pP0Mqr73OwdCFH/YA6nKQRttSTo0685cragxhdccEX6nGhDd+N9MNFZp66PNrwfnHq\n\tZlq7owGr2XKu4cN6DQ2HvnMwmEBsx3957Od9+zeJWjnmd+gvpLjyJ8oy5/Tz/MgxfTGE\n\tSQ3KgiX96E1RXydZ6xy18PTc6GknMS1S+kPFXftswpvLiFLZFyFHky/0IYjwIPBxp/tE\n\tqfxqsIBxQI+w6ZLBIriEHoMzvKQ8/uKy6ypiHSV4O8dy3OXceKrJ77D2ej24k0wQT7FT\n\tzX62Gybzd788gc6zHxi3nI9fjle9Kl+RYQb2Y7BmtorVGUDgp7BudjIF9mmaqK/XOFxk\n\tKr7Q==","X-Gm-Message-State":"AHPjjUhT9bDGExxtwwSCDv0O8Xc7+lKkfWq9FHBv6+ITbtnukPjKGJBb\n\tAlRIcae7ODQT2vm2ahoNoJJQws6oUNU=","X-Google-Smtp-Source":"AOwi7QA4yRGavGSBgoN+umexZeBpmxEXIgpqRSkTx6usfAOlJLyIGdS2/8OeVQhV7NxinuvGWE6Xag==","X-Received":"by 10.84.232.135 with SMTP id i7mr4589158plk.104.1506615468073; \n\tThu, 28 Sep 2017 09:17:48 -0700 (PDT)","Subject":"Re: [PATCH 2/3] sparc: assembly version of memmove for ultra1+","To":"libc-alpha@sourceware.org","References":"<1506542999-97895-1-git-send-email-patrick.mcgehearty@oracle.com>\n\t<1506542999-97895-2-git-send-email-patrick.mcgehearty@oracle.com>\n\t<1506542999-97895-3-git-send-email-patrick.mcgehearty@oracle.com>","From":"Adhemerval Zanella <adhemerval.zanella@linaro.org>","Message-ID":"<5d37c853-fdf2-5070-c5c6-152f1dca75f2@linaro.org>","Date":"Thu, 28 Sep 2017 09:17:47 -0700","User-Agent":"Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101\n\tThunderbird/52.3.0","MIME-Version":"1.0","In-Reply-To":"<1506542999-97895-3-git-send-email-patrick.mcgehearty@oracle.com>","Content-Type":"text/plain; charset=utf-8","Content-Transfer-Encoding":"quoted-printable"}},{"id":1777216,"web_url":"http://patchwork.ozlabs.org/comment/1777216/","msgid":"<4b808f5b-f492-1404-ad10-6172026ee14c@oracle.com>","list_archive_url":null,"date":"2017-09-28T18:35:18","subject":"Re: [PATCH 2/3] sparc: assembly version of memmove for ultra1+","submitter":{"id":72081,"url":"http://patchwork.ozlabs.org/api/people/72081/","name":"Patrick McGehearty","email":"patrick.mcgehearty@oracle.com"},"content":"On 9/28/2017 11:17 AM, Adhemerval Zanella wrote:\n>\n> On 27/09/2017 13:09, Patrick McGehearty wrote:\n>> diff --git a/sysdeps/sparc/sparc32/sparcv9/rtld-memmove.c b/sysdeps/sparc/sparc32/sparcv9/rtld-memmove.c\n>> new file mode 100644\n>> index 0000000..a2fe190\n>> --- /dev/null\n>> +++ b/sysdeps/sparc/sparc32/sparcv9/rtld-memmove.c\n>> @@ -0,0 +1 @@\n>> +#include <sparc64/rtld-memmove.c>\n> I will try to avoid these cross-reference arch references (it is a source of\n> problems for future cleanups and consolidations), just use the default\n> implementation directly.\n>\n> Also, since you are adding a new default sparc64 implementation, why can't\n> you use it for the loader?\n>\n>\nThe pattern above is widely used in sparc32 code.\n\nExamples include in sysdeps/sparc/sparc32/sparcv9:\nrawmemchr.S, rtld-memcpy.c, rtld-memmove.c, rtld-memset.c,\nstpcpy.S, stpncpy.S, strcat.S, strchr.S, strcmp.S,\nstrcpy.S, strcspn.S, strlen.S, strncmp.S, strncpy.S,\nstrpbrk.S, strspn.S\n\nand in sysdeps/sparc/sparc32/sparcv9/multiarch::\nmemcpy-niagara1.S, memcpy-niagara2.S, memcpy-niagara4.S,\nmemcpy.S, memcpy-ultra3.S, memmove.S, memset-niagara1.S,\nmemset-niagara4.S, memset.S, rtld-memcpy.c,\nrtld-memmove.c, rtld-memset.c, sha256-block.c,\nsha256-crop.S, sha512-block.c, sha512-crop.S\n\nIt would add to implementation complexity to have\ntwo different methods in use for similar purposes.\nRevising the current method on such a range of\nfunctions is beyond the scope of this patch set.\n\n- patrick","headers":{"Return-Path":"<libc-alpha-return-85090-incoming=patchwork.ozlabs.org@sourceware.org>","X-Original-To":"incoming@patchwork.ozlabs.org","Delivered-To":["patchwork-incoming@bilbo.ozlabs.org","mailing list libc-alpha@sourceware.org"],"Authentication-Results":["ozlabs.org;\n\tspf=pass (mailfrom) smtp.mailfrom=sourceware.org\n\t(client-ip=209.132.180.131; helo=sourceware.org;\n\tenvelope-from=libc-alpha-return-85090-incoming=patchwork.ozlabs.org@sourceware.org;\n\treceiver=<UNKNOWN>)","ozlabs.org; dkim=pass (1024-bit key;\n\tsecure) header.d=sourceware.org header.i=@sourceware.org\n\theader.b=\"cjCevGDx\"; dkim-atps=neutral","sourceware.org; auth=none"],"Received":["from sourceware.org (server1.sourceware.org [209.132.180.131])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256\n\tbits)) (No client certificate requested)\n\tby ozlabs.org (Postfix) with ESMTPS id 3y33KF62gcz9tX5\n\tfor <incoming@patchwork.ozlabs.org>;\n\tFri, 29 Sep 2017 04:35:29 +1000 (AEST)","(qmail 99886 invoked by alias); 28 Sep 2017 18:35:23 -0000","(qmail 99873 invoked by uid 89); 28 Sep 2017 18:35:22 -0000"],"DomainKey-Signature":"a=rsa-sha1; c=nofws; d=sourceware.org; h=list-id\n\t:list-unsubscribe:list-subscribe:list-archive:list-post\n\t:list-help:sender:subject:to:references:from:message-id:date\n\t:mime-version:in-reply-to:content-type\n\t:content-transfer-encoding; q=dns; s=default; b=HebYtsOd75tlxA94\n\tAwTdRQPuL3X+W9nlwWPMeZai48rDY9/dX9Xfmit7Z4jMsDIZ2SRxP7ecuZ2+Y047\n\tJzWIg6OvCX7yysGNiNAaEkVs+V/DUhE4ReJyCavlIoVRyH/u9BHQW04IIr3Or9oq\n\tCZvBaDMMmfUho9dLU7sG1HRTV38=","DKIM-Signature":"v=1; a=rsa-sha1; c=relaxed; d=sourceware.org; h=list-id\n\t:list-unsubscribe:list-subscribe:list-archive:list-post\n\t:list-help:sender:subject:to:references:from:message-id:date\n\t:mime-version:in-reply-to:content-type\n\t:content-transfer-encoding; s=default; bh=lc8koMP+x927lFI2mV4WR+\n\tYsqR0=; b=cjCevGDxi9QnI8UZzur+OSYHRXUDzcA0ngqsR4hMzQsOj8S7aULfOd\n\tKKrYm9hvuFecXKAwFp+ZHUxxmzUrA29XlJXMvkUufscRDbmIxZJLf681jrR6eYv3\n\tk3HSUAYaU8TuEq6esOckT3KSe3aXSGTbI5mNzVAJyULwSQdINUlUI=","Mailing-List":"contact libc-alpha-help@sourceware.org; run by ezmlm","Precedence":"bulk","List-Id":"<libc-alpha.sourceware.org>","List-Unsubscribe":"<mailto:libc-alpha-unsubscribe-incoming=patchwork.ozlabs.org@sourceware.org>","List-Subscribe":"<mailto:libc-alpha-subscribe@sourceware.org>","List-Archive":"<http://sourceware.org/ml/libc-alpha/>","List-Post":"<mailto:libc-alpha@sourceware.org>","List-Help":"<mailto:libc-alpha-help@sourceware.org>,\n\t<http://sourceware.org/ml/#faqs>","Sender":"libc-alpha-owner@sourceware.org","X-Virus-Found":"No","X-Spam-SWARE-Status":"No, score=-26.9 required=5.0 tests=BAYES_00, GIT_PATCH_0,\n\tGIT_PATCH_1, GIT_PATCH_2, GIT_PATCH_3, RP_MATCHES_RCVD,\n\tSPF_PASS autolearn=ham version=3.3.2 spammy=H*u:6.3, H*UA:6.3,\n\tHX-Envelope-From:sk:patrick","X-HELO":"aserp1040.oracle.com","Subject":"Re: [PATCH 2/3] sparc: assembly version of memmove for ultra1+","To":"libc-alpha@sourceware.org","References":"<1506542999-97895-1-git-send-email-patrick.mcgehearty@oracle.com>\n\t<1506542999-97895-2-git-send-email-patrick.mcgehearty@oracle.com>\n\t<1506542999-97895-3-git-send-email-patrick.mcgehearty@oracle.com>\n\t<5d37c853-fdf2-5070-c5c6-152f1dca75f2@linaro.org>","From":"Patrick McGehearty <patrick.mcgehearty@oracle.com>","Message-ID":"<4b808f5b-f492-1404-ad10-6172026ee14c@oracle.com>","Date":"Thu, 28 Sep 2017 13:35:18 -0500","User-Agent":"Mozilla/5.0 (Windows NT 6.3; WOW64; rv:52.0) Gecko/20100101\n\tThunderbird/52.3.0","MIME-Version":"1.0","In-Reply-To":"<5d37c853-fdf2-5070-c5c6-152f1dca75f2@linaro.org>","Content-Type":"text/plain; charset=utf-8; format=flowed","Content-Transfer-Encoding":"7bit"}},{"id":1777243,"web_url":"http://patchwork.ozlabs.org/comment/1777243/","msgid":"<91b26692-9480-b90d-f0c8-d3bc151377af@linaro.org>","list_archive_url":null,"date":"2017-09-28T19:14:46","subject":"Re: [PATCH 2/3] sparc: assembly version of memmove for ultra1+","submitter":{"id":66065,"url":"http://patchwork.ozlabs.org/api/people/66065/","name":"Adhemerval Zanella Netto","email":"adhemerval.zanella@linaro.org"},"content":"On 28/09/2017 11:35, Patrick McGehearty wrote:\n> On 9/28/2017 11:17 AM, Adhemerval Zanella wrote:\n>>\n>> On 27/09/2017 13:09, Patrick McGehearty wrote:\n>>> diff --git a/sysdeps/sparc/sparc32/sparcv9/rtld-memmove.c\n>>> b/sysdeps/sparc/sparc32/sparcv9/rtld-memmove.c\n>>> new file mode 100644\n>>> index 0000000..a2fe190\n>>> --- /dev/null\n>>> +++ b/sysdeps/sparc/sparc32/sparcv9/rtld-memmove.c\n>>> @@ -0,0 +1 @@\n>>> +#include <sparc64/rtld-memmove.c>\n>> I will try to avoid these cross-reference arch references (it is a\n>> source of\n>> problems for future cleanups and consolidations), just use the default\n>> implementation directly.\n>>\n>> Also, since you are adding a new default sparc64 implementation, why\n>> can't\n>> you use it for the loader?\n>>\n>>\n> The pattern above is widely used in sparc32 code.\n>\n> Examples include in sysdeps/sparc/sparc32/sparcv9:\n> rawmemchr.S, rtld-memcpy.c, rtld-memmove.c, rtld-memset.c,\n> stpcpy.S, stpncpy.S, strcat.S, strchr.S, strcmp.S,\n> strcpy.S, strcspn.S, strlen.S, strncmp.S, strncpy.S,\n> strpbrk.S, strspn.S\n>\n> and in sysdeps/sparc/sparc32/sparcv9/multiarch::\n> memcpy-niagara1.S, memcpy-niagara2.S, memcpy-niagara4.S,\n> memcpy.S, memcpy-ultra3.S, memmove.S, memset-niagara1.S,\n> memset-niagara4.S, memset.S, rtld-memcpy.c,\n> rtld-memmove.c, rtld-memset.c, sha256-block.c,\n> sha256-crop.S, sha512-block.c, sha512-crop.S\n>\n> It would add to implementation complexity to have\n> two different methods in use for similar purposes.\n> Revising the current method on such a range of\n> functions is beyond the scope of this patch set.\n>\n> - patrick\n>\nFair enough, although I am only suggesting adequate for current patch\n(not really change on other files).","headers":{"Return-Path":"<libc-alpha-return-85092-incoming=patchwork.ozlabs.org@sourceware.org>","X-Original-To":"incoming@patchwork.ozlabs.org","Delivered-To":["patchwork-incoming@bilbo.ozlabs.org","mailing list libc-alpha@sourceware.org"],"Authentication-Results":["ozlabs.org;\n\tspf=pass (mailfrom) smtp.mailfrom=sourceware.org\n\t(client-ip=209.132.180.131; helo=sourceware.org;\n\tenvelope-from=libc-alpha-return-85092-incoming=patchwork.ozlabs.org@sourceware.org;\n\treceiver=<UNKNOWN>)","ozlabs.org; dkim=pass (1024-bit key;\n\tsecure) header.d=sourceware.org header.i=@sourceware.org\n\theader.b=\"ScTa5dtM\"; dkim-atps=neutral","sourceware.org; auth=none"],"Received":["from sourceware.org (server1.sourceware.org [209.132.180.131])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256\n\tbits)) (No client certificate requested)\n\tby ozlabs.org (Postfix) with ESMTPS id 3y34Bn1Zspz9t6C\n\tfor <incoming@patchwork.ozlabs.org>;\n\tFri, 29 Sep 2017 05:14:57 +1000 (AEST)","(qmail 81496 invoked by alias); 28 Sep 2017 19:14:51 -0000","(qmail 81483 invoked by uid 89); 28 Sep 2017 19:14:50 -0000"],"DomainKey-Signature":"a=rsa-sha1; c=nofws; d=sourceware.org; h=list-id\n\t:list-unsubscribe:list-subscribe:list-archive:list-post\n\t:list-help:sender:subject:to:references:from:message-id:date\n\t:mime-version:in-reply-to:content-type\n\t:content-transfer-encoding; q=dns; s=default; b=g6fOjtw56ZSOAUNM\n\tnopEcCq1egS4TDkFQHa0Ntiznxdai/LdY50b17QI1bUDKdO0D7zMzp89sBlwgasf\n\t2Bnerk8HNOujJ4kzyG1kZcrCvMoxHmtTtFCXluAFsAtOA57F73wt2dGNg4rEMFJi\n\t4mmZ8GhUc27fHQTrNobX39feZR8=","DKIM-Signature":"v=1; a=rsa-sha1; c=relaxed; d=sourceware.org; h=list-id\n\t:list-unsubscribe:list-subscribe:list-archive:list-post\n\t:list-help:sender:subject:to:references:from:message-id:date\n\t:mime-version:in-reply-to:content-type\n\t:content-transfer-encoding; s=default; bh=sYKspfVf4DAdEpL7uLNSzi\n\tI29dY=; b=ScTa5dtMiRN1A2nH3xmi7AYpvcHXbm3ZHEmtsw3TkpB6rMkiozphoy\n\tmi12AtAQ+QBOUaa1s2hV4IcgoqSlro2c1rse0+GRTcHpfmnjr1gjz2qreoRsvzlN\n\tuT+znt6GM0I8z16lHlXgYmc+eY8jJq31Ms72vbdVnPv6an+gDJJus=","Mailing-List":"contact libc-alpha-help@sourceware.org; run by ezmlm","Precedence":"bulk","List-Id":"<libc-alpha.sourceware.org>","List-Unsubscribe":"<mailto:libc-alpha-unsubscribe-incoming=patchwork.ozlabs.org@sourceware.org>","List-Subscribe":"<mailto:libc-alpha-subscribe@sourceware.org>","List-Archive":"<http://sourceware.org/ml/libc-alpha/>","List-Post":"<mailto:libc-alpha@sourceware.org>","List-Help":"<mailto:libc-alpha-help@sourceware.org>,\n\t<http://sourceware.org/ml/#faqs>","Sender":"libc-alpha-owner@sourceware.org","X-Virus-Found":"No","X-Spam-SWARE-Status":"No, score=-26.2 required=5.0 tests=AWL, BAYES_00,\n\tGIT_PATCH_0, GIT_PATCH_1, GIT_PATCH_2, GIT_PATCH_3,\n\tRCVD_IN_DNSWL_NONE,\n\tSPF_PASS autolearn=ham version=3.3.2 spammy=Fair","X-HELO":"mail-pf0-f182.google.com","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20161025;\n\th=x-gm-message-state:subject:to:references:from:message-id:date\n\t:user-agent:mime-version:in-reply-to:content-transfer-encoding\n\t:content-language;\n\tbh=meaxrDAQ2D5GCWjPtx+tcMTuGCXWWt3jotNgvBk9aYM=;\n\tb=asuOpldfoi0/N8WvzEDCjmi7j/Y+23FCKpBeNCyeU7EwOE/QMbeeVD/yXwAAyrjxeC\n\t1LKHxyrboZW5b11U6NVowVWrRSPE1QMcGvCeSgr4TiuubA51luKFIY0IOnZ+EYm0uXeM\n\tG6BZ/QtNBVB64J2e2yNHiB/UPmjPCbm5vLznT7geh1cOxC55CqDw7gelJJ2it31+nTqP\n\tisJT3++D6u3iYK73YZrNCXSSUfTneCR7VgEIQvjg+Wg9A68/IsSs4AiX0mWTNus5sms3\n\tXo61MpNSiJdfpJ1TRhDTZdgqyVkayx9kDQlHdTUtc1/Nm+nnkQUh9WemJop1gjtrXt8r\n\tYboA==","X-Gm-Message-State":"AHPjjUj8b1npj3j92hbhmsUEqs2Z1G76I2PjR0BiEUUu1fS8HPYJ2l10\n\tY7VayD0ehTVyGzuqdPgH6I3fAYHUsv0=","X-Google-Smtp-Source":"AOwi7QATavHapL/1bs4VckwO8gsmb85EDGHxA+hxb3PGOFI1k7WEsMbvweQvGTyQmbEMR71xpqFAmQ==","X-Received":"by 10.99.188.25 with SMTP id q25mr5055805pge.54.1506626087348;\n\tThu, 28 Sep 2017 12:14:47 -0700 (PDT)","Subject":"Re: [PATCH 2/3] sparc: assembly version of memmove for ultra1+","To":"libc-alpha@sourceware.org","References":"<1506542999-97895-1-git-send-email-patrick.mcgehearty@oracle.com>\n\t<1506542999-97895-2-git-send-email-patrick.mcgehearty@oracle.com>\n\t<1506542999-97895-3-git-send-email-patrick.mcgehearty@oracle.com>\n\t<5d37c853-fdf2-5070-c5c6-152f1dca75f2@linaro.org>\n\t<4b808f5b-f492-1404-ad10-6172026ee14c@oracle.com>","From":"Adhemerval Zanella <adhemerval.zanella@linaro.org>","Message-ID":"<91b26692-9480-b90d-f0c8-d3bc151377af@linaro.org>","Date":"Thu, 28 Sep 2017 12:14:46 -0700","User-Agent":"Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101\n\tThunderbird/52.3.0","MIME-Version":"1.0","In-Reply-To":"<4b808f5b-f492-1404-ad10-6172026ee14c@oracle.com>","Content-Type":"text/plain; charset=utf-8","Content-Transfer-Encoding":"7bit"}}]