| Alexander Ivchenko | baa91f4 | 2013-06-27 12:55:46 +0400 | [diff] [blame] | 1 | /* | 
|  | 2 | Copyright (c) 2013 Intel Corporation | 
|  | 3 | All rights reserved. | 
|  | 4 |  | 
|  | 5 | Redistribution and use in source and binary forms, with or without | 
|  | 6 | modification, are permitted provided that the following conditions are met: | 
|  | 7 |  | 
|  | 8 | * Redistributions of source code must retain the above copyright notice, | 
|  | 9 | * this list of conditions and the following disclaimer. | 
|  | 10 |  | 
|  | 11 | * Redistributions in binary form must reproduce the above copyright notice, | 
|  | 12 | * this list of conditions and the following disclaimer in the documentation | 
|  | 13 | * and/or other materials provided with the distribution. | 
|  | 14 |  | 
|  | 15 | * Neither the name of Intel Corporation nor the names of its contributors | 
|  | 16 | * may be used to endorse or promote products derived from this software | 
|  | 17 | * without specific prior written permission. | 
|  | 18 |  | 
|  | 19 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND | 
|  | 20 | ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED | 
|  | 21 | WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE | 
|  | 22 | DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR | 
|  | 23 | ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES | 
|  | 24 | (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; | 
|  | 25 | LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON | 
|  | 26 | ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | 
|  | 27 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS | 
|  | 28 | SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | 
|  | 29 | */ | 
|  | 30 |  | 
|  | 31 | #include <stddef.h> | 
|  | 32 |  | 
|  | 33 | /* Unoptimised version of __memcmp16 */ | 
|  | 34 | int __memcmp16(const unsigned short *ptr1, const unsigned short *ptr2, size_t n) | 
|  | 35 | { | 
|  | 36 | size_t i; | 
|  | 37 |  | 
|  | 38 | for (i = 0; i < n; i++) { | 
|  | 39 | if (*ptr1 != *ptr2) | 
|  | 40 | return *ptr1 - *ptr2; | 
|  | 41 | ptr1++; | 
|  | 42 | ptr2++; | 
|  | 43 | } | 
|  | 44 | return 0; | 
|  | 45 | } |