GCC Middle and Back End API Reference
internal-fn.c File Reference

Functions

static enum insn_code get_multi_vector_move ()
static void expand_LOAD_LANES ()
static void expand_STORE_LANES ()
static void expand_GOMP_SIMD_LANE ()
static void expand_GOMP_SIMD_VF ()
static void expand_GOMP_SIMD_LAST_LANE ()
void expand_internal_call ()

Variables

const char *const internal_fn_name_array []
const int internal_fn_flags_array []
static void(*const internal_fn_expanders [])(gimple)

Function Documentation

static void expand_GOMP_SIMD_LANE ( )
static
This should get expanded in adjust_simduid_builtins.   
static void expand_GOMP_SIMD_LAST_LANE ( )
static
This should get expanded in adjust_simduid_builtins.   
static void expand_GOMP_SIMD_VF ( )
static
This should get expanded in adjust_simduid_builtins.   
void expand_internal_call ( )
Expand STMT, which is a call to internal function FN.   

References gimple_call_internal_fn(), and internal_fn_expanders.

Referenced by expand_call_stmt().

static void expand_STORE_LANES ( )
static
static enum insn_code get_multi_vector_move ( )
static
ARRAY_TYPE is an array of vector modes.  Return the associated insn
   for load-lanes-style optab OPTAB.  The insn must exist.   

References convert_optab_handler().

Referenced by expand_LOAD_LANES(), and expand_STORE_LANES().


Variable Documentation

void(*const internal_fn_expanders[])(gimple)
static
Initial value:
{
#define DEF_INTERNAL_FN(CODE, FLAGS) expand_##CODE,
#include "internal-fn.def"
#undef DEF_INTERNAL_FN
0
}
Routines to expand each internal function, indexed by function number.
   Each routine has the prototype:

       expand_<NAME> (gimple stmt)

   where STMT is the statement that performs the call.  

Referenced by expand_internal_call().

const int internal_fn_flags_array[]
Initial value:
{
#define DEF_INTERNAL_FN(CODE, FLAGS) FLAGS,
#include "internal-fn.def"
#undef DEF_INTERNAL_FN
0
}
The ECF_* flags of each internal function, indexed by function number.   

Referenced by internal_fn_flags().

const char* const internal_fn_name_array[]
Initial value:
{
#define DEF_INTERNAL_FN(CODE, FLAGS) #CODE,
#include "internal-fn.def"
#undef DEF_INTERNAL_FN
"<invalid-fn>"
}
@verbatim Internal functions.

Copyright (C) 2011-2013 Free Software Foundation, Inc.

This file is part of GCC.

GCC is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, or (at your option) any later version.

GCC is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with GCC; see the file COPYING3. If not see http://www.gnu.org/licenses/.

The names of each internal function, indexed by function number.   

Referenced by internal_fn_name().