os/ossrv/genericopenlibs/liboil/src/motovec/motovec.c
author sl
Tue, 10 Jun 2014 14:32:02 +0200
changeset 1 260cb5ec6c19
permissions -rw-r--r--
Update contrib.
     1 /*
     2  * LIBOIL - Library of Optimized Inner Loops
     3  * Copyright (c) 2005 David A. Schleef <ds@schleef.org>
     4  * All rights reserved.
     5  *
     6  * Redistribution and use in source and binary forms, with or without
     7  * modification, are permitted provided that the following conditions
     8  * are met:
     9  * 1. Redistributions of source code must retain the above copyright
    10  *    notice, this list of conditions and the following disclaimer.
    11  * 2. Redistributions in binary form must reproduce the above copyright
    12  *    notice, this list of conditions and the following disclaimer in the
    13  *    documentation and/or other materials provided with the distribution.
    14  * 
    15  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
    16  * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    17  * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
    18  * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT,
    19  * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    20  * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
    21  * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
    22  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
    23  * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
    24  * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
    25  * POSSIBILITY OF SUCH DAMAGE.
    26  */
    27 //Portions Copyright (c)  2008-2009 Nokia Corporation and/or its subsidiary(-ies). All rights reserved. 
    28 
    29 #ifdef HAVE_CONFIG_H
    30 #include "config.h"
    31 #endif
    32 
    33 #include <liboil/liboilfunction.h>
    34 
    35 OIL_DECLARE_CLASS(copy_u8);
    36 OIL_DECLARE_CLASS(splat_u8_ns);
    37 
    38 #ifdef HAVE_SYMBOL_UNDERSCORE
    39 void *vec_memcpy(void *dest, void *src, int n);
    40 void *vec_memset(void *dest, int val, int n);
    41 #else
    42 void *_vec_memcpy(void *dest, void *src, int n);
    43 void *_vec_memset(void *dest, int val, int n);
    44 #define vec_memcpy _vec_memcpy
    45 #define vec_memset _vec_memset
    46 #endif
    47 
    48 static void
    49 copy_u8_motovec (uint8_t *dest, uint8_t *src, int n)
    50 {
    51   vec_memcpy(dest, src, n);
    52 }
    53 OIL_DEFINE_IMPL_FULL (copy_u8_motovec, copy_u8, OIL_IMPL_FLAG_ALTIVEC);
    54 
    55 static void
    56 splat_u8_ns_motovec (uint8_t *dest, uint8_t *src, int n)
    57 {
    58   vec_memset(dest, src[0], n);
    59 }
    60 OIL_DEFINE_IMPL_FULL (splat_u8_ns_motovec, splat_u8_ns, OIL_IMPL_FLAG_ALTIVEC);
    61 
    62 
    63 
    64 
    65 
    66 #ifdef	__SYMBIAN32__
    67  
    68 OilFunctionImpl* __oil_function_impl_copy_u8_motovec, copy_u8() {
    69 		return &_oil_function_impl_copy_u8_motovec, copy_u8;
    70 }
    71 #endif
    72 
    73 #ifdef	__SYMBIAN32__
    74  
    75 OilFunctionImpl* __oil_function_impl_splat_u8_ns_motovec, splat_u8_ns() {
    76 		return &_oil_function_impl_splat_u8_ns_motovec, splat_u8_ns;
    77 }
    78 #endif
    79