// Copyright 2013 The Go Authors. All rights reserved. // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. // Routines that are implemented in assembly in asm_{amd64,386}.s // but are implemented in C for arm. package runtime #include "runtime.h" #pragma textflag 7 func cmpstring(s1 String, s2 String) (v int) { uintgo i, l; byte c1, c2; l = s1.len; if(s2.len < l) l = s2.len; for(i=0; i c2) { v = +1; goto done; } } if(s1.len < s2.len) { v = -1; goto done; } if(s1.len > s2.len) { v = +1; goto done; } v = 0; done:; } #pragma textflag 7 func bytes·Compare(s1 Slice, s2 Slice) (v int) { uintgo i, l; byte c1, c2; l = s1.len; if(s2.len < l) l = s2.len; for(i=0; i c2) { v = +1; goto done; } } if(s1.len < s2.len) { v = -1; goto done; } if(s1.len > s2.len) { v = +1; goto done; } v = 0; done:; }