text: /*
   * Copyright (C) 2009 Advanced Micro Devices, Inc.  All Rights Reserved.
   */
  
  /*
   * Copyright (C) 2006, 2007. QLogic Corporation. All Rights Reserved.
   */
  
  ////////////////////////////////////////////////////////////////////////////////
  //
  // Copyright 2006 PathScale, Inc. All Rights Reserved.
  //
  // This program is free software; you can redistribute it and/or modify it
  // under the terms of version 2 of the GNU General Public License as
  // published by the Free Software Foundation.
  //
  // This program is distributed in the hope that it would be useful, but
  // WITHOUT ANY WARRANTY; without even the implied warranty of
  // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
  //
  // Further, this software is distributed without any warranty that it is
  // free of the rightful claim of any third person regarding infringement
  // or the like.  Any license provided herein, whether implied or
  // otherwise, applies only to this software file.  Patent licenses, if
  // any, provided herein do not apply to combinations of this program with
  // other software, or any other product whatsoever.
  //
  // You should have received a copy of the GNU General Public License along
  // with this program; if not, write the Free Software Foundation, Inc., 59
  // Temple Place - Suite 330, Boston MA 02111-1307, USA.
  ////////////////////////////////////////////////////////////////////////////////
  
  #include <ctype.h>
  #include <stdio.h>
  #include <stdlib.h>
  
  #include "gspin-tree.h" 
  #include "gspin-list.h" 
  #include "gspin-tel.h" 
  #include "gspin-mempool.h" 
  
  struct tree_code_property {
    gs_code_t tree_code;
    signed char arity;
    gs_tree_code_class_t tcc;
    char *name;
  } tree_code_table[] = {
  
   // Generic core stuff:
  
   { DOT,		0,	 GS_TCC_EXCEPTIONAL, "DOT" },
  
   // list
   { EMPTY,	2,	 GS_TCC_EXCEPTIONAL, "EMPTY" }, // 2 instead of 0 so can be changed to CONS
   { CONS,	2,	 GS_TCC_EXCEPTIONAL, "CONS" },
  
   // Inbuilt Constructors:
  
   { IB_INT,	0,	 GS_TCC_EXCEPTIONAL, "IB_INT" },
   { IB_UNSIGNED,	0,	 GS_TCC_EXCEPTIONAL, "IB_UNSIGNED" },
   { IB_LONG_LONG,	0,	 GS_TCC_EXCEPTIONAL, "IB_LONG_LONG" },
   { IB_LONG,	0,	 GS_TCC_EXCEPTIONAL, "IB_LONG" },
   { IB_LONG_DOUBLE,	0,	 GS_TCC_EXCEPTIONAL, "IB_LONG_DOUBLE" },
   { IB_UNSIGNED_LONG,	0,	 GS_TCC_EXCEPTIONAL, "IB_UNSIGNED_LONG" },
   { IB_UNSIGNED_LONG_LONG,	0,	 GS_TCC_EXCEPTIONAL, "IB_UNSIGNED_LONG_LONG" },
   { IB_CHAR,	0,	 GS_TCC_EXCEPTIONAL, "IB_CHAR" },
   { IB_STRING,	0,	 GS_TCC_EXCEPTIONAL, "IB_STRING" },
   { IB_FLOAT,	0,	 GS_TCC_EXCEPTIONAL, "IB_FLOAT" },
   { IB_DOUBLE,	0,	 GS_TCC_EXCEPTIONAL, "IB_DOUBLE" },
   { IB_BOOL,	0,	 GS_TCC_EXCEPTIONAL, "IB_BOOL" },
   { IB_BIT_VECTOR,	0,	 GS_TCC_EXCEPTIONAL, "IB_BIT_VECTOR" },
  
   { GS_TCC,		0,	 GS_TCC_EXCEPTIONAL, "GS_TCC" },
   { GSBI,		0,	 GS_TCC_EXCEPTIONAL, "GSBI" },
   { GSBI_CLASS,		0,	 GS_TCC_EXCEPTIONAL, "GSBI_CLASS" },
  
   // GCC Specific tree codes:
  
   { GS_ABS_EXPR,		13,	 GS_TCC_UNARY, "GS_ABS_EXPR" },
   { GS_ADDR_EXPR,	13,	 GS_TCC_EXPRESSION, "GS_ADDR_EXPR" },
  #ifdef FE_GNU_4_2_0
   { GS_ALIGNOF_EXPR,	13,	 GS_TCC_EXPRESSION, "GS_ALIGNOF_EXPR" },
  #else
   { GS_ALIGNOF_EXPR,	13,	 GS_TCC_UNARY, "GS_ALIGNOF_EXPR" },
  #endif
   { GS_ALIGN_INDIRECT_REF,	13,	 GS_TCC_REFERENCE, "GS_ALIGN_INDIRECT_REF" },
   { GS_ARRAY_RANGE_REF,	13,	 GS_TCC_REFERENCE, "GS_ARRAY_RANGE_REF" },
   { GS_ARRAY_REF,	13,	 GS_TCC_REFERENCE, "GS_ARRAY_REF" },
   { GS_ARRAY_TYPE,	27,	 GS_TCC_TYPE, "GS_ARRAY_TYPE" },
   { GS_ARROW_EXPR,	13,	 GS_TCC_EXPRESSION, "GS_ARROW_EXPR" },
   { GS_ASM_EXPR,		13,	 GS_TCC_STATEMENT, "GS_ASM_EXPR" },
   { GS_ASSIGN_STMT,	13,	 GS_TCC_STATEMENT, "GS_ASSIGN_STMT" },
   { GS_BIND_EXPR,	13,	 GS_TCC_EXPRESSION, "GS_BIND_EXPR" },
   { GS_BIT_AND_EXPR,	13,	 GS_TCC_BINARY, "GS_BIT_AND_EXPR" },
   { GS_BIT_FIELD_REF,	13,	 GS_TCC_REFERENCE, "GS_BIT_FIELD_REF" },
   { GS_BIT_IOR_EXPR,	13,	 GS_TCC_BINARY, "GS_BIT_IOR_EXPR" },
   { GS_BIT_NOT_EXPR,	13,	 GS_TCC_UNARY, "GS_BIT_NOT_EXPR" },
   { GS_BIT_XOR_EXPR,	13,	 GS_TCC_BINARY, "GS_BIT_XOR_EXPR" },
   { GS_BLOCK,		9,	 GS_TCC_EXCEPTIONAL, "GS_BLOCK" },
   { GS_BOOLEAN_TYPE,	27,	 GS_TCC_TYPE, "GS_BOOLEAN_TYPE" },
  #ifdef FE_GNU_4_2_0
   { GS_BREAK_STMT,	13,	 GS_TCC_STATEMENT, "GS_BREAK_STMT" },
  #else
   { GS_BREAK_STMT,	13,	 GS_TCC_EXPRESSION, "GS_BREAK_STMT" },
  #endif
   { GS_CALL_EXPR,	13,	 GS_TCC_EXPRESSION, "GS_CALL_EXPR" },
   { GS_CASE_LABEL_EXPR,	13,	 GS_TCC_STATEMENT, "GS_CASE_LABEL_EXPR" },
   { GS_CATCH_EXPR,	13,	 GS_TCC_STATEMENT, "GS_CATCH_EXPR" },
   { GS_CEIL_DIV_EXPR,	13,	 GS_TCC_BINARY, "GS_CEIL_DIV_EXPR" },
   { GS_CEIL_MOD_EXPR,	13,	 GS_TCC_BINARY, "GS_CEIL_MOD_EXPR" },
   { GS_CHAR_TYPE,	27,	 GS_TCC_TYPE, "GS_CHAR_TYPE" },
   { GS_CLEANUP,		13,	 GS_TCC_STATEMENT, "GS_CLEANUP" },
   { GS_CLEANUP_POINT_EXPR,	13,	 GS_TCC_EXPRESSION, "GS_CLEANUP_POINT_EXPR" },
   { GS_COMPLEX_CST,	7,	 GS_TCC_CONSTANT, "GS_COMPLEX_CST" },
   { GS_COMPLEX_EXPR,	13,	 GS_TCC_BINARY, "GS_COMPLEX_EXPR" },
   { GS_COMPLEX_TYPE,	27,	 GS_TCC_TYPE, "GS_COMPLEX_TYPE" },
   { GS_COMPONENT_REF,	13,	 GS_TCC_REFERENCE, "GS_COMPONENT_REF" },
   { GS_COMPOUND_EXPR,	13,	 GS_TCC_EXPRESSION, "GS_COMPOUND_EXPR" },
   { GS_COMPOUND_LITERAL_EXPR,	13,	 GS_TCC_EXPRESSION, "GS_COMPOUND_LITERAL_EXPR" },
   { GS_COND_EXPR,	13,	 GS_TCC_EXPRESSION, "GS_COND_EXPR" },
   { GS_CONJ_EXPR,	13,	 GS_TCC_UNARY, "GS_CONJ_EXPR" },
  #ifdef FE_GNU_4_2_0
   { GS_CONSTRUCTOR,	13,	 GS_TCC_EXCEPTIONAL, "GS_CONSTRUCTOR" },
  #else
   { GS_CONSTRUCTOR,      13,      GS_TCC_EXPRESSION, "GS_CONSTRUCTOR" },
  #endif
   { GS_CONST_DECL,	43,	 GS_TCC_DECLARATION, "GS_CONST_DECL" },
  #ifdef FE_GNU_4_2_0
   { GS_CONTINUE_STMT,	13,	 GS_TCC_STATEMENT, "GS_CONTINUE_STMT" },
  #else
   { GS_CONTINUE_STMT,	13,	 GS_TCC_EXPRESSION, "GS_CONTINUE_STMT" },
  #endif
   { GS_CONVERT_EXPR,	13,	 GS_TCC_UNARY, "GS_CONVERT_EXPR" },
   { GS_DECL_EXPR,	13,	 GS_TCC_STATEMENT, "GS_DECL_EXPR" },
  #ifdef FE_GNU_4_2_0
   { GS_DO_STMT,		13,	 GS_TCC_STATEMENT, "GS_DO_STMT" },
  #else
   { GS_DO_STMT,		13,	 GS_TCC_EXPRESSION, "GS_DO_STMT" },
  #endif
   { GS_EH_FILTER_EXPR,	13,	 GS_TCC_STATEMENT, "GS_EH_FILTER_EXPR" },
   { GS_ENUMERAL_TYPE,	27,	 GS_TCC_TYPE, "GS_ENUMERAL_TYPE" },
   { GS_EQ_EXPR,		13,	 GS_TCC_COMPARISON, "GS_EQ_EXPR" },
   { GS_ERROR_MARK,	0,	 GS_TCC_EXCEPTIONAL, "GS_ERROR_MARK" },
   { GS_EXACT_DIV_EXPR,	13,	 GS_TCC_BINARY, "GS_EXACT_DIV_EXPR" },
   { GS_EXC_PTR_EXPR,	13,	 GS_TCC_EXPRESSION, "GS_EXC_PTR_EXPR" },
   { GS_EXIT_EXPR,	13,	 GS_TCC_STATEMENT, "GS_EXIT_EXPR" },
   { GS_EXPR_STMT,	13,	 GS_TCC_EXPRESSION, "GS_EXPR_STMT" },
   { GS_FDESC_EXPR,	13,	 GS_TCC_EXPRESSION, "GS_FDESC_EXPR" },
   { GS_FIELD_DECL,	43,	 GS_TCC_DECLARATION, "GS_FIELD_DECL" },
   { GS_FILE_TYPE,	27,	 GS_TCC_TYPE, "GS_FILE_TYPE" },
   { GS_FILTER_EXPR,	13,	 GS_TCC_EXPRESSION, "GS_FILTER_EXPR" },
   { GS_FIX_CEIL_EXPR,	13,	 GS_TCC_UNARY, "GS_FIX_CEIL_EXPR" },
   { GS_FIX_FLOOR_EXPR,	13,	 GS_TCC_UNARY, "GS_FIX_FLOOR_EXPR" },
   { GS_FIX_ROUND_EXPR,	13,	 GS_TCC_UNARY, "GS_FIX_ROUND_EXPR" },
   { GS_FIX_TRUNC_EXPR,	13,	 GS_TCC_UNARY, "GS_FIX_TRUNC_EXPR" },
   { GS_FLOAT_EXPR,	13,	 GS_TCC_UNARY, "GS_FLOAT_EXPR" },
   { GS_FLOOR_DIV_EXPR,	13,	 GS_TCC_BINARY, "GS_FLOOR_DIV_EXPR" },
   { GS_FLOOR_MOD_EXPR,	13,	 GS_TCC_BINARY, "GS_FLOOR_MOD_EXPR" },
  #ifdef FE_GNU_4_2_0
   { GS_FOR_STMT,		13,	 GS_TCC_STATEMENT, "GS_FOR_STMT" },
  #else
   { GS_FOR_STMT,		13,	 GS_TCC_EXPRESSION, "GS_FOR_STMT" },
  #endif
   { GS_FUNCTION_DECL,	43,	 GS_TCC_DECLARATION, "GS_FUNCTION_DECL" },
   { GS_FUNCTION_TYPE,	27,	 GS_TCC_TYPE, "GS_FUNCTION_TYPE" },
   { GS_GE_EXPR,		13,	 GS_TCC_COMPARISON, "GS_GE_EXPR" },
   { GS_GOTO_EXPR,	13,	 GS_TCC_STATEMENT, "GS_GOTO_EXPR" },
   { GS_GT_EXPR,		13,	 GS_TCC_COMPARISON, "GS_GT_EXPR" },
   { GS_IDENTIFIER_NODE,	9,	 GS_TCC_EXCEPTIONAL, "GS_IDENTIFIER_NODE" },
   { GS_IMAGPART_EXPR,	13,	 GS_TCC_REFERENCE, "GS_IMAGPART_EXPR" },
   { GS_INDIRECT_REF,	13,	 GS_TCC_REFERENCE, "GS_INDIRECT_REF" },
   { GS_INIT_EXPR,	13,	 GS_TCC_EXPRESSION, "GS_INIT_EXPR" },
   { GS_INTEGER_CST,	7,	 GS_TCC_CONSTANT, "GS_INTEGER_CST" },
   { GS_INTEGER_TYPE,	27,	 GS_TCC_TYPE, "GS_INTEGER_TYPE" },
   { GS_LABEL_DECL,	43,	 GS_TCC_DECLARATION, "GS_LABEL_DECL" },
   { GS_LABEL_EXPR,	13,	 GS_TCC_STATEMENT, "GS_LABEL_EXPR" },
   { GS_LANG_TYPE,	27,	 GS_TCC_TYPE, "GS_LANG_TYPE" },
   { GS_LE_EXPR,		13,	 GS_TCC_COMPARISON, "GS_LE_EXPR" },
   { GS_LOOP_EXPR,	13,	 GS_TCC_STATEMENT, "GS_LOOP_EXPR" },
   { GS_LROTATE_EXPR,	13,	 GS_TCC_BINARY, "GS_LROTATE_EXPR" },
   { GS_LSHIFT_EXPR,	13,	 GS_TCC_BINARY, "GS_LSHIFT_EXPR" },
   { GS_LTGT_EXPR,	13,	 GS_TCC_COMPARISON, "GS_LTGT_EXPR" },
   { GS_LT_EXPR,		13,	 GS_TCC_COMPARISON, "GS_LT_EXPR" },
   { GS_MAX_EXPR,		13,	 GS_TCC_BINARY, "GS_MAX_EXPR" },
   { GS_METHOD_TYPE,	27,	 GS_TCC_TYPE, "GS_METHOD_TYPE" },
   { GS_MINUS_EXPR,	13,	 GS_TCC_BINARY, "GS_MINUS_EXPR" },
   { GS_MIN_EXPR,		13,	 GS_TCC_BINARY, "GS_MIN_EXPR" },
   { GS_MISALIGNED_INDIRECT_REF,	13,	 GS_TCC_REFERENCE, "GS_MISALIGNED_INDIRECT_REF" },
   { GS_MODIFY_EXPR,	13,	 GS_TCC_EXPRESSION, "GS_MODIFY_EXPR" },
   { GS_MULT_EXPR,	13,	 GS_TCC_BINARY, "GS_MULT_EXPR" },
   { GS_NAMESPACE_DECL,	43,	 GS_TCC_DECLARATION, "GS_NAMESPACE_DECL" },
   { GS_NEGATE_EXPR,	13,	 GS_TCC_UNARY, "GS_NEGATE_EXPR" },
   { GS_NE_EXPR,		13,	 GS_TCC_COMPARISON, "GS_NE_EXPR" },
   { GS_NON_LVALUE_EXPR,	13,	 GS_TCC_UNARY, "GS_NON_LVALUE_EXPR" },
   { GS_NOP_EXPR,		13,	 GS_TCC_UNARY, "GS_NOP_EXPR" },
  
   { GS_OBJ_TYPE_REF,	13,	 GS_TCC_EXPRESSION, "GS_OBJ_TYPE_REF" },
   { GS_OFFSET_TYPE,	27,	 GS_TCC_TYPE, "GS_OFFSET_TYPE" },
  #ifdef FE_GNU_4_2_0
   { GS_OMP_ATOMIC,	13,	 GS_TCC_STATEMENT, "GS_OMP_ATOMIC" },
   { GS_OMP_CLAUSE,	9,	 GS_TCC_EXCEPTIONAL, "GS_OMP_CLAUSE" },
   { GS_OMP_CRITICAL,	13,	 GS_TCC_STATEMENT, "GS_OMP_CRITICAL" },
   { GS_OMP_FOR,		13,	 GS_TCC_STATEMENT, "GS_OMP_FOR" },
   { GS_OMP_MASTER,	13,	 GS_TCC_STATEMENT, "GS_OMP_MASTER" },
   { GS_OMP_ORDERED,	13,	 GS_TCC_STATEMENT, "GS_OMP_ORDERED" },
   { GS_OMP_PARALLEL,	13,	 GS_TCC_STATEMENT, "GS_OMP_PARALLEL" },
   { GS_OMP_TASK,		14,	 GS_TCC_STATEMENT, "GS_OMP_TASK" },
   { GS_OMP_SECTION,	13,	 GS_TCC_STATEMENT, "GS_OMP_SECTION" },
   { GS_OMP_SECTIONS,	13,	 GS_TCC_STATEMENT, "GS_OMP_SECTIONS" },
   { GS_OMP_SINGLE,	13,	 GS_TCC_STATEMENT, "GS_OMP_SINGLE" },
  #endif
   { GS_ORDERED_EXPR,	13,	 GS_TCC_COMPARISON, "GS_ORDERED_EXPR" },
   { GS_PARM_DECL,	43,	 GS_TCC_DECLARATION, "GS_PARM_DECL" },
   { GS_PHI_NODE,		9,	 GS_TCC_EXCEPTIONAL, "GS_PHI_NODE" },
   { GS_PLACEHOLDER_EXPR,	13,	 GS_TCC_EXCEPTIONAL, "GS_PLACEHOLDER_EXPR" },
   { GS_PLUS_EXPR,	13,	 GS_TCC_BINARY, "GS_PLUS_EXPR" },
   { GS_POINTER_TYPE,	27,	 GS_TCC_TYPE, "GS_POINTER_TYPE" },
   { GS_POLYNOMIAL_CHREC,	13,	 GS_TCC_EXPRESSION, "GS_POLYNOMIAL_CHREC" },
   { GS_POSTDECREMENT_EXPR,	13,	 GS_TCC_EXPRESSION, "GS_POSTDECREMENT_EXPR" },
   { GS_POSTINCREMENT_EXPR,	13,	 GS_TCC_EXPRESSION, "GS_POSTINCREMENT_EXPR" },
   { GS_PREDECREMENT_EXPR,	13,	 GS_TCC_EXPRESSION, "GS_PREDECREMENT_EXPR" },
   { GS_PREINCREMENT_EXPR,	13,	 GS_TCC_EXPRESSION, "GS_PREINCREMENT_EXPR" },
   { GS_PROGRAM,		8,	 GS_TCC_EXCEPTIONAL, "GS_PROGRAM" },
   { GS_QUAL_UNION_TYPE,	27,	 GS_TCC_TYPE, "GS_QUAL_UNION_TYPE" },
   { GS_RANGE_EXPR,	13,	 GS_TCC_BINARY, "GS_RANGE_EXPR" },
   { GS_RDIV_EXPR,	13,	 GS_TCC_BINARY, "GS_RDIV_EXPR" },
   { GS_REALIGN_LOAD_EXPR,	13,	 GS_TCC_EXPRESSION, "GS_REALIGN_LOAD_EXPR" },
   { GS_REALPART_EXPR,	13,	 GS_TCC_REFERENCE, "GS_REALPART_EXPR" },
   { GS_REAL_CST,		7,	 GS_TCC_CONSTANT, "GS_REAL_CST" },
   { GS_REAL_TYPE,	27,	 GS_TCC_TYPE, "GS_REAL_TYPE" },
   { GS_RECORD_TYPE,	27,	 GS_TCC_TYPE, "GS_RECORD_TYPE" },
   { GS_REFERENCE_TYPE,	27,	 GS_TCC_TYPE, "GS_REFERENCE_TYPE" },
   { GS_RESULT_DECL,	43,	 GS_TCC_DECLARATION, "GS_RESULT_DECL" },
   { GS_RESX_EXPR,	13,	 GS_TCC_STATEMENT, "GS_RESX_EXPR" },
   { GS_RETURN_EXPR,	13,	 GS_TCC_STATEMENT, "GS_RETURN_EXPR" },
   { GS_ROUND_DIV_EXPR,	13,	 GS_TCC_BINARY, "GS_ROUND_DIV_EXPR" },
   { GS_ROUND_MOD_EXPR,	13,	 GS_TCC_BINARY, "GS_ROUND_MOD_EXPR" },
   { GS_RROTATE_EXPR,	13,	 GS_TCC_BINARY, "GS_RROTATE_EXPR" },
   { GS_RSHIFT_EXPR,	13,	 GS_TCC_BINARY, "GS_RSHIFT_EXPR" },
   { GS_SAVE_EXPR,	13,	 GS_TCC_EXPRESSION, "GS_SAVE_EXPR" },
   { GS_SCEV_KNOWN,	13,	 GS_TCC_EXPRESSION, "GS_SCEV_KNOWN" },
   { GS_SCEV_NOT_KNOWN,	13,	 GS_TCC_EXPRESSION, "GS_SCEV_NOT_KNOWN" },
   { GS_SCOPE,		13,	 GS_TCC_REFERENCE, "GS_SCOPE" },
   { GS_SCOPE_STMT,	13,	 GS_TCC_STATEMENT, "GS_SCOPE_STMT" },
  #ifdef FE_GNU_4_2_0
   { GS_SIZEOF_EXPR,	13,	 GS_TCC_EXPRESSION, "GS_SIZEOF_EXPR" },
  #else
   { GS_SIZEOF_EXPR,	13,	 GS_TCC_UNARY, "GS_SIZEOF_EXPR" },
  #endif
   { GS_SSA_NAME,		9,	 GS_TCC_EXCEPTIONAL, "GS_SSA_NAME" },
   { GS_STATEMENT_LIST,	9,	 GS_TCC_EXCEPTIONAL, "GS_STATEMENT_LIST" },
   { GS_STMT_EXPR,	13,	 GS_TCC_EXPRESSION, "GS_STMT_EXPR" },
   { GS_STRING_CST,	7,	 GS_TCC_CONSTANT, "GS_STRING_CST" },
   { GS_SWITCH_EXPR,	13,	 GS_TCC_STATEMENT, "GS_SWITCH_EXPR" },
  #ifdef FE_GNU_4_2_0
   { GS_SWITCH_STMT,	13,	 GS_TCC_STATEMENT, "GS_SWITCH_STMT" },
  #else
   { GS_SWITCH_STMT,	13,	 GS_TCC_EXPRESSION, "GS_SWITCH_STMT" },
  #endif
   { GS_TARGET_EXPR,	13,	 GS_TCC_EXPRESSION, "GS_TARGET_EXPR" },
   { GS_TRANSLATION_UNIT_DECL,	43,	 GS_TCC_DECLARATION, "GS_TRANSLATION_UNIT_DECL" },
   { GS_TREE_BINFO,	9,	 GS_TCC_EXCEPTIONAL, "GS_TREE_BINFO" },
   { GS_TREE_LIST,	9,	 GS_TCC_EXCEPTIONAL, "GS_TREE_LIST" },
   { GS_TREE_VEC,		9,	 GS_TCC_EXCEPTIONAL, "GS_TREE_VEC" },
   { GS_TRUNC_DIV_EXPR,	13,	 GS_TCC_BINARY, "GS_TRUNC_DIV_EXPR" },
   { GS_TRUNC_MOD_EXPR,	13,	 GS_TCC_BINARY, "GS_TRUNC_MOD_EXPR" },
   { GS_TRUTH_ANDIF_EXPR,	13,	 GS_TCC_EXPRESSION, "GS_TRUTH_ANDIF_EXPR" },
   { GS_TRUTH_AND_EXPR,	13,	 GS_TCC_EXPRESSION, "GS_TRUTH_AND_EXPR" },
   { GS_TRUTH_NOT_EXPR,	13,	 GS_TCC_EXPRESSION, "GS_TRUTH_NOT_EXPR" },
   { GS_TRUTH_ORIF_EXPR,	13,	 GS_TCC_EXPRESSION, "GS_TRUTH_ORIF_EXPR" },
   { GS_TRUTH_OR_EXPR,	13,	 GS_TCC_EXPRESSION, "GS_TRUTH_OR_EXPR" },
   { GS_TRUTH_XOR_EXPR,	13,	 GS_TCC_EXPRESSION, "GS_TRUTH_XOR_EXPR" },
  #ifdef FE_GNU_4_2_0
   { GS_TRY_BLOCK,	13,	 GS_TCC_STATEMENT, "GS_TRY_BLOCK" },
  #else
   { GS_TRY_BLOCK,	13,	 GS_TCC_EXPRESSION, "GS_TRY_BLOCK" },
  #endif
   { GS_TRY_CATCH_EXPR,	13,	 GS_TCC_STATEMENT, "GS_TRY_CATCH_EXPR" },
   { GS_TRY_FINALLY_EXPR,	13,	 GS_TCC_STATEMENT, "GS_TRY_FINALLY_EXPR" },
   { GS_TYPE_DECL,	43,	 GS_TCC_DECLARATION, "GS_TYPE_DECL" },
   { GS_UNEQ_EXPR,	13,	 GS_TCC_COMPARISON, "GS_UNEQ_EXPR" },
   { GS_UNGE_EXPR,	13,	 GS_TCC_COMPARISON, "GS_UNGE_EXPR" },
   { GS_UNGT_EXPR,	13,	 GS_TCC_COMPARISON, "GS_UNGT_EXPR" },
   { GS_UNION_TYPE,	27,	 GS_TCC_TYPE, "GS_UNION_TYPE" },
   { GS_UNLE_EXPR,	13,	 GS_TCC_COMPARISON, "GS_UNLE_EXPR" },
   { GS_UNLT_EXPR,	13,	 GS_TCC_COMPARISON, "GS_UNLT_EXPR" },
   { GS_UNORDERED_EXPR,	13,	 GS_TCC_COMPARISON, "GS_UNORDERED_EXPR" },
   { GS_VALUE_HANDLE,	9,	 GS_TCC_EXCEPTIONAL, "GS_VALUE_HANDLE" },
   { GS_VAR_DECL,		43,	 GS_TCC_DECLARATION, "GS_VAR_DECL" },
   { GS_VA_ARG_EXPR,	13,	 GS_TCC_EXPRESSION, "GS_VA_ARG_EXPR" },
   { GS_VECTOR_CST,	7,	 GS_TCC_CONSTANT, "GS_VECTOR_CST" },
   { GS_VECTOR_TYPE,	27,	 GS_TCC_TYPE, "GS_VECTOR_TYPE" },
   { GS_VEC_COND_EXPR,	13,	 GS_TCC_EXPRESSION, "GS_VEC_COND_EXPR" },
   { GS_VIEW_CONVERT_EXPR,	13,	 GS_TCC_REFERENCE, "GS_VIEW_CONVERT_EXPR" },
   { GS_VOID_TYPE,	27,	 GS_TCC_TYPE, "GS_VOID_TYPE" },
  #ifdef FE_GNU_4_2_0
   { GS_WHILE_STMT,	13,	 GS_TCC_STATEMENT, "GS_WHILE_STMT" },
  #else
   { GS_WHILE_STMT,	13,	 GS_TCC_EXPRESSION, "GS_WHILE_STMT" },
  #endif
   { GS_WITH_CLEANUP_EXPR,	13,	 GS_TCC_EXPRESSION, "GS_WITH_CLEANUP_EXPR" },
   { GS_WITH_SIZE_EXPR,	13,	 GS_TCC_EXPRESSION, "GS_WITH_SIZE_EXPR" },
  
   { GS_AGGR_INIT_EXPR,	13,	 GS_TCC_EXPRESSION, "GS_AGGR_INIT_EXPR" },
   { GS_BASELINK,		9,	 GS_TCC_EXCEPTIONAL, "GS_BASELINK" },
   { GS_BOUND_TEMPLATE_TEMPLATE_PARM,	27,	 GS_TCC_TYPE, "GS_BOUND_TEMPLATE_TEMPLATE_PARM" },
   { GS_CAST_EXPR,	13,	 GS_TCC_UNARY, "GS_CAST_EXPR" },
   { GS_CONST_CAST_EXPR,	13,	 GS_TCC_UNARY, "GS_CONST_CAST_EXPR" },
  #ifdef FE_GNU_4_2_0
   { GS_CLEANUP_STMT,	13,	 GS_TCC_STATEMENT, "GS_CLEANUP_STMT" },
  #else
   { GS_CLEANUP_STMT,	13,	 GS_TCC_EXPRESSION, "GS_CLEANUP_STMT" },
  #endif
   { GS_CTOR_INITIALIZER,	13,	 GS_TCC_EXPRESSION, "GS_CTOR_INITIALIZER" },
   { GS_DELETE_EXPR,	13,	 GS_TCC_EXPRESSION, "GS_DELETE_EXPR" },
   { GS_DEFAULT_ARG,	9,	 GS_TCC_EXCEPTIONAL, "GS_DEFAULT_ARG" },
   { GS_DYNAMIC_CAST_EXPR,	13,	 GS_TCC_UNARY, "GS_DYNAMIC_CAST_EXPR" },
   { GS_DOTSTAR_EXPR,	13,	 GS_TCC_EXPRESSION, "GS_DOTSTAR_EXPR" },
   { GS_EMPTY_CLASS_EXPR,	13,	 GS_TCC_EXPRESSION, "GS_EMPTY_CLASS_EXPR" },
  #ifdef FE_GNU_4_2_0
   { GS_EH_SPEC_BLOCK,	13,	 GS_TCC_STATEMENT, "GS_EH_SPEC_BLOCK" },
   { GS_HANDLER,		13,	 GS_TCC_STATEMENT, "GS_HANDLER" },
   { GS_IF_STMT,		13,	 GS_TCC_STATEMENT, "GS_IF_STMT" },
  #else
   { GS_EH_SPEC_BLOCK,	13,	 GS_TCC_EXPRESSION, "GS_EH_SPEC_BLOCK" },
   { GS_HANDLER,		13,	 GS_TCC_EXPRESSION, "GS_HANDLER" },
   { GS_IF_STMT,		13,	 GS_TCC_EXPRESSION, "GS_IF_STMT" },
  #endif
   { GS_MEMBER_REF,	13,	 GS_TCC_REFERENCE, "GS_MEMBER_REF" },
   { GS_MODOP_EXPR,	13,	 GS_TCC_EXPRESSION, "GS_MODOP_EXPR" },
   { GS_MUST_NOT_THROW_EXPR,	13,	 GS_TCC_EXPRESSION, "GS_MUST_NOT_THROW_EXPR" },
   { GS_NEW_EXPR,		13,	 GS_TCC_EXPRESSION, "GS_NEW_EXPR" },
   { GS_NON_DEPENDENT_EXPR,	13,	 GS_TCC_EXPRESSION, "GS_NON_DEPENDENT_EXPR" },
   { GS_OFFSET_REF,	13,	 GS_TCC_REFERENCE, "GS_OFFSET_REF" },
   { GS_OFFSETOF_EXPR,	13,	 GS_TCC_EXPRESSION, "GS_OFFSETOF_EXPR" },
   { GS_OVERLOAD,		9,	 GS_TCC_EXCEPTIONAL, "GS_OVERLOAD" },
   { GS_PTRMEM_CST,	7,	 GS_TCC_CONSTANT, "GS_PTRMEM_CST" },
   { GS_PSEUDO_DTOR_EXPR,	13,	 GS_TCC_EXPRESSION, "GS_PSEUDO_DTOR_EXPR" },
   { GS_REINTERPRET_CAST_EXPR,	13,	 GS_TCC_UNARY, "GS_REINTERPRET_CAST_EXPR" },
   { GS_SCOPE_REF,	13,	 GS_TCC_REFERENCE, "GS_SCOPE_REF" },
   { GS_STATIC_CAST_EXPR,	13,	 GS_TCC_UNARY, "GS_STATIC_CAST_EXPR" },
   { GS_TAG_DEFN,		13,	 GS_TCC_EXPRESSION, "GS_TAG_DEFN" },
   { GS_TEMPLATE_DECL,	43,	 GS_TCC_DECLARATION, "GS_TEMPLATE_DECL" },
   { GS_TEMPLATE_ID_EXPR,	13,	 GS_TCC_EXPRESSION, "GS_TEMPLATE_ID_EXPR" },
   { GS_TEMPLATE_PARM_INDEX,	9,	 GS_TCC_EXCEPTIONAL, "GS_TEMPLATE_PARM_INDEX" },
   { GS_TEMPLATE_TYPE_PARM,	27,	 GS_TCC_TYPE, "GS_TEMPLATE_TYPE_PARM" },
   { GS_THROW_EXPR,	13,	 GS_TCC_EXPRESSION, "GS_THROW_EXPR" },
   { GS_TINST_LEVEL,	9,	 GS_TCC_EXCEPTIONAL, "GS_TINST_LEVEL" },
   { GS_TYPEOF_TYPE,	27,	 GS_TCC_TYPE, "GS_TYPEOF_TYPE" },
   { GS_TYPENAME_TYPE,	27,	 GS_TCC_TYPE, "GS_TYPENAME_TYPE" },
   { GS_TYPE_EXPR,	13,	 GS_TCC_EXPRESSION, "GS_TYPE_EXPR" },
   { GS_TYPEID_EXPR,	13,	 GS_TCC_EXPRESSION, "GS_TYPEID_EXPR" },
   { GS_USING_DECL,	43,	 GS_TCC_DECLARATION, "GS_USING_DECL" },
  #ifdef FE_GNU_4_2_0
   { GS_USING_STMT,	13,	 GS_TCC_STATEMENT, "GS_USING_STMT" },
  #else
   { GS_USING_STMT,	13,	 GS_TCC_EXPRESSION, "GS_USING_STMT" },
  #endif
   { GS_UNBOUND_CLASS_TEMPLATE,	27,	 GS_TCC_TYPE, "GS_UNBOUND_CLASS_TEMPLATE" },
   { GS_VEC_DELETE_EXPR,	13,	 GS_TCC_EXPRESSION, "GS_VEC_DELETE_EXPR" },
   { GS_VEC_NEW_EXPR,	13,	 GS_TCC_EXPRESSION, "GS_VEC_NEW_EXPR" },
   { GS_TEMPLATE_TEMPLATE_PARM,	27,	 GS_TCC_TYPE, "GS_TEMPLATE_TEMPLATE_PARM" },
   { GS_FREQ_HINT_STMT,	13,	 GS_TCC_EXPRESSION, "GS_FREQ_HINT_STMT" },
   { GS_ZDL_STMT,         13,      GS_TCC_EXPRESSION, "GS_ZDL_STMT" },
  };
  
  // return storage size in bytes for the gspin node
  int gspin_node_size(gs_code_t code)
  {
    int arity = gs_code_arity(code);
    if (arity != 0)
      return (1 + arity) * sizeof(char *);
    switch (code) {
    case IB_CHAR:
    case IB_BOOL:
    case GS_TCC:
    case GSBI:
    case GSBI_CLASS:
    case GS_ERROR_MARK:	return 1*sizeof(char*);
  
    case IB_UNSIGNED:
    case IB_UNSIGNED_LONG:
    case IB_INT:
    case IB_LONG:
    case IB_FLOAT:
    case IB_STRING:	return 2*sizeof(char*);
  
    case IB_LONG_LONG:
    case IB_UNSIGNED_LONG_LONG:
    case IB_BIT_VECTOR:
    case IB_DOUBLE:	return 4*sizeof(char*);
  
  #ifdef ARCH_MIPS
    case IB_LONG_DOUBLE:	return 5*sizeof(char*);
  #else
    case IB_LONG_DOUBLE:	return 4*sizeof(char*);
  #endif
  
    default: GS_ASSERT(false, "gspin_node_size(): unrecognied tree code");
    }
  }
  
  #ifdef Is_True_On
  int num_gspin_nodes = 0;
  int arity_dist[45] = {
    	0, 0, 0, 0, 0, 0, 0, 0, 0,
    	0, 0, 0, 0, 0, 0, 0, 0, 0,
    	0, 0, 0, 0, 0, 0, 0, 0, 0,
    	0, 0, 0, 0, 0, 0, 0, 0, 0,
    	0, 0, 0, 0, 0, 0, 0, 0, 0
    };
  #endif
  
  gs_t
  __gs (gs_code_t code)
  {
    GS_ASSERT (code != DOT, "__gs() called with DOT");
    int size = gspin_node_size(code);
    gs_t node = (gs_t) __gs_mempool_alloc(GS_ARENA, size);
    _gs_code(node, code);
    if (gs_mempool[GS_ARENA].current_index >= 0x3fffffff) {
      fprintf(stderr, "gspin mempool overflow.\n");
      abort();
    }
  #ifdef Is_True_On
    num_gspin_nodes++;
    arity_dist[tree_code_table[code].arity]++;
  #endif
    return node;
  }
  
  #ifdef Is_True_On
  void dump_arity_dist(void) {
    int i;
    for (i = 0; i < 45; i++)
      if (arity_dist[i] != 0)
        printf("%d: %d\n", i, arity_dist[i]);
  }
  #endif
  
  gs_void_t
  _gs_s (gs_t node, const gs_string_t s, gs_unsigned_long_t length)
  {
    GS_ASSERT (node != (gs_t) NULL, "Got null node");
    node->u1.s = (gs_string_t) __gs_mempool_alloc (IB_STRING_ARENA, length);
    memcpy (gs_s(node), s, length);
    _gs_slen (node, length);
    return;
  }
  
  char *gs_code_name (gs_code_t code)
  {
    return tree_code_table[code].name;
  }
  
  int gs_code_arity(gs_code_t code)
  {
    return tree_code_table[code].arity;
  }
  
  gs_string_t gs_tree_code_class_name (gs_tree_code_class_t code)
  {
   switch (code) {
     case GS_TCC_EXCEPTIONAL: return (gs_string_t) "GS_TCC_EXCEPTIONAL";
     case GS_TCC_CONSTANT: return (gs_string_t) "GS_TCC_CONSTANT";
     case GS_TCC_TYPE: return (gs_string_t) "GS_TCC_TYPE";
     case GS_TCC_DECLARATION: return (gs_string_t) "GS_TCC_DECLARATION";
     case GS_TCC_REFERENCE: return (gs_string_t) "GS_TCC_REFERENCE";
     case GS_TCC_COMPARISON: return (gs_string_t) "GS_TCC_COMPARISON";
     case GS_TCC_UNARY: return (gs_string_t) "GS_TCC_UNARY";
     case GS_TCC_BINARY: return (gs_string_t) "GS_TCC_BINARY";
     case GS_TCC_STATEMENT: return (gs_string_t) "GS_TCC_STATEMENT";
     case GS_TCC_EXPRESSION: return (gs_string_t) "GS_TCC_EXPRESSION";
   }
   GS_ASSERT (gs_false, (gs_string_t) "Unexpected tree code class.");
   return (char *) NULL;
  }
  
  gs_string_t gsbi_name (gsbi_t code) 
  {
    switch (code) {
  
      case GSBI_BUILT_IN_ACOS: return "GSBI_BUILT_IN_ACOS";
      case GSBI_BUILT_IN_ACOSF: return "GSBI_BUILT_IN_ACOSF";
      case GSBI_BUILT_IN_ACOSH: return "GSBI_BUILT_IN_ACOSH";
      case GSBI_BUILT_IN_ACOSHF: return "GSBI_BUILT_IN_ACOSHF";
      case GSBI_BUILT_IN_ACOSHL: return "GSBI_BUILT_IN_ACOSHL";
      case GSBI_BUILT_IN_ACOSL: return "GSBI_BUILT_IN_ACOSL";
      case GSBI_BUILT_IN_ASIN: return "GSBI_BUILT_IN_ASIN";
      case GSBI_BUILT_IN_ASINF: return "GSBI_BUILT_IN_ASINF";
      case GSBI_BUILT_IN_ASINH: return "GSBI_BUILT_IN_ASINH";
      case GSBI_BUILT_IN_ASINHF: return "GSBI_BUILT_IN_ASINHF";
      case GSBI_BUILT_IN_ASINHL: return "GSBI_BUILT_IN_ASINHL";
      case GSBI_BUILT_IN_ASINL: return "GSBI_BUILT_IN_ASINL";
      case GSBI_BUILT_IN_ATAN: return "GSBI_BUILT_IN_ATAN";
      case GSBI_BUILT_IN_ATAN2: return "GSBI_BUILT_IN_ATAN2";
      case GSBI_BUILT_IN_ATAN2F: return "GSBI_BUILT_IN_ATAN2F";
      case GSBI_BUILT_IN_ATAN2L: return "GSBI_BUILT_IN_ATAN2L";
      case GSBI_BUILT_IN_ATANF: return "GSBI_BUILT_IN_ATANF";
      case GSBI_BUILT_IN_ATANH: return "GSBI_BUILT_IN_ATANH";
      case GSBI_BUILT_IN_ATANHF: return "GSBI_BUILT_IN_ATANHF";
      case GSBI_BUILT_IN_ATANHL: return "GSBI_BUILT_IN_ATANHL";
      case GSBI_BUILT_IN_ATANL: return "GSBI_BUILT_IN_ATANL";
      case GSBI_BUILT_IN_CBRT: return "GSBI_BUILT_IN_CBRT";
      case GSBI_BUILT_IN_CBRTF: return "GSBI_BUILT_IN_CBRTF";
      case GSBI_BUILT_IN_CBRTL: return "GSBI_BUILT_IN_CBRTL";
      case GSBI_BUILT_IN_CEIL: return "GSBI_BUILT_IN_CEIL";
      case GSBI_BUILT_IN_CEILF: return "GSBI_BUILT_IN_CEILF";
      case GSBI_BUILT_IN_CEILL: return "GSBI_BUILT_IN_CEILL";
      case GSBI_BUILT_IN_COPYSIGN: return "GSBI_BUILT_IN_COPYSIGN";
      case GSBI_BUILT_IN_COPYSIGNF: return "GSBI_BUILT_IN_COPYSIGNF";
      case GSBI_BUILT_IN_COPYSIGNL: return "GSBI_BUILT_IN_COPYSIGNL";
      case GSBI_BUILT_IN_COS: return "GSBI_BUILT_IN_COS";
      case GSBI_BUILT_IN_COSF: return "GSBI_BUILT_IN_COSF";
      case GSBI_BUILT_IN_COSH: return "GSBI_BUILT_IN_COSH";
      case GSBI_BUILT_IN_COSHF: return "GSBI_BUILT_IN_COSHF";
      case GSBI_BUILT_IN_COSHL: return "GSBI_BUILT_IN_COSHL";
      case GSBI_BUILT_IN_COSL: return "GSBI_BUILT_IN_COSL";
      case GSBI_BUILT_IN_DREM: return "GSBI_BUILT_IN_DREM";
      case GSBI_BUILT_IN_DREMF: return "GSBI_BUILT_IN_DREMF";
      case GSBI_BUILT_IN_DREML: return "GSBI_BUILT_IN_DREML";
      case GSBI_BUILT_IN_ERF: return "GSBI_BUILT_IN_ERF";
      case GSBI_BUILT_IN_ERFC: return "GSBI_BUILT_IN_ERFC";
      case GSBI_BUILT_IN_ERFCF: return "GSBI_BUILT_IN_ERFCF";
      case GSBI_BUILT_IN_ERFCL: return "GSBI_BUILT_IN_ERFCL";
      case GSBI_BUILT_IN_ERFF: return "GSBI_BUILT_IN_ERFF";
      case GSBI_BUILT_IN_ERFL: return "GSBI_BUILT_IN_ERFL";
      case GSBI_BUILT_IN_EXP: return "GSBI_BUILT_IN_EXP";
      case GSBI_BUILT_IN_EXP10: return "GSBI_BUILT_IN_EXP10";
      case GSBI_BUILT_IN_EXP10F: return "GSBI_BUILT_IN_EXP10F";
      case GSBI_BUILT_IN_EXP10L: return "GSBI_BUILT_IN_EXP10L";
      case GSBI_BUILT_IN_EXP2: return "GSBI_BUILT_IN_EXP2";
      case GSBI_BUILT_IN_EXP2F: return "GSBI_BUILT_IN_EXP2F";
      case GSBI_BUILT_IN_EXP2L: return "GSBI_BUILT_IN_EXP2L";
      case GSBI_BUILT_IN_EXPF: return "GSBI_BUILT_IN_EXPF";
      case GSBI_BUILT_IN_EXPL: return "GSBI_BUILT_IN_EXPL";
      case GSBI_BUILT_IN_EXPM1: return "GSBI_BUILT_IN_EXPM1";
      case GSBI_BUILT_IN_EXPM1F: return "GSBI_BUILT_IN_EXPM1F";
      case GSBI_BUILT_IN_EXPM1L: return "GSBI_BUILT_IN_EXPM1L";
      case GSBI_BUILT_IN_FABS: return "GSBI_BUILT_IN_FABS";
      case GSBI_BUILT_IN_FABSF: return "GSBI_BUILT_IN_FABSF";
      case GSBI_BUILT_IN_FABSL: return "GSBI_BUILT_IN_FABSL";
      case GSBI_BUILT_IN_FDIM: return "GSBI_BUILT_IN_FDIM";
      case GSBI_BUILT_IN_FDIMF: return "GSBI_BUILT_IN_FDIMF";
      case GSBI_BUILT_IN_FDIML: return "GSBI_BUILT_IN_FDIML";
      case GSBI_BUILT_IN_FLOOR: return "GSBI_BUILT_IN_FLOOR";
      case GSBI_BUILT_IN_FLOORF: return "GSBI_BUILT_IN_FLOORF";
      case GSBI_BUILT_IN_FLOORL: return "GSBI_BUILT_IN_FLOORL";
      case GSBI_BUILT_IN_FMA: return "GSBI_BUILT_IN_FMA";
      case GSBI_BUILT_IN_FMAF: return "GSBI_BUILT_IN_FMAF";
      case GSBI_BUILT_IN_FMAL: return "GSBI_BUILT_IN_FMAL";
      case GSBI_BUILT_IN_FMAX: return "GSBI_BUILT_IN_FMAX";
      case GSBI_BUILT_IN_FMAXF: return "GSBI_BUILT_IN_FMAXF";
      case GSBI_BUILT_IN_FMAXL: return "GSBI_BUILT_IN_FMAXL";
      case GSBI_BUILT_IN_FMIN: return "GSBI_BUILT_IN_FMIN";
      case GSBI_BUILT_IN_FMINF: return "GSBI_BUILT_IN_FMINF";
      case GSBI_BUILT_IN_FMINL: return "GSBI_BUILT_IN_FMINL";
      case GSBI_BUILT_IN_FMOD: return "GSBI_BUILT_IN_FMOD";
      case GSBI_BUILT_IN_FMODF: return "GSBI_BUILT_IN_FMODF";
      case GSBI_BUILT_IN_FMODL: return "GSBI_BUILT_IN_FMODL";
      case GSBI_BUILT_IN_FREXP: return "GSBI_BUILT_IN_FREXP";
      case GSBI_BUILT_IN_FREXPF: return "GSBI_BUILT_IN_FREXPF";
      case GSBI_BUILT_IN_FREXPL: return "GSBI_BUILT_IN_FREXPL";
      case GSBI_BUILT_IN_GAMMA: return "GSBI_BUILT_IN_GAMMA";
      case GSBI_BUILT_IN_GAMMAF: return "GSBI_BUILT_IN_GAMMAF";
      case GSBI_BUILT_IN_GAMMAL: return "GSBI_BUILT_IN_GAMMAL";
      case GSBI_BUILT_IN_HUGE_VAL: return "GSBI_BUILT_IN_HUGE_VAL";
      case GSBI_BUILT_IN_HUGE_VALF: return "GSBI_BUILT_IN_HUGE_VALF";
      case GSBI_BUILT_IN_HUGE_VALL: return "GSBI_BUILT_IN_HUGE_VALL";
      case GSBI_BUILT_IN_HYPOT: return "GSBI_BUILT_IN_HYPOT";
      case GSBI_BUILT_IN_HYPOTF: return "GSBI_BUILT_IN_HYPOTF";
      case GSBI_BUILT_IN_HYPOTL: return "GSBI_BUILT_IN_HYPOTL";
      case GSBI_BUILT_IN_ILOGB: return "GSBI_BUILT_IN_ILOGB";
      case GSBI_BUILT_IN_ILOGBF: return "GSBI_BUILT_IN_ILOGBF";
      case GSBI_BUILT_IN_ILOGBL: return "GSBI_BUILT_IN_ILOGBL";
      case GSBI_BUILT_IN_INF: return "GSBI_BUILT_IN_INF";
      case GSBI_BUILT_IN_INFF: return "GSBI_BUILT_IN_INFF";
      case GSBI_BUILT_IN_INFL: return "GSBI_BUILT_IN_INFL";
  #ifdef FE_GNU_4_2_0
      case GSBI_BUILT_IN_INFD32: return "GSBI_BUILT_IN_INFD32";
      case GSBI_BUILT_IN_INFD64: return "GSBI_BUILT_IN_INFD64";
      case GSBI_BUILT_IN_INFD128: return "GSBI_BUILT_IN_INFD128";
  #endif
      case GSBI_BUILT_IN_J0: return "GSBI_BUILT_IN_J0";
      case GSBI_BUILT_IN_J0F: return "GSBI_BUILT_IN_J0F";
      case GSBI_BUILT_IN_J0L: return "GSBI_BUILT_IN_J0L";
      case GSBI_BUILT_IN_J1: return "GSBI_BUILT_IN_J1";
      case GSBI_BUILT_IN_J1F: return "GSBI_BUILT_IN_J1F";
      case GSBI_BUILT_IN_J1L: return "GSBI_BUILT_IN_J1L";
      case GSBI_BUILT_IN_JN: return "GSBI_BUILT_IN_JN";
      case GSBI_BUILT_IN_JNF: return "GSBI_BUILT_IN_JNF";
      case GSBI_BUILT_IN_JNL: return "GSBI_BUILT_IN_JNL";
  #ifdef FE_GNU_4_2_0
      case GSBI_BUILT_IN_LCEIL: return "GSBI_BUILT_IN_LCEIL";
      case GSBI_BUILT_IN_LCEILF: return "GSBI_BUILT_IN_LCEILF";
      case GSBI_BUILT_IN_LCEILL: return "GSBI_BUILT_IN_LCEILL";
  #endif
      case GSBI_BUILT_IN_LDEXP: return "GSBI_BUILT_IN_LDEXP";
      case GSBI_BUILT_IN_LDEXPF: return "GSBI_BUILT_IN_LDEXPF";
      case GSBI_BUILT_IN_LDEXPL: return "GSBI_BUILT_IN_LDEXPL";
  #ifdef FE_GNU_4_2_0
      case GSBI_BUILT_IN_LFLOOR: return "GS_BUILT_IN_LFLOOR";
      case GSBI_BUILT_IN_LFLOORF: return "GS_BUILT_IN_LFLOORF";
      case GSBI_BUILT_IN_LFLOORL: return "GS_BUILT_IN_LFLOORL";
  #endif
      case GSBI_BUILT_IN_LGAMMA: return "GSBI_BUILT_IN_LGAMMA";
      case GSBI_BUILT_IN_LGAMMAF: return "GSBI_BUILT_IN_LGAMMAF";
      case GSBI_BUILT_IN_LGAMMAL: return "GSBI_BUILT_IN_LGAMMAL";
  #ifdef FE_GNU_4_2_0
      case GSBI_BUILT_IN_LLCEIL: return "GSBI_BUILT_IN_LLCEIL";
      case GSBI_BUILT_IN_LLCEILF: return "GSBI_BUILT_IN_LLCEILF";
      case GSBI_BUILT_IN_LLCEILL: return "GSBI_BUILT_IN_LLCEILL";
      case GSBI_BUILT_IN_LLFLOOR: return "GSBI_BUILT_IN_LLFLOOR";
      case GSBI_BUILT_IN_LLFLOORF: return "GSBI_BUILT_IN_LLFLOORF";
      case GSBI_BUILT_IN_LLFLOORL: return "GSBI_BUILT_IN_LLFLOORL";
  #endif
      case GSBI_BUILT_IN_LLRINT: return "GSBI_BUILT_IN_LLRINT";
      case GSBI_BUILT_IN_LLRINTF: return "GSBI_BUILT_IN_LLRINTF";
      case GSBI_BUILT_IN_LLRINTL: return "GSBI_BUILT_IN_LLRINTL";
      case GSBI_BUILT_IN_LLROUND: return "GSBI_BUILT_IN_LLROUND";
      case GSBI_BUILT_IN_LLROUNDF: return "GSBI_BUILT_IN_LLROUNDF";
      case GSBI_BUILT_IN_LLROUNDL: return "GSBI_BUILT_IN_LLROUNDL";
      case GSBI_BUILT_IN_LOG: return "GSBI_BUILT_IN_LOG";
      case GSBI_BUILT_IN_LOG10: return "GSBI_BUILT_IN_LOG10";
      case GSBI_BUILT_IN_LOG10F: return "GSBI_BUILT_IN_LOG10F";
      case GSBI_BUILT_IN_LOG10L: return "GSBI_BUILT_IN_LOG10L";
      case GSBI_BUILT_IN_LOG1P: return "GSBI_BUILT_IN_LOG1P";
      case GSBI_BUILT_IN_LOG1PF: return "GSBI_BUILT_IN_LOG1PF";
      case GSBI_BUILT_IN_LOG1PL: return "GSBI_BUILT_IN_LOG1PL";
      case GSBI_BUILT_IN_LOG2: return "GSBI_BUILT_IN_LOG2";
      case GSBI_BUILT_IN_LOG2F: return "GSBI_BUILT_IN_LOG2F";
      case GSBI_BUILT_IN_LOG2L: return "GSBI_BUILT_IN_LOG2L";
      case GSBI_BUILT_IN_LOGB: return "GSBI_BUILT_IN_LOGB";
      case GSBI_BUILT_IN_LOGBF: return "GSBI_BUILT_IN_LOGBF";
      case GSBI_BUILT_IN_LOGBL: return "GSBI_BUILT_IN_LOGBL";
      case GSBI_BUILT_IN_LOGF: return "GSBI_BUILT_IN_LOGF";
      case GSBI_BUILT_IN_LOGL: return "GSBI_BUILT_IN_LOGL";
      case GSBI_BUILT_IN_LRINT: return "GSBI_BUILT_IN_LRINT";
      case GSBI_BUILT_IN_LRINTF: return "GSBI_BUILT_IN_LRINTF";
      case GSBI_BUILT_IN_LRINTL: return "GSBI_BUILT_IN_LRINTL";
      case GSBI_BUILT_IN_LROUND: return "GSBI_BUILT_IN_LROUND";
      case GSBI_BUILT_IN_LROUNDF: return "GSBI_BUILT_IN_LROUNDF";
      case GSBI_BUILT_IN_LROUNDL: return "GSBI_BUILT_IN_LROUNDL";
      case GSBI_BUILT_IN_MODF: return "GSBI_BUILT_IN_MODF";
      case GSBI_BUILT_IN_MODFF: return "GSBI_BUILT_IN_MODFF";
      case GSBI_BUILT_IN_MODFL: return "GSBI_BUILT_IN_MODFL";
      case GSBI_BUILT_IN_NAN: return "GSBI_BUILT_IN_NAN";
      case GSBI_BUILT_IN_NANF: return "GSBI_BUILT_IN_NANF";
      case GSBI_BUILT_IN_NANL: return "GSBI_BUILT_IN_NANL";
  #ifdef FE_GNU_4_2_0
      case GSBI_BUILT_IN_NAND32: return "GSBI_BUILT_IN_NAND32";
      case GSBI_BUILT_IN_NAND64: return "GSBI_BUILT_IN_NAND64";
      case GSBI_BUILT_IN_NAND128: return "GSBI_BUILT_IN_NAND128";
  #endif
      case GSBI_BUILT_IN_NANS: return "GSBI_BUILT_IN_NANS";
      case GSBI_BUILT_IN_NANSF: return "GSBI_BUILT_IN_NANSF";
      case GSBI_BUILT_IN_NANSL: return "GSBI_BUILT_IN_NANSL";
      case GSBI_BUILT_IN_NEARBYINT: return "GSBI_BUILT_IN_NEARBYINT";
      case GSBI_BUILT_IN_NEARBYINTF: return "GSBI_BUILT_IN_NEARBYINTF";
      case GSBI_BUILT_IN_NEARBYINTL: return "GSBI_BUILT_IN_NEARBYINTL";
      case GSBI_BUILT_IN_NEXTAFTER: return "GSBI_BUILT_IN_NEXTAFTER";
      case GSBI_BUILT_IN_NEXTAFTERF: return "GSBI_BUILT_IN_NEXTAFTERF";
      case GSBI_BUILT_IN_NEXTAFTERL: return "GSBI_BUILT_IN_NEXTAFTERL";
      case GSBI_BUILT_IN_NEXTTOWARD: return "GSBI_BUILT_IN_NEXTTOWARD";
      case GSBI_BUILT_IN_NEXTTOWARDF: return "GSBI_BUILT_IN_NEXTTOWARDF";
      case GSBI_BUILT_IN_NEXTTOWARDL: return "GSBI_BUILT_IN_NEXTTOWARDL";
      case GSBI_BUILT_IN_POW: return "GSBI_BUILT_IN_POW";
      case GSBI_BUILT_IN_POW10: return "GSBI_BUILT_IN_POW10";
      case GSBI_BUILT_IN_POW10F: return "GSBI_BUILT_IN_POW10F";
      case GSBI_BUILT_IN_POW10L: return "GSBI_BUILT_IN_POW10L";
      case GSBI_BUILT_IN_POWF: return "GSBI_BUILT_IN_POWF";
      case GSBI_BUILT_IN_POWI: return "GSBI_BUILT_IN_POWI";
      case GSBI_BUILT_IN_POWIF: return "GSBI_BUILT_IN_POWIF";
      case GSBI_BUILT_IN_POWIL: return "GSBI_BUILT_IN_POWIL";
      case GSBI_BUILT_IN_POWL: return "GSBI_BUILT_IN_POWL";
      case GSBI_BUILT_IN_REMAINDER: return "GSBI_BUILT_IN_REMAINDER";
      case GSBI_BUILT_IN_REMAINDERF: return "GSBI_BUILT_IN_REMAINDERF";
      case GSBI_BUILT_IN_REMAINDERL: return "GSBI_BUILT_IN_REMAINDERL";
      case GSBI_BUILT_IN_REMQUO: return "GSBI_BUILT_IN_REMQUO";
      case GSBI_BUILT_IN_REMQUOF: return "GSBI_BUILT_IN_REMQUOF";
      case GSBI_BUILT_IN_REMQUOL: return "GSBI_BUILT_IN_REMQUOL";
      case GSBI_BUILT_IN_RINT: return "GSBI_BUILT_IN_RINT";
      case GSBI_BUILT_IN_RINTF: return "GSBI_BUILT_IN_RINTF";
      case GSBI_BUILT_IN_RINTL: return "GSBI_BUILT_IN_RINTL";
      case GSBI_BUILT_IN_ROUND: return "GSBI_BUILT_IN_ROUND";
      case GSBI_BUILT_IN_ROUNDF: return "GSBI_BUILT_IN_ROUNDF";
      case GSBI_BUILT_IN_ROUNDL: return "GSBI_BUILT_IN_ROUNDL";
      case GSBI_BUILT_IN_SCALB: return "GSBI_BUILT_IN_SCALB";
      case GSBI_BUILT_IN_SCALBF: return "GSBI_BUILT_IN_SCALBF";
      case GSBI_BUILT_IN_SCALBL: return "GSBI_BUILT_IN_SCALBL";
      case GSBI_BUILT_IN_SCALBLN: return "GSBI_BUILT_IN_SCALBLN";
      case GSBI_BUILT_IN_SCALBLNF: return "GSBI_BUILT_IN_SCALBLNF";
      case GSBI_BUILT_IN_SCALBLNL: return "GSBI_BUILT_IN_SCALBLNL";
      case GSBI_BUILT_IN_SCALBN: return "GSBI_BUILT_IN_SCALBN";
      case GSBI_BUILT_IN_SCALBNF: return "GSBI_BUILT_IN_SCALBNF";
      case GSBI_BUILT_IN_SCALBNL: return "GSBI_BUILT_IN_SCALBNL";
      case GSBI_BUILT_IN_SIGNBIT: return "GSBI_BUILT_IN_SIGNBIT";
      case GSBI_BUILT_IN_SIGNBITF: return "GSBI_BUILT_IN_SIGNBITF";
      case GSBI_BUILT_IN_SIGNBITL: return "GSBI_BUILT_IN_SIGNBITL";
      case GSBI_BUILT_IN_SIGNIFICAND: return "GSBI_BUILT_IN_SIGNIFICAND";
      case GSBI_BUILT_IN_SIGNIFICANDF: return "GSBI_BUILT_IN_SIGNIFICANDF";
      case GSBI_BUILT_IN_SIGNIFICANDL: return "GSBI_BUILT_IN_SIGNIFICANDL";
      case GSBI_BUILT_IN_SIN: return "GSBI_BUILT_IN_SIN";
      case GSBI_BUILT_IN_SINCOS: return "GSBI_BUILT_IN_SINCOS";
      case GSBI_BUILT_IN_SINCOSF: return "GSBI_BUILT_IN_SINCOSF";
      case GSBI_BUILT_IN_SINCOSL: return "GSBI_BUILT_IN_SINCOSL";
      case GSBI_BUILT_IN_SINF: return "GSBI_BUILT_IN_SINF";
      case GSBI_BUILT_IN_SINH: return "GSBI_BUILT_IN_SINH";
      case GSBI_BUILT_IN_SINHF: return "GSBI_BUILT_IN_SINHF";
      case GSBI_BUILT_IN_SINHL: return "GSBI_BUILT_IN_SINHL";
      case GSBI_BUILT_IN_SINL: return "GSBI_BUILT_IN_SINL";
      case GSBI_BUILT_IN_SQRT: return "GSBI_BUILT_IN_SQRT";
      case GSBI_BUILT_IN_SQRTF: return "GSBI_BUILT_IN_SQRTF";
      case GSBI_BUILT_IN_SQRTL: return "GSBI_BUILT_IN_SQRTL";
      case GSBI_BUILT_IN_TAN: return "GSBI_BUILT_IN_TAN";
      case GSBI_BUILT_IN_TANF: return "GSBI_BUILT_IN_TANF";
      case GSBI_BUILT_IN_TANH: return "GSBI_BUILT_IN_TANH";
      case GSBI_BUILT_IN_TANHF: return "GSBI_BUILT_IN_TANHF";
      case GSBI_BUILT_IN_TANHL: return "GSBI_BUILT_IN_TANHL";
      case GSBI_BUILT_IN_TANL: return "GSBI_BUILT_IN_TANL";
      case GSBI_BUILT_IN_TGAMMA: return "GSBI_BUILT_IN_TGAMMA";
      case GSBI_BUILT_IN_TGAMMAF: return "GSBI_BUILT_IN_TGAMMAF";
      case GSBI_BUILT_IN_TGAMMAL: return "GSBI_BUILT_IN_TGAMMAL";
      case GSBI_BUILT_IN_TRUNC: return "GSBI_BUILT_IN_TRUNC";
      case GSBI_BUILT_IN_TRUNCF: return "GSBI_BUILT_IN_TRUNCF";
      case GSBI_BUILT_IN_TRUNCL: return "GSBI_BUILT_IN_TRUNCL";
      case GSBI_BUILT_IN_Y0: return "GSBI_BUILT_IN_Y0";
      case GSBI_BUILT_IN_Y0F: return "GSBI_BUILT_IN_Y0F";
      case GSBI_BUILT_IN_Y0L: return "GSBI_BUILT_IN_Y0L";
      case GSBI_BUILT_IN_Y1: return "GSBI_BUILT_IN_Y1";
      case GSBI_BUILT_IN_Y1F: return "GSBI_BUILT_IN_Y1F";
      case GSBI_BUILT_IN_Y1L: return "GSBI_BUILT_IN_Y1L";
      case GSBI_BUILT_IN_YN: return "GSBI_BUILT_IN_YN";
      case GSBI_BUILT_IN_YNF: return "GSBI_BUILT_IN_YNF";
      case GSBI_BUILT_IN_YNL: return "GSBI_BUILT_IN_YNL";
      case GSBI_BUILT_IN_CABS: return "GSBI_BUILT_IN_CABS";
      case GSBI_BUILT_IN_CABSF: return "GSBI_BUILT_IN_CABSF";
      case GSBI_BUILT_IN_CABSL: return "GSBI_BUILT_IN_CABSL";
      case GSBI_BUILT_IN_CACOS: return "GSBI_BUILT_IN_CACOS";
      case GSBI_BUILT_IN_CACOSF: return "GSBI_BUILT_IN_CACOSF";
      case GSBI_BUILT_IN_CACOSH: return "GSBI_BUILT_IN_CACOSH";
      case GSBI_BUILT_IN_CACOSHF: return "GSBI_BUILT_IN_CACOSHF";
      case GSBI_BUILT_IN_CACOSHL: return "GSBI_BUILT_IN_CACOSHL";
      case GSBI_BUILT_IN_CACOSL: return "GSBI_BUILT_IN_CACOSL";
      case GSBI_BUILT_IN_CARG: return "GSBI_BUILT_IN_CARG";
      case GSBI_BUILT_IN_CARGF: return "GSBI_BUILT_IN_CARGF";
      case GSBI_BUILT_IN_CARGL: return "GSBI_BUILT_IN_CARGL";
      case GSBI_BUILT_IN_CASIN: return "GSBI_BUILT_IN_CASIN";
      case GSBI_BUILT_IN_CASINF: return "GSBI_BUILT_IN_CASINF";
      case GSBI_BUILT_IN_CASINH: return "GSBI_BUILT_IN_CASINH";
      case GSBI_BUILT_IN_CASINHF: return "GSBI_BUILT_IN_CASINHF";
      case GSBI_BUILT_IN_CASINHL: return "GSBI_BUILT_IN_CASINHL";
      case GSBI_BUILT_IN_CASINL: return "GSBI_BUILT_IN_CASINL";
      case GSBI_BUILT_IN_CATAN: return "GSBI_BUILT_IN_CATAN";
      case GSBI_BUILT_IN_CATANF: return "GSBI_BUILT_IN_CATANF";
      case GSBI_BUILT_IN_CATANH: return "GSBI_BUILT_IN_CATANH";
      case GSBI_BUILT_IN_CATANHF: return "GSBI_BUILT_IN_CATANHF";
      case GSBI_BUILT_IN_CATANHL: return "GSBI_BUILT_IN_CATANHL";
      case GSBI_BUILT_IN_CATANL: return "GSBI_BUILT_IN_CATANL";
      case GSBI_BUILT_IN_CCOS: return "GSBI_BUILT_IN_CCOS";
      case GSBI_BUILT_IN_CCOSF: return "GSBI_BUILT_IN_CCOSF";
      case GSBI_BUILT_IN_CCOSH: return "GSBI_BUILT_IN_CCOSH";
      case GSBI_BUILT_IN_CCOSHF: return "GSBI_BUILT_IN_CCOSHF";
      case GSBI_BUILT_IN_CCOSHL: return "GSBI_BUILT_IN_CCOSHL";
      case GSBI_BUILT_IN_CCOSL: return "GSBI_BUILT_IN_CCOSL";
      case GSBI_BUILT_IN_CEXP: return "GSBI_BUILT_IN_CEXP";
      case GSBI_BUILT_IN_CEXPF: return "GSBI_BUILT_IN_CEXPF";
      case GSBI_BUILT_IN_CEXPL: return "GSBI_BUILT_IN_CEXPL";
      case GSBI_BUILT_IN_CIMAG: return "GSBI_BUILT_IN_CIMAG";
      case GSBI_BUILT_IN_CIMAGF: return "GSBI_BUILT_IN_CIMAGF";
      case GSBI_BUILT_IN_CIMAGL: return "GSBI_BUILT_IN_CIMAGL";
      case GSBI_BUILT_IN_CLOG: return "GSBI_BUILT_IN_CLOG";
      case GSBI_BUILT_IN_CLOGF: return "GSBI_BUILT_IN_CLOGF";
      case GSBI_BUILT_IN_CLOGL: return "GSBI_BUILT_IN_CLOGL";
  #ifdef FE_GNU_4_2_0
      case GSBI_BUILT_IN_CLOG10: return "GSBI_BUILT_IN_CLOG10";
      case GSBI_BUILT_IN_CLOG10F: return "GSBI_BUILT_IN_CLOG10F";
      case GSBI_BUILT_IN_CLOG10L: return "GSBI_BUILT_IN_CLOG10L";
  #endif
      case GSBI_BUILT_IN_CONJ: return "GSBI_BUILT_IN_CONJ";
      case GSBI_BUILT_IN_CONJF: return "GSBI_BUILT_IN_CONJF";
      case GSBI_BUILT_IN_CONJL: return "GSBI_BUILT_IN_CONJL";
      case GSBI_BUILT_IN_CPOW: return "GSBI_BUILT_IN_CPOW";
      case GSBI_BUILT_IN_CPOWF: return "GSBI_BUILT_IN_CPOWF";
      case GSBI_BUILT_IN_CPOWL: return "GSBI_BUILT_IN_CPOWL";
      case GSBI_BUILT_IN_CPROJ: return "GSBI_BUILT_IN_CPROJ";
      case GSBI_BUILT_IN_CPROJF: return "GSBI_BUILT_IN_CPROJF";
      case GSBI_BUILT_IN_CPROJL: return "GSBI_BUILT_IN_CPROJL";
      case GSBI_BUILT_IN_CREAL: return "GSBI_BUILT_IN_CREAL";
      case GSBI_BUILT_IN_CREALF: return "GSBI_BUILT_IN_CREALF";
      case GSBI_BUILT_IN_CREALL: return "GSBI_BUILT_IN_CREALL";
      case GSBI_BUILT_IN_CSIN: return "GSBI_BUILT_IN_CSIN";
      case GSBI_BUILT_IN_CSINF: return "GSBI_BUILT_IN_CSINF";
      case GSBI_BUILT_IN_CSINH: return "GSBI_BUILT_IN_CSINH";
      case GSBI_BUILT_IN_CSINHF: return "GSBI_BUILT_IN_CSINHF";
      case GSBI_BUILT_IN_CSINHL: return "GSBI_BUILT_IN_CSINHL";
      case GSBI_BUILT_IN_CSINL: return "GSBI_BUILT_IN_CSINL";
      case GSBI_BUILT_IN_CSQRT: return "GSBI_BUILT_IN_CSQRT";
      case GSBI_BUILT_IN_CSQRTF: return "GSBI_BUILT_IN_CSQRTF";
      case GSBI_BUILT_IN_CSQRTL: return "GSBI_BUILT_IN_CSQRTL";
      case GSBI_BUILT_IN_CTAN: return "GSBI_BUILT_IN_CTAN";
      case GSBI_BUILT_IN_CTANF: return "GSBI_BUILT_IN_CTANF";
      case GSBI_BUILT_IN_CTANH: return "GSBI_BUILT_IN_CTANH";
      case GSBI_BUILT_IN_CTANHF: return "GSBI_BUILT_IN_CTANHF";
      case GSBI_BUILT_IN_CTANHL: return "GSBI_BUILT_IN_CTANHL";
      case GSBI_BUILT_IN_CTANL: return "GSBI_BUILT_IN_CTANL";
      case GSBI_BUILT_IN_BCMP: return "GSBI_BUILT_IN_BCMP";
      case GSBI_BUILT_IN_BCOPY: return "GSBI_BUILT_IN_BCOPY";
      case GSBI_BUILT_IN_BZERO: return "GSBI_BUILT_IN_BZERO";
      case GSBI_BUILT_IN_INDEX: return "GSBI_BUILT_IN_INDEX";
      case GSBI_BUILT_IN_MEMCMP: return "GSBI_BUILT_IN_MEMCMP";
      case GSBI_BUILT_IN_MEMCPY: return "GSBI_BUILT_IN_MEMCPY";
      case GSBI_BUILT_IN_MEMMOVE: return "GSBI_BUILT_IN_MEMMOVE";
      case GSBI_BUILT_IN_MEMPCPY: return "GSBI_BUILT_IN_MEMPCPY";
      case GSBI_BUILT_IN_MEMSET: return "GSBI_BUILT_IN_MEMSET";
      case GSBI_BUILT_IN_RINDEX: return "GSBI_BUILT_IN_RINDEX";
      case GSBI_BUILT_IN_STPCPY: return "GSBI_BUILT_IN_STPCPY";
  #ifdef FE_GNU_4_2_0
      case GSBI_BUILT_IN_STPNCPY: return "GSBI_BUILT_IN_STPNCPY";
      case GSBI_BUILT_IN_STRCASECMP: return "GSBI_BUILT_IN_STRCASECMP";
  #endif
      case GSBI_BUILT_IN_STRCAT: return "GSBI_BUILT_IN_STRCAT";
      case GSBI_BUILT_IN_STRCHR: return "GSBI_BUILT_IN_STRCHR";
      case GSBI_BUILT_IN_STRCMP: return "GSBI_BUILT_IN_STRCMP";
      case GSBI_BUILT_IN_STRCPY: return "GSBI_BUILT_IN_STRCPY";
      case GSBI_BUILT_IN_STRCSPN: return "GSBI_BUILT_IN_STRCSPN";
      case GSBI_BUILT_IN_STRDUP: return "GSBI_BUILT_IN_STRDUP";
  #ifdef FE_GNU_4_2_0
      case GSBI_BUILT_IN_STRNDUP: return "GSBI_BUILT_IN_STRNDUP";
  #endif
      case GSBI_BUILT_IN_STRLEN: return "GSBI_BUILT_IN_STRLEN";
  #ifdef FE_GNU_4_2_0
      case GSBI_BUILT_IN_STRNCASECMP: return "GSBI_BUILT_IN_STRNCASECMP";
  #endif
      case GSBI_BUILT_IN_STRNCAT: return "GSBI_BUILT_IN_STRNCAT";
      case GSBI_BUILT_IN_STRNCMP: return "GSBI_BUILT_IN_STRNCMP";
      case GSBI_BUILT_IN_STRNCPY: return "GSBI_BUILT_IN_STRNCPY";
      case GSBI_BUILT_IN_STRPBRK: return "GSBI_BUILT_IN_STRPBRK";
      case GSBI_BUILT_IN_STRRCHR: return "GSBI_BUILT_IN_STRRCHR";
      case GSBI_BUILT_IN_STRSPN: return "GSBI_BUILT_IN_STRSPN";
      case GSBI_BUILT_IN_STRSTR: return "GSBI_BUILT_IN_STRSTR";
      case GSBI_BUILT_IN_FPRINTF: return "GSBI_BUILT_IN_FPRINTF";
      case GSBI_BUILT_IN_FPRINTF_UNLOCKED: return "GSBI_BUILT_IN_FPRINTF_UNLOCKED";
  #ifdef FE_GNU_4_2_0
      case GSBI_BUILT_IN_PUTC: return "GSBI_BUILT_IN_PUTC";
      case GSBI_BUILT_IN_PUTC_UNLOCKED: return "GSBI_BUILT_IN_PUTC_UNLOCKED";
  #endif
      case GSBI_BUILT_IN_FPUTC: return "GSBI_BUILT_IN_FPUTC";
      case GSBI_BUILT_IN_FPUTC_UNLOCKED: return "GSBI_BUILT_IN_FPUTC_UNLOCKED";
      case GSBI_BUILT_IN_FPUTS: return "GSBI_BUILT_IN_FPUTS";
      case GSBI_BUILT_IN_FPUTS_UNLOCKED: return "GSBI_BUILT_IN_FPUTS_UNLOCKED";
      case GSBI_BUILT_IN_FSCANF: return "GSBI_BUILT_IN_FSCANF";
      case GSBI_BUILT_IN_FWRITE: return "GSBI_BUILT_IN_FWRITE";
      case GSBI_BUILT_IN_FWRITE_UNLOCKED: return "GSBI_BUILT_IN_FWRITE_UNLOCKED";
      case GSBI_BUILT_IN_PRINTF: return "GSBI_BUILT_IN_PRINTF";
      case GSBI_BUILT_IN_PRINTF_UNLOCKED: return "GSBI_BUILT_IN_PRINTF_UNLOCKED";
      case GSBI_BUILT_IN_PUTCHAR: return "GSBI_BUILT_IN_PUTCHAR";
      case GSBI_BUILT_IN_PUTCHAR_UNLOCKED: return "GSBI_BUILT_IN_PUTCHAR_UNLOCKED";
      case GSBI_BUILT_IN_PUTS: return "GSBI_BUILT_IN_PUTS";
      case GSBI_BUILT_IN_PUTS_UNLOCKED: return "GSBI_BUILT_IN_PUTS_UNLOCKED";
      case GSBI_BUILT_IN_SCANF: return "GSBI_BUILT_IN_SCANF";
      case GSBI_BUILT_IN_SNPRINTF: return "GSBI_BUILT_IN_SNPRINTF";
      case GSBI_BUILT_IN_SPRINTF: return "GSBI_BUILT_IN_SPRINTF";
      case GSBI_BUILT_IN_SSCANF: return "GSBI_BUILT_IN_SSCANF";
      case GSBI_BUILT_IN_VFPRINTF: return "GSBI_BUILT_IN_VFPRINTF";
      case GSBI_BUILT_IN_VFSCANF: return "GSBI_BUILT_IN_VFSCANF";
      case GSBI_BUILT_IN_VPRINTF: return "GSBI_BUILT_IN_VPRINTF";
      case GSBI_BUILT_IN_VSCANF: return "GSBI_BUILT_IN_VSCANF";
      case GSBI_BUILT_IN_VSNPRINTF: return "GSBI_BUILT_IN_VSNPRINTF";
      case GSBI_BUILT_IN_VSPRINTF: return "GSBI_BUILT_IN_VSPRINTF";
      case GSBI_BUILT_IN_VSSCANF: return "GSBI_BUILT_IN_VSSCANF";
      case GSBI_BUILT_IN_ISALNUM: return "GSBI_BUILT_IN_ISALNUM";
      case GSBI_BUILT_IN_ISALPHA: return "GSBI_BUILT_IN_ISALPHA";
      case GSBI_BUILT_IN_ISASCII: return "GSBI_BUILT_IN_ISASCII";
      case GSBI_BUILT_IN_ISBLANK: return "GSBI_BUILT_IN_ISBLANK";
      case GSBI_BUILT_IN_ISCNTRL: return "GSBI_BUILT_IN_ISCNTRL";
      case GSBI_BUILT_IN_ISDIGIT: return "GSBI_BUILT_IN_ISDIGIT";
      case GSBI_BUILT_IN_ISGRAPH: return "GSBI_BUILT_IN_ISGRAPH";
      case GSBI_BUILT_IN_ISLOWER: return "GSBI_BUILT_IN_ISLOWER";
      case GSBI_BUILT_IN_ISPRINT: return "GSBI_BUILT_IN_ISPRINT";
      case GSBI_BUILT_IN_ISPUNCT: return "GSBI_BUILT_IN_ISPUNCT";
      case GSBI_BUILT_IN_ISSPACE: return "GSBI_BUILT_IN_ISSPACE";
      case GSBI_BUILT_IN_ISUPPER: return "GSBI_BUILT_IN_ISUPPER";
      case GSBI_BUILT_IN_ISXDIGIT: return "GSBI_BUILT_IN_ISXDIGIT";
      case GSBI_BUILT_IN_TOASCII: return "GSBI_BUILT_IN_TOASCII";
      case GSBI_BUILT_IN_TOLOWER: return "GSBI_BUILT_IN_TOLOWER";
      case GSBI_BUILT_IN_TOUPPER: return "GSBI_BUILT_IN_TOUPPER";
      case GSBI_BUILT_IN_ISWALNUM: return "GSBI_BUILT_IN_ISWALNUM";
      case GSBI_BUILT_IN_ISWALPHA: return "GSBI_BUILT_IN_ISWALPHA";
      case GSBI_BUILT_IN_ISWBLANK: return "GSBI_BUILT_IN_ISWBLANK";
      case GSBI_BUILT_IN_ISWCNTRL: return "GSBI_BUILT_IN_ISWCNTRL";
      case GSBI_BUILT_IN_ISWDIGIT: return "GSBI_BUILT_IN_ISWDIGIT";
      case GSBI_BUILT_IN_ISWGRAPH: return "GSBI_BUILT_IN_ISWGRAPH";
      case GSBI_BUILT_IN_ISWLOWER: return "GSBI_BUILT_IN_ISWLOWER";
      case GSBI_BUILT_IN_ISWPRINT: return "GSBI_BUILT_IN_ISWPRINT";
      case GSBI_BUILT_IN_ISWPUNCT: return "GSBI_BUILT_IN_ISWPUNCT";
      case GSBI_BUILT_IN_ISWSPACE: return "GSBI_BUILT_IN_ISWSPACE";
      case GSBI_BUILT_IN_ISWUPPER: return "GSBI_BUILT_IN_ISWUPPER";
      case GSBI_BUILT_IN_CTYPE_B_LOC: return "GSBI_BUILT_IN_CTYPE_B_LOC";
      case GSBI_BUILT_IN_CTYPE_TOUPPER_LOC: return "GSBI_BUILT_IN_CTYPE_TOUPPER_LOC";
      case GSBI_BUILT_IN_CTYPE_TOLOWER_LOC: return "GSBI_BUILT_IN_CTYPE_TOLOWER_LOC"; 
      case GSBI_BUILT_IN_ISWXDIGIT: return "GSBI_BUILT_IN_ISWXDIGIT";
      case GSBI_BUILT_IN_TOWLOWER: return "GSBI_BUILT_IN_TOWLOWER";
      case GSBI_BUILT_IN_TOWUPPER: return "GSBI_BUILT_IN_TOWUPPER";
      case GSBI_BUILT_IN_ABORT: return "GSBI_BUILT_IN_ABORT";
      case GSBI_BUILT_IN_ABS: return "GSBI_BUILT_IN_ABS";
      case GSBI_BUILT_IN_AGGREGATE_INCOMING_ADDRESS: return "GSBI_BUILT_IN_AGGREGATE_INCOMING_ADDRESS";
      case GSBI_BUILT_IN_ALLOCA: return "GSBI_BUILT_IN_ALLOCA";
      case GSBI_BUILT_IN_APPLY: return "GSBI_BUILT_IN_APPLY";
      case GSBI_BUILT_IN_APPLY_ARGS: return "GSBI_BUILT_IN_APPLY_ARGS";
      case GSBI_BUILT_IN_ARGS_INFO: return "GSBI_BUILT_IN_ARGS_INFO";
      case GSBI_BUILT_IN_CALLOC: return "GSBI_BUILT_IN_CALLOC";
      case GSBI_BUILT_IN_CLASSIFY_TYPE: return "GSBI_BUILT_IN_CLASSIFY_TYPE";
      case GSBI_BUILT_IN_CLZ: return "GSBI_BUILT_IN_CLZ";
      case GSBI_BUILT_IN_CLZIMAX: return "GSBI_BUILT_IN_CLZIMAX";
      case GSBI_BUILT_IN_CLZL: return "GSBI_BUILT_IN_CLZL";
      case GSBI_BUILT_IN_CLZLL: return "GSBI_BUILT_IN_CLZLL";
      case GSBI_BUILT_IN_CONSTANT_P: return "GSBI_BUILT_IN_CONSTANT_P";
      case GSBI_BUILT_IN_CTZ: return "GSBI_BUILT_IN_CTZ";
      case GSBI_BUILT_IN_CTZIMAX: return "GSBI_BUILT_IN_CTZIMAX";
      case GSBI_BUILT_IN_CTZL: return "GSBI_BUILT_IN_CTZL";
      case GSBI_BUILT_IN_CTZLL: return "GSBI_BUILT_IN_CTZLL";
      case GSBI_BUILT_IN_DCGETTEXT: return "GSBI_BUILT_IN_DCGETTEXT";
      case GSBI_BUILT_IN_DGETTEXT: return "GSBI_BUILT_IN_DGETTEXT";
      case GSBI_BUILT_IN_DWARF_CFA: return "GSBI_BUILT_IN_DWARF_CFA";
      case GSBI_BUILT_IN_DWARF_SP_COLUMN: return "GSBI_BUILT_IN_DWARF_SP_COLUMN";
      case GSBI_BUILT_IN_EH_RETURN: return "GSBI_BUILT_IN_EH_RETURN";
      case GSBI_BUILT_IN_EH_RETURN_DATA_REGNO: return "GSBI_BUILT_IN_EH_RETURN_DATA_REGNO";
      case GSBI_BUILT_IN_EXECL: return "GSBI_BUILT_IN_EXECL";
      case GSBI_BUILT_IN_EXECLP: return "GSBI_BUILT_IN_EXECLP";
      case GSBI_BUILT_IN_EXECLE: return "GSBI_BUILT_IN_EXECLE";
      case GSBI_BUILT_IN_EXECV: return "GSBI_BUILT_IN_EXECV";
      case GSBI_BUILT_IN_EXECVP: return "GSBI_BUILT_IN_EXECVP";
      case GSBI_BUILT_IN_EXECVE: return "GSBI_BUILT_IN_EXECVE";
      case GSBI_BUILT_IN_EXIT: return "GSBI_BUILT_IN_EXIT";
      case GSBI_BUILT_IN_EXPECT: return "GSBI_BUILT_IN_EXPECT";
      case GSBI_BUILT_IN_EXTEND_POINTER: return "GSBI_BUILT_IN_EXTEND_POINTER";
      case GSBI_BUILT_IN_EXTRACT_RETURN_ADDR: return "GSBI_BUILT_IN_EXTRACT_RETURN_ADDR";
      case GSBI_BUILT_IN_FFS: return "GSBI_BUILT_IN_FFS";
      case GSBI_BUILT_IN_FFSIMAX: return "GSBI_BUILT_IN_FFSIMAX";
      case GSBI_BUILT_IN_FFSL: return "GSBI_BUILT_IN_FFSL";
      case GSBI_BUILT_IN_FFSLL: return "GSBI_BUILT_IN_FFSLL";
      case GSBI_BUILT_IN_FORK: return "GSBI_BUILT_IN_FORK";
      case GSBI_BUILT_IN_FRAME_ADDRESS: return "GSBI_BUILT_IN_FRAME_ADDRESS";
      case GSBI_BUILT_IN_FROB_RETURN_ADDR: return "GSBI_BUILT_IN_FROB_RETURN_ADDR";
      case GSBI_BUILT_IN_GETTEXT: return "GSBI_BUILT_IN_GETTEXT";
      case GSBI_BUILT_IN_IMAXABS: return "GSBI_BUILT_IN_IMAXABS";
      case GSBI_BUILT_IN_INIT_DWARF_REG_SIZES: return "GSBI_BUILT_IN_INIT_DWARF_REG_SIZES";
      case GSBI_BUILT_IN_FINITE: return "GSBI_BUILT_IN_FINITE";
      case GSBI_BUILT_IN_FINITEF: return "GSBI_BUILT_IN_FINITEF";
      case GSBI_BUILT_IN_FINITEL: return "GSBI_BUILT_IN_FINITEL";
  #ifdef FE_GNU_4_2_0
      case GSBI_BUILT_IN_FINITED32: return "GSBI_BUILT_IN_FINITED32";
      case GSBI_BUILT_IN_FINITED64: return "GSBI_BUILT_IN_FINITED64";
      case GSBI_BUILT_IN_FINITED128: return "GSBI_BUILT_IN_FINITED128";
  #endif
      case GSBI_BUILT_IN_ISINF: return "GSBI_BUILT_IN_ISINF";
      case GSBI_BUILT_IN_ISINFF: return "GSBI_BUILT_IN_ISINFF";
      case GSBI_BUILT_IN_ISINFL: return "GSBI_BUILT_IN_ISINFL";
  #ifdef FE_GNU_4_2_0
      case GSBI_BUILT_IN_ISINFD32: return "GSBI_BUILT_IN_ISINFD32";
      case GSBI_BUILT_IN_ISINFD64: return "GSBI_BUILT_IN_ISINFD64";
      case GSBI_BUILT_IN_ISINFD128: return "GSBI_BUILT_IN_ISINFD128";
  #endif
      case GSBI_BUILT_IN_ISNAN: return "GSBI_BUILT_IN_ISNAN";
      case GSBI_BUILT_IN_ISNANF: return "GSBI_BUILT_IN_ISNANF";
      case GSBI_BUILT_IN_ISNANL: return "GSBI_BUILT_IN_ISNANL";
  #ifdef FE_GNU_4_2_0
      case GSBI_BUILT_IN_ISNAND32: return "GSBI_BUILT_IN_ISNAND32";
      case GSBI_BUILT_IN_ISNAND64: return "GSBI_BUILT_IN_ISNAND64";
      case GSBI_BUILT_IN_ISNAND128: return "GSBI_BUILT_IN_ISNAND128";
  #endif
      case GSBI_BUILT_IN_ISGREATER: return "GSBI_BUILT_IN_ISGREATER";
      case GSBI_BUILT_IN_ISGREATEREQUAL: return "GSBI_BUILT_IN_ISGREATEREQUAL";
      case GSBI_BUILT_IN_ISLESS: return "GSBI_BUILT_IN_ISLESS";
      case GSBI_BUILT_IN_ISLESSEQUAL: return "GSBI_BUILT_IN_ISLESSEQUAL";
      case GSBI_BUILT_IN_ISLESSGREATER: return "GSBI_BUILT_IN_ISLESSGREATER";
      case GSBI_BUILT_IN_ISUNORDERED: return "GSBI_BUILT_IN_ISUNORDERED";
      case GSBI_BUILT_IN_LABS: return "GSBI_BUILT_IN_LABS";
      case GSBI_BUILT_IN_LLABS: return "GSBI_BUILT_IN_LLABS";
      case GSBI_BUILT_IN_LONGJMP: return "GSBI_BUILT_IN_LONGJMP";
      case GSBI_BUILT_IN_MALLOC: return "GSBI_BUILT_IN_MALLOC";
      case GSBI_BUILT_IN_NEXT_ARG: return "GSBI_BUILT_IN_NEXT_ARG";
      case GSBI_BUILT_IN_PARITY: return "GSBI_BUILT_IN_PARITY";
      case GSBI_BUILT_IN_PARITYIMAX: return "GSBI_BUILT_IN_PARITYIMAX";
      case GSBI_BUILT_IN_PARITYL: return "GSBI_BUILT_IN_PARITYL";
      case GSBI_BUILT_IN_PARITYLL: return "GSBI_BUILT_IN_PARITYLL";
      case GSBI_BUILT_IN_POPCOUNT: return "GSBI_BUILT_IN_POPCOUNT";
      case GSBI_BUILT_IN_POPCOUNTIMAX: return "GSBI_BUILT_IN_POPCOUNTIMAX";
      case GSBI_BUILT_IN_POPCOUNTL: return "GSBI_BUILT_IN_POPCOUNTL";
      case GSBI_BUILT_IN_POPCOUNTLL: return "GSBI_BUILT_IN_POPCOUNTLL";
      case GSBI_BUILT_IN_PREFETCH: return "GSBI_BUILT_IN_PREFETCH";
      case GSBI_BUILT_IN_RETURN: return "GSBI_BUILT_IN_RETURN";
      case GSBI_BUILT_IN_RETURN_ADDRESS: return "GSBI_BUILT_IN_RETURN_ADDRESS";
      case GSBI_BUILT_IN_SAVEREGS: return "GSBI_BUILT_IN_SAVEREGS";
      case GSBI_BUILT_IN_SETJMP: return "GSBI_BUILT_IN_SETJMP";
      case GSBI_BUILT_IN_STDARG_START: return "GSBI_BUILT_IN_STDARG_START";
      case GSBI_BUILT_IN_STRFMON: return "GSBI_BUILT_IN_STRFMON";
      case GSBI_BUILT_IN_STRFTIME: return "GSBI_BUILT_IN_STRFTIME";
      case GSBI_BUILT_IN_TRAP: return "GSBI_BUILT_IN_TRAP";
      case GSBI_BUILT_IN_UNWIND_INIT: return "GSBI_BUILT_IN_UNWIND_INIT";
      case GSBI_BUILT_IN_UPDATE_SETJMP_BUF: return "GSBI_BUILT_IN_UPDATE_SETJMP_BUF";
      case GSBI_BUILT_IN_VA_COPY: return "GSBI_BUILT_IN_VA_COPY";
      case GSBI_BUILT_IN_VA_END: return "GSBI_BUILT_IN_VA_END";
      case GSBI_BUILT_IN_VA_START: return "GSBI_BUILT_IN_VA_START";
      case GSBI_BUILT_IN__EXIT: return "GSBI_BUILT_IN__EXIT";
      case GSBI_BUILT_IN__EXIT2: return "GSBI_BUILT_IN__EXIT2";
      case GSBI_BUILT_IN_INIT_TRAMPOLINE: return "GSBI_BUILT_IN_INIT_TRAMPOLINE";
      case GSBI_BUILT_IN_ADJUST_TRAMPOLINE: return "GSBI_BUILT_IN_ADJUST_TRAMPOLINE";
      case GSBI_BUILT_IN_NONLOCAL_GOTO: return "GSBI_BUILT_IN_NONLOCAL_GOTO";
  #ifdef FE_GNU_4_2_0
      case GSBI_BUILT_IN_SETJMP_SETUP: return "GSBI_BUILT_IN_SETJMP_SETUP";
      case GSBI_BUILT_IN_SETJMP_DISPATCHER: return "GSBI_BUILT_IN_SETJMP_DISPATCHER";
      case GSBI_BUILT_IN_SETJMP_RECEIVER: return "GSBI_BUILT_IN_SETJMP_RECEIVER";
  #endif
      case GSBI_BUILT_IN_STACK_SAVE: return "GSBI_BUILT_IN_STACK_SAVE";
      case GSBI_BUILT_IN_STACK_RESTORE: return "GSBI_BUILT_IN_STACK_RESTORE";
  #ifdef FE_GNU_4_2_0
      case GSBI_BUILT_IN_OBJECT_SIZE: return "GSBI_BUILT_IN_OBJECT_SIZE";
      case GSBI_BUILT_IN_MEMCPY_CHK: return "GSBI_BUILT_IN_MEMCPY_CHK";
      case GSBI_BUILT_IN_MEMMOVE_CHK: return "GSBI_BUILT_IN_MEMMOVE_CHK";
      case GSBI_BUILT_IN_MEMPCPY_CHK: return "GSBI_BUILT_IN_MEMPCPY_CHK";
      case GSBI_BUILT_IN_MEMSET_CHK: return "GSBI_BUILT_IN_MEMSET_CHK";
      case GSBI_BUILT_IN_STPCPY_CHK: return "GSBI_BUILT_IN_STPCPY_CHK";
      case GSBI_BUILT_IN_STRCAT_CHK: return "GSBI_BUILT_IN_STRCAT_CHK";
      case GSBI_BUILT_IN_STRCPY_CHK: return "GSBI_BUILT_IN_STRCPY_CHK";
      case GSBI_BUILT_IN_STRNCAT_CHK: return "GSBI_BUILT_IN_STRNCAT_CHK";
      case GSBI_BUILT_IN_STRNCPY_CHK: return "GSBI_BUILT_IN_STRNCPY_CHK";
      case GSBI_BUILT_IN_SNPRINTF_CHK: return "GSBI_BUILT_IN_SNPRINTF_CHK";
      case GSBI_BUILT_IN_SPRINTF_CHK: return "GSBI_BUILT_IN_SPRINTF_CHK";
      case GSBI_BUILT_IN_VSNPRINTF_CHK: return "GSBI_BUILT_IN_VSNPRINTF_CHK";
      case GSBI_BUILT_IN_VSPRINTF_CHK: return "GSBI_BUILT_IN_VSPRINTF_CHK";
      case GSBI_BUILT_IN_FPRINTF_CHK: return "GSBI_BUILT_IN_FPRINTF_CHK";
      case GSBI_BUILT_IN_PRINTF_CHK: return "GSBI_BUILT_IN_PRINTF_CHK";
      case GSBI_BUILT_IN_VFPRINTF_CHK: return "GSBI_BUILT_IN_VFPRINTF_CHK";
      case GSBI_BUILT_IN_VPRINTF_CHK: return "GSBI_BUILT_IN_VPRINTF_CHK";
  #endif
      case GSBI_BUILT_IN_PROFILE_FUNC_ENTER: return "GSBI_BUILT_IN_PROFILE_FUNC_ENTER";
      case GSBI_BUILT_IN_PROFILE_FUNC_EXIT: return "GSBI_BUILT_IN_PROFILE_FUNC_EXIT";
  #ifdef FE_GNU_4_2_0
      case GSBI_BUILT_IN_FETCH_AND_ADD_N: return "GSBI_BUILT_IN_FETCH_AND_ADD_N";
      case GSBI_BUILT_IN_FETCH_AND_ADD_1: return "GSBI_BUILT_IN_FETCH_AND_ADD_1";
      case GSBI_BUILT_IN_FETCH_AND_ADD_2: return "GSBI_BUILT_IN_FETCH_AND_ADD_2";
      case GSBI_BUILT_IN_FETCH_AND_ADD_4: return "GSBI_BUILT_IN_FETCH_AND_ADD_4";
      case GSBI_BUILT_IN_FETCH_AND_ADD_8: return "GSBI_BUILT_IN_FETCH_AND_ADD_8";
      case GSBI_BUILT_IN_FETCH_AND_ADD_16: return "GSBI_BUILT_IN_FETCH_AND_ADD_16";
      case GSBI_BUILT_IN_FETCH_AND_SUB_N: return "GSBI_BUILT_IN_FETCH_AND_SUB_N";
      case GSBI_BUILT_IN_FETCH_AND_SUB_1: return "GSBI_BUILT_IN_FETCH_AND_SUB_1";
      case GSBI_BUILT_IN_FETCH_AND_SUB_2: return "GSBI_BUILT_IN_FETCH_AND_SUB_2";
      case GSBI_BUILT_IN_FETCH_AND_SUB_4: return "GSBI_BUILT_IN_FETCH_AND_SUB_4";
      case GSBI_BUILT_IN_FETCH_AND_SUB_8: return "GSBI_BUILT_IN_FETCH_AND_SUB_8";
      case GSBI_BUILT_IN_FETCH_AND_SUB_16: return "GSBI_BUILT_IN_FETCH_AND_SUB_16";
      case GSBI_BUILT_IN_FETCH_AND_OR_N: return "GSBI_BUILT_IN_FETCH_AND_OR_N";
      case GSBI_BUILT_IN_FETCH_AND_OR_1: return "GSBI_BUILT_IN_FETCH_AND_OR_1";
      case GSBI_BUILT_IN_FETCH_AND_OR_2: return "GSBI_BUILT_IN_FETCH_AND_OR_2";
      case GSBI_BUILT_IN_FETCH_AND_OR_4: return "GSBI_BUILT_IN_FETCH_AND_OR_4";
      case GSBI_BUILT_IN_FETCH_AND_OR_8: return "GSBI_BUILT_IN_FETCH_AND_OR_8";
      case GSBI_BUILT_IN_FETCH_AND_OR_16: return "GSBI_BUILT_IN_FETCH_AND_OR_16";
      case GSBI_BUILT_IN_FETCH_AND_AND_N: return "GSBI_BUILT_IN_FETCH_AND_AND_N";
      case GSBI_BUILT_IN_FETCH_AND_AND_1: return "GSBI_BUILT_IN_FETCH_AND_AND_1";
      case GSBI_BUILT_IN_FETCH_AND_AND_2: return "GSBI_BUILT_IN_FETCH_AND_AND_2";
      case GSBI_BUILT_IN_FETCH_AND_AND_4: return "GSBI_BUILT_IN_FETCH_AND_AND_4";
      case GSBI_BUILT_IN_FETCH_AND_AND_8: return "GSBI_BUILT_IN_FETCH_AND_AND_8";
      case GSBI_BUILT_IN_FETCH_AND_AND_16: return "GSBI_BUILT_IN_FETCH_AND_AND_16";
      case GSBI_BUILT_IN_FETCH_AND_XOR_N: return "GSBI_BUILT_IN_FETCH_AND_XOR_N";
      case GSBI_BUILT_IN_FETCH_AND_XOR_1: return "GSBI_BUILT_IN_FETCH_AND_XOR_1";
      case GSBI_BUILT_IN_FETCH_AND_XOR_2: return "GSBI_BUILT_IN_FETCH_AND_XOR_2";
      case GSBI_BUILT_IN_FETCH_AND_XOR_4: return "GSBI_BUILT_IN_FETCH_AND_XOR_4";
      case GSBI_BUILT_IN_FETCH_AND_XOR_8: return "GSBI_BUILT_IN_FETCH_AND_XOR_8";
      case GSBI_BUILT_IN_FETCH_AND_XOR_16: return "GSBI_BUILT_IN_FETCH_AND_XOR_16";
      case GSBI_BUILT_IN_FETCH_AND_NAND_N: return "GSBI_BUILT_IN_FETCH_AND_NAND_N";
      case GSBI_BUILT_IN_FETCH_AND_NAND_1: return "GSBI_BUILT_IN_FETCH_AND_NAND_1";
      case GSBI_BUILT_IN_FETCH_AND_NAND_2: return "GSBI_BUILT_IN_FETCH_AND_NAND_2";
      case GSBI_BUILT_IN_FETCH_AND_NAND_4: return "GSBI_BUILT_IN_FETCH_AND_NAND_4";
      case GSBI_BUILT_IN_FETCH_AND_NAND_8: return "GSBI_BUILT_IN_FETCH_AND_NAND_8";
      case GSBI_BUILT_IN_FETCH_AND_NAND_16: return "GSBI_BUILT_IN_FETCH_AND_NAND_16";
      case GSBI_BUILT_IN_ADD_AND_FETCH_N: return "GSBI_BUILT_IN_ADD_AND_FETCH_N";
      case GSBI_BUILT_IN_ADD_AND_FETCH_1: return "GSBI_BUILT_IN_ADD_AND_FETCH_1";
      case GSBI_BUILT_IN_ADD_AND_FETCH_2: return "GSBI_BUILT_IN_ADD_AND_FETCH_2";
      case GSBI_BUILT_IN_ADD_AND_FETCH_4: return "GSBI_BUILT_IN_ADD_AND_FETCH_4";
      case GSBI_BUILT_IN_ADD_AND_FETCH_8: return "GSBI_BUILT_IN_ADD_AND_FETCH_8";
      case GSBI_BUILT_IN_ADD_AND_FETCH_16: return "GSBI_BUILT_IN_ADD_AND_FETCH_16";
      case GSBI_BUILT_IN_SUB_AND_FETCH_N: return "GSBI_BUILT_IN_SUB_AND_FETCH_N";
      case GSBI_BUILT_IN_SUB_AND_FETCH_1: return "GSBI_BUILT_IN_SUB_AND_FETCH_1";
      case GSBI_BUILT_IN_SUB_AND_FETCH_2: return "GSBI_BUILT_IN_SUB_AND_FETCH_2";
      case GSBI_BUILT_IN_SUB_AND_FETCH_4: return "GSBI_BUILT_IN_SUB_AND_FETCH_4";
      case GSBI_BUILT_IN_SUB_AND_FETCH_8: return "GSBI_BUILT_IN_SUB_AND_FETCH_8";
      case GSBI_BUILT_IN_SUB_AND_FETCH_16: return "GSBI_BUILT_IN_SUB_AND_FETCH_16";
      case GSBI_BUILT_IN_OR_AND_FETCH_N: return "GSBI_BUILT_IN_OR_AND_FETCH_N";
      case GSBI_BUILT_IN_OR_AND_FETCH_1: return "GSBI_BUILT_IN_OR_AND_FETCH_1";
      case GSBI_BUILT_IN_OR_AND_FETCH_2: return "GSBI_BUILT_IN_OR_AND_FETCH_2";
      case GSBI_BUILT_IN_OR_AND_FETCH_4: return "GSBI_BUILT_IN_OR_AND_FETCH_4";
      case GSBI_BUILT_IN_OR_AND_FETCH_8: return "GSBI_BUILT_IN_OR_AND_FETCH_8";
      case GSBI_BUILT_IN_OR_AND_FETCH_16: return "GSBI_BUILT_IN_OR_AND_FETCH_16";
      case GSBI_BUILT_IN_AND_AND_FETCH_N: return "GSBI_BUILT_IN_AND_AND_FETCH_N";
      case GSBI_BUILT_IN_AND_AND_FETCH_1: return "GSBI_BUILT_IN_AND_AND_FETCH_1";
      case GSBI_BUILT_IN_AND_AND_FETCH_2: return "GSBI_BUILT_IN_AND_AND_FETCH_2";
      case GSBI_BUILT_IN_AND_AND_FETCH_4: return "GSBI_BUILT_IN_AND_AND_FETCH_4";
      case GSBI_BUILT_IN_AND_AND_FETCH_8: return "GSBI_BUILT_IN_AND_AND_FETCH_8";
      case GSBI_BUILT_IN_AND_AND_FETCH_16: return "GSBI_BUILT_IN_AND_AND_FETCH_16";
      case GSBI_BUILT_IN_XOR_AND_FETCH_N: return "GSBI_BUILT_IN_XOR_AND_FETCH_N";
      case GSBI_BUILT_IN_XOR_AND_FETCH_1: return "GSBI_BUILT_IN_XOR_AND_FETCH_1";
      case GSBI_BUILT_IN_XOR_AND_FETCH_2: return "GSBI_BUILT_IN_XOR_AND_FETCH_2";
      case GSBI_BUILT_IN_XOR_AND_FETCH_4: return "GSBI_BUILT_IN_XOR_AND_FETCH_4";
      case GSBI_BUILT_IN_XOR_AND_FETCH_8: return "GSBI_BUILT_IN_XOR_AND_FETCH_8";
      case GSBI_BUILT_IN_XOR_AND_FETCH_16: return "GSBI_BUILT_IN_XOR_AND_FETCH_16";
      case GSBI_BUILT_IN_NAND_AND_FETCH_N: return "GSBI_BUILT_IN_NAND_AND_FETCH_N";
      case GSBI_BUILT_IN_NAND_AND_FETCH_1: return "GSBI_BUILT_IN_NAND_AND_FETCH_1";
      case GSBI_BUILT_IN_NAND_AND_FETCH_2: return "GSBI_BUILT_IN_NAND_AND_FETCH_2";
      case GSBI_BUILT_IN_NAND_AND_FETCH_4: return "GSBI_BUILT_IN_NAND_AND_FETCH_4";
      case GSBI_BUILT_IN_NAND_AND_FETCH_8: return "GSBI_BUILT_IN_NAND_AND_FETCH_8";
      case GSBI_BUILT_IN_NAND_AND_FETCH_16: return "GSBI_BUILT_IN_NAND_AND_FETCH_16";
      case GSBI_BUILT_IN_BOOL_COMPARE_AND_SWAP_N: return "GSBI_BUILT_IN_BOOL_COMPARE_AND_SWAP_N";
      case GSBI_BUILT_IN_BOOL_COMPARE_AND_SWAP_1: return "GSBI_BUILT_IN_BOOL_COMPARE_AND_SWAP_1";
      case GSBI_BUILT_IN_BOOL_COMPARE_AND_SWAP_2: return "GSBI_BUILT_IN_BOOL_COMPARE_AND_SWAP_2";
      case GSBI_BUILT_IN_BOOL_COMPARE_AND_SWAP_4: return "GSBI_BUILT_IN_BOOL_COMPARE_AND_SWAP_4";
      case GSBI_BUILT_IN_BOOL_COMPARE_AND_SWAP_8: return "GSBI_BUILT_IN_BOOL_COMPARE_AND_SWAP_8";
      case GSBI_BUILT_IN_BOOL_COMPARE_AND_SWAP_16: return "GSBI_BUILT_IN_BOOL_COMPARE_AND_SWAP_16";
      case GSBI_BUILT_IN_VAL_COMPARE_AND_SWAP_N: return "GSBI_BUILT_IN_VAL_COMPARE_AND_SWAP_N";
      case GSBI_BUILT_IN_VAL_COMPARE_AND_SWAP_1: return "GSBI_BUILT_IN_VAL_COMPARE_AND_SWAP_1";
      case GSBI_BUILT_IN_VAL_COMPARE_AND_SWAP_2: return "GSBI_BUILT_IN_VAL_COMPARE_AND_SWAP_2";
      case GSBI_BUILT_IN_VAL_COMPARE_AND_SWAP_4: return "GSBI_BUILT_IN_VAL_COMPARE_AND_SWAP_4";
      case GSBI_BUILT_IN_VAL_COMPARE_AND_SWAP_8: return "GSBI_BUILT_IN_VAL_COMPARE_AND_SWAP_8";
      case GSBI_BUILT_IN_VAL_COMPARE_AND_SWAP_16: return "GSBI_BUILT_IN_VAL_COMPARE_AND_SWAP_16";
      case GSBI_BUILT_IN_LOCK_TEST_AND_SET_N: return "GSBI_BUILT_IN_LOCK_TEST_AND_SET_N";
      case GSBI_BUILT_IN_LOCK_TEST_AND_SET_1: return "GSBI_BUILT_IN_LOCK_TEST_AND_SET_1";
      case GSBI_BUILT_IN_LOCK_TEST_AND_SET_2: return "GSBI_BUILT_IN_LOCK_TEST_AND_SET_2";
      case GSBI_BUILT_IN_LOCK_TEST_AND_SET_4: return "GSBI_BUILT_IN_LOCK_TEST_AND_SET_4";
      case GSBI_BUILT_IN_LOCK_TEST_AND_SET_8: return "GSBI_BUILT_IN_LOCK_TEST_AND_SET_8";
      case GSBI_BUILT_IN_LOCK_TEST_AND_SET_16: return "GSBI_BUILT_IN_LOCK_TEST_AND_SET_16";
      case GSBI_BUILT_IN_LOCK_RELEASE_N: return "GSBI_BUILT_IN_LOCK_RELEASE_N";
      case GSBI_BUILT_IN_LOCK_RELEASE_1: return "GSBI_BUILT_IN_LOCK_RELEASE_1";
      case GSBI_BUILT_IN_LOCK_RELEASE_2: return "GSBI_BUILT_IN_LOCK_RELEASE_2";
      case GSBI_BUILT_IN_LOCK_RELEASE_4: return "GSBI_BUILT_IN_LOCK_RELEASE_4";
      case GSBI_BUILT_IN_LOCK_RELEASE_8: return "GSBI_BUILT_IN_LOCK_RELEASE_8";
      case GSBI_BUILT_IN_LOCK_RELEASE_16: return "GSBI_BUILT_IN_LOCK_RELEASE_16";
      case GSBI_BUILT_IN_SYNCHRONIZE: return "GSBI_BUILT_IN_SYNCHRONIZE";
      case GSBI_BUILT_IN_OMP_GET_THREAD_NUM: return "GSBI_BUILT_IN_OMP_GET_THREAD_NUM";
      case GSBI_BUILT_IN_OMP_GET_NUM_THREADS: return "GSBI_BUILT_IN_OMP_GET_NUM_THREADS";
      case GSBI_BUILT_IN_GOMP_ATOMIC_START: return "GSBI_BUILT_IN_GOMP_ATOMIC_START";
      case GSBI_BUILT_IN_GOMP_ATOMIC_END: return "GSBI_BUILT_IN_GOMP_ATOMIC_END";
      case GSBI_BUILT_IN_GOMP_BARRIER: return "GSBI_BUILT_IN_GOMP_BARRIER";
      case GSBI_BUILT_IN_GOMP_TASKWAIT: return "GSBI_BUILT_IN_GOMP_TASKWAIT";
      case GSBI_BUILT_IN_GOMP_CRITICAL_START: return "GSBI_BUILT_IN_GOMP_CRITICAL_START";
      case GSBI_BUILT_IN_GOMP_CRITICAL_END: return "GSBI_BUILT_IN_GOMP_CRITICAL_END";
      case GSBI_BUILT_IN_GOMP_CRITICAL_NAME_START: return "GSBI_BUILT_IN_GOMP_CRITICAL_NAME_START";
      case GSBI_BUILT_IN_GOMP_CRITICAL_NAME_END: return "GSBI_BUILT_IN_GOMP_CRITICAL_NAME_END";
      case GSBI_BUILT_IN_GOMP_LOOP_STATIC_START: return "GSBI_BUILT_IN_GOMP_LOOP_STATIC_START";
      case GSBI_BUILT_IN_GOMP_LOOP_DYNAMIC_START: return "GSBI_BUILT_IN_GOMP_LOOP_DYNAMIC_START";
      case GSBI_BUILT_IN_GOMP_LOOP_GUIDED_START: return "GSBI_BUILT_IN_GOMP_LOOP_GUIDED_START";
      case GSBI_BUILT_IN_GOMP_LOOP_RUNTIME_START: return "GSBI_BUILT_IN_GOMP_LOOP_RUNTIME_START";
      case GSBI_BUILT_IN_GOMP_LOOP_ORDERED_STATIC_START: return "GSBI_BUILT_IN_GOMP_LOOP_ORDERED_STATIC_START";
      case GSBI_BUILT_IN_GOMP_LOOP_ORDERED_DYNAMIC_START: return "GSBI_BUILT_IN_GOMP_LOOP_ORDERED_DYNAMIC_START";
      case GSBI_BUILT_IN_GOMP_LOOP_ORDERED_GUIDED_START: return "GSBI_BUILT_IN_GOMP_LOOP_ORDERED_GUIDED_START";
      case GSBI_BUILT_IN_GOMP_LOOP_ORDERED_RUNTIME_START: return "GSBI_BUILT_IN_GOMP_LOOP_ORDERED_RUNTIME_START";
      case GSBI_BUILT_IN_GOMP_LOOP_STATIC_NEXT: return "GSBI_BUILT_IN_GOMP_LOOP_STATIC_NEXT";
      case GSBI_BUILT_IN_GOMP_LOOP_DYNAMIC_NEXT: return "GSBI_BUILT_IN_GOMP_LOOP_DYNAMIC_NEXT";
      case GSBI_BUILT_IN_GOMP_LOOP_GUIDED_NEXT: return "GSBI_BUILT_IN_GOMP_LOOP_GUIDED_NEXT";
      case GSBI_BUILT_IN_GOMP_LOOP_RUNTIME_NEXT: return "GSBI_BUILT_IN_GOMP_LOOP_RUNTIME_NEXT";
      case GSBI_BUILT_IN_GOMP_LOOP_ORDERED_STATIC_NEXT: return "GSBI_BUILT_IN_GOMP_LOOP_ORDERED_STATIC_NEXT";
      case GSBI_BUILT_IN_GOMP_LOOP_ORDERED_DYNAMIC_NEXT: return "GSBI_BUILT_IN_GOMP_LOOP_ORDERED_DYNAMIC_NEXT";
      case GSBI_BUILT_IN_GOMP_LOOP_ORDERED_GUIDED_NEXT: return "GSBI_BUILT_IN_GOMP_LOOP_ORDERED_GUIDED_NEXT";
      case GSBI_BUILT_IN_GOMP_LOOP_ORDERED_RUNTIME_NEXT: return "GSBI_BUILT_IN_GOMP_LOOP_ORDERED_RUNTIME_NEXT";
      case GSBI_BUILT_IN_GOMP_PARALLEL_LOOP_STATIC_START: return "GSBI_BUILT_IN_GOMP_PARALLEL_LOOP_STATIC_START";
      case GSBI_BUILT_IN_GOMP_PARALLEL_LOOP_DYNAMIC_START: return "GSBI_BUILT_IN_GOMP_PARALLEL_LOOP_DYNAMIC_START";
      case GSBI_BUILT_IN_GOMP_PARALLEL_LOOP_GUIDED_START: return "GSBI_BUILT_IN_GOMP_PARALLEL_LOOP_GUIDED_START";
      case GSBI_BUILT_IN_GOMP_PARALLEL_LOOP_RUNTIME_START: return "GSBI_BUILT_IN_GOMP_PARALLEL_LOOP_RUNTIME_START";
      case GSBI_BUILT_IN_GOMP_LOOP_END: return "GSBI_BUILT_IN_GOMP_LOOP_END";
      case GSBI_BUILT_IN_GOMP_LOOP_END_NOWAIT: return "GSBI_BUILT_IN_GOMP_LOOP_END_NOWAIT";
      case GSBI_BUILT_IN_GOMP_ORDERED_START: return "GSBI_BUILT_IN_GOMP_ORDERED_START";
      case GSBI_BUILT_IN_GOMP_ORDERED_END: return "GSBI_BUILT_IN_GOMP_ORDERED_END";
      case GSBI_BUILT_IN_GOMP_PARALLEL_START: return "GSBI_BUILT_IN_GOMP_PARALLEL_START";
      case GSBI_BUILT_IN_GOMP_PARALLEL_END: return "GSBI_BUILT_IN_GOMP_PARALLEL_END";
      case GSBI_BUILT_IN_GOMP_SECTIONS_START: return "GSBI_BUILT_IN_GOMP_SECTIONS_START";
      case GSBI_BUILT_IN_GOMP_SECTIONS_NEXT: return "GSBI_BUILT_IN_GOMP_SECTIONS_NEXT";
      case GSBI_BUILT_IN_GOMP_PARALLEL_SECTIONS_START: return "GSBI_BUILT_IN_GOMP_PARALLEL_SECTIONS_START";
      case GSBI_BUILT_IN_GOMP_SECTIONS_END: return "GSBI_BUILT_IN_GOMP_SECTIONS_END";
      case GSBI_BUILT_IN_GOMP_SECTIONS_END_NOWAIT: return "GSBI_BUILT_IN_GOMP_SECTIONS_END_NOWAIT";
      case GSBI_BUILT_IN_GOMP_SINGLE_START: return "GSBI_BUILT_IN_GOMP_SINGLE_START";
      case GSBI_BUILT_IN_GOMP_SINGLE_COPY_START: return "GSBI_BUILT_IN_GOMP_SINGLE_COPY_START";
      case GSBI_BUILT_IN_GOMP_SINGLE_COPY_END: return "GSBI_BUILT_IN_GOMP_SINGLE_COPY_END";
  #endif
  
      case GSBI_BUILT_IN_COMPLEX_MUL_MIN: return "GSBI_BUILT_IN_COMPLEX_MUL_MIN";
      case GSBI_BUILT_IN_COMPLEX_MUL_MAX: return "GSBI_BUILT_IN_COMPLEX_MUL_MAX";
      case GSBI_BUILT_IN_COMPLEX_DIV_MIN: return "GSBI_BUILT_IN_COMPLEX_DIV_MIN";
      case GSBI_BUILT_IN_COMPLEX_DIV_MAX: return "GSBI_BUILT_IN_COMPLEX_DIV_MAX";
      case GSBI_END_BUILTINS: return "GSBI_END_BUILTINS";
    }
    GS_ASSERT (gs_false, (gs_string_t) "gsbi name not implemented.");
    return (char *) NULL;
  }
  
  gs_string_t
  gsbi_class_name (gsbi_class_t class_code)
  {
    switch (class_code) {
      case 0: return (gs_string_t) "GSBI_CLASS_NOT_BUILT_IN";
      case 1: return (gs_string_t) "GSBI_CLASS_BUILT_IN_FRONTEND";
      case 2: return (gs_string_t) "GSBI_CLASS_BUILT_IN_MD";
      case 3: return (gs_string_t) "GSBI_CLASS_BUILT_IN_NORMAL";
      default: 
        printf("Class: %d\n", class_code);
        GS_ASSERT(gs_false, (gs_string_t)"gsbi class name name not implemented.");
        return (gs_string_t) NULL;
    }
  }
  
  gs_string_t
  gsbi_ts_name (gsbi_ts_t code)
  {
    switch (code) {
      case GSBI_IX86_BUILTIN_ADDPS: return "GSBI_IX86_BUILTIN_ADDPS";
      case GSBI_IX86_BUILTIN_ADDSS: return "GSBI_IX86_BUILTIN_ADDSS";
      case GSBI_IX86_BUILTIN_DIVPS: return "GSBI_IX86_BUILTIN_DIVPS";
      case GSBI_IX86_BUILTIN_DIVSS: return "GSBI_IX86_BUILTIN_DIVSS";
      case GSBI_IX86_BUILTIN_MULPS: return "GSBI_IX86_BUILTIN_MULPS";
      case GSBI_IX86_BUILTIN_MULSS: return "GSBI_IX86_BUILTIN_MULSS";
      case GSBI_IX86_BUILTIN_SUBPS: return "GSBI_IX86_BUILTIN_SUBPS";
      case GSBI_IX86_BUILTIN_SUBSS: return "GSBI_IX86_BUILTIN_SUBSS";
      case GSBI_IX86_BUILTIN_CMPEQPS: return "GSBI_IX86_BUILTIN_CMPEQPS";
      case GSBI_IX86_BUILTIN_CMPLTPS: return "GSBI_IX86_BUILTIN_CMPLTPS";
      case GSBI_IX86_BUILTIN_CMPLEPS: return "GSBI_IX86_BUILTIN_CMPLEPS";
      case GSBI_IX86_BUILTIN_CMPGTPS: return "GSBI_IX86_BUILTIN_CMPGTPS";
      case GSBI_IX86_BUILTIN_CMPGEPS: return "GSBI_IX86_BUILTIN_CMPGEPS";
      case GSBI_IX86_BUILTIN_CMPNEQPS: return "GSBI_IX86_BUILTIN_CMPNEQPS";
      case GSBI_IX86_BUILTIN_CMPNLTPS: return "GSBI_IX86_BUILTIN_CMPNLTPS";
      case GSBI_IX86_BUILTIN_CMPNLEPS: return "GSBI_IX86_BUILTIN_CMPNLEPS";
      case GSBI_IX86_BUILTIN_CMPNGTPS: return "GSBI_IX86_BUILTIN_CMPNGTPS";
      case GSBI_IX86_BUILTIN_CMPNGEPS: return "GSBI_IX86_BUILTIN_CMPNGEPS";
      case GSBI_IX86_BUILTIN_CMPORDPS: return "GSBI_IX86_BUILTIN_CMPORDPS";
      case GSBI_IX86_BUILTIN_CMPUNORDPS: return "GSBI_IX86_BUILTIN_CMPUNORDPS";
      case GSBI_IX86_BUILTIN_CMPNEPS: return "GSBI_IX86_BUILTIN_CMPNEPS";
      case GSBI_IX86_BUILTIN_CMPEQSS: return "GSBI_IX86_BUILTIN_CMPEQSS";
      case GSBI_IX86_BUILTIN_CMPLTSS: return "GSBI_IX86_BUILTIN_CMPLTSS";
      case GSBI_IX86_BUILTIN_CMPLESS: return "GSBI_IX86_BUILTIN_CMPLESS";
      case GSBI_IX86_BUILTIN_CMPNEQSS: return "GSBI_IX86_BUILTIN_CMPNEQSS";
      case GSBI_IX86_BUILTIN_CMPNLTSS: return "GSBI_IX86_BUILTIN_CMPNLTSS";
      case GSBI_IX86_BUILTIN_CMPNLESS: return "GSBI_IX86_BUILTIN_CMPNLESS";
      case GSBI_IX86_BUILTIN_CMPNGTSS: return "GSBI_IX86_BUILTIN_CMPNGTSS";
      case GSBI_IX86_BUILTIN_CMPNGESS: return "GSBI_IX86_BUILTIN_CMPNGESS";
      case GSBI_IX86_BUILTIN_CMPORDSS: return "GSBI_IX86_BUILTIN_CMPORDSS";
      case GSBI_IX86_BUILTIN_CMPUNORDSS: return "GSBI_IX86_BUILTIN_CMPUNORDSS";
      case GSBI_IX86_BUILTIN_CMPNESS: return "GSBI_IX86_BUILTIN_CMPNESS";
      case GSBI_IX86_BUILTIN_COMIEQSS: return "GSBI_IX86_BUILTIN_COMIEQSS";
      case GSBI_IX86_BUILTIN_COMILTSS: return "GSBI_IX86_BUILTIN_COMILTSS";
      case GSBI_IX86_BUILTIN_COMILESS: return "GSBI_IX86_BUILTIN_COMILESS";
      case GSBI_IX86_BUILTIN_COMIGTSS: return "GSBI_IX86_BUILTIN_COMIGTSS";
      case GSBI_IX86_BUILTIN_COMIGESS: return "GSBI_IX86_BUILTIN_COMIGESS";
      case GSBI_IX86_BUILTIN_COMINEQSS: return "GSBI_IX86_BUILTIN_COMINEQSS";
      case GSBI_IX86_BUILTIN_UCOMIEQSS: return "GSBI_IX86_BUILTIN_UCOMIEQSS";
      case GSBI_IX86_BUILTIN_UCOMILTSS: return "GSBI_IX86_BUILTIN_UCOMILTSS";
      case GSBI_IX86_BUILTIN_UCOMILESS: return "GSBI_IX86_BUILTIN_UCOMILESS";
      case GSBI_IX86_BUILTIN_UCOMIGTSS: return "GSBI_IX86_BUILTIN_UCOMIGTSS";
      case GSBI_IX86_BUILTIN_UCOMIGESS: return "GSBI_IX86_BUILTIN_UCOMIGESS";
      case GSBI_IX86_BUILTIN_UCOMINEQSS: return "GSBI_IX86_BUILTIN_UCOMINEQSS";
      case GSBI_IX86_BUILTIN_CVTPI2PS: return "GSBI_IX86_BUILTIN_CVTPI2PS";
      case GSBI_IX86_BUILTIN_CVTPS2PI: return "GSBI_IX86_BUILTIN_CVTPS2PI";
      case GSBI_IX86_BUILTIN_CVTSI2SS: return "GSBI_IX86_BUILTIN_CVTSI2SS";
      case GSBI_IX86_BUILTIN_CVTSI642SS: return "GSBI_IX86_BUILTIN_CVTSI642SS";
      case GSBI_IX86_BUILTIN_CVTSS2SI: return "GSBI_IX86_BUILTIN_CVTSS2SI";
      case GSBI_IX86_BUILTIN_CVTSS2SI64: return "GSBI_IX86_BUILTIN_CVTSS2SI64";
      case GSBI_IX86_BUILTIN_CVTTPS2PI: return "GSBI_IX86_BUILTIN_CVTTPS2PI";
      case GSBI_IX86_BUILTIN_CVTTSS2SI: return "GSBI_IX86_BUILTIN_CVTTSS2SI";
      case GSBI_IX86_BUILTIN_CVTTSS2SI64: return "GSBI_IX86_BUILTIN_CVTTSS2SI64";
      case GSBI_IX86_BUILTIN_MAXPS: return "GSBI_IX86_BUILTIN_MAXPS";
      case GSBI_IX86_BUILTIN_MAXSS: return "GSBI_IX86_BUILTIN_MAXSS";
      case GSBI_IX86_BUILTIN_MINPS: return "GSBI_IX86_BUILTIN_MINPS";
      case GSBI_IX86_BUILTIN_MINSS: return "GSBI_IX86_BUILTIN_MINSS";
      case GSBI_IX86_BUILTIN_LOADUPS: return "GSBI_IX86_BUILTIN_LOADUPS";
      case GSBI_IX86_BUILTIN_STOREUPS: return "GSBI_IX86_BUILTIN_STOREUPS";
      case GSBI_IX86_BUILTIN_MOVSS: return "GSBI_IX86_BUILTIN_MOVSS";
      case GSBI_IX86_BUILTIN_MOVHLPS: return "GSBI_IX86_BUILTIN_MOVHLPS";
      case GSBI_IX86_BUILTIN_MOVLHPS: return "GSBI_IX86_BUILTIN_MOVLHPS";
      case GSBI_IX86_BUILTIN_LOADHPS: return "GSBI_IX86_BUILTIN_LOADHPS";
      case GSBI_IX86_BUILTIN_LOADLPS: return "GSBI_IX86_BUILTIN_LOADLPS";
      case GSBI_IX86_BUILTIN_STOREHPS: return "GSBI_IX86_BUILTIN_STOREHPS";
      case GSBI_IX86_BUILTIN_STORELPS: return "GSBI_IX86_BUILTIN_STORELPS";
      case GSBI_IX86_BUILTIN_MASKMOVQ: return "GSBI_IX86_BUILTIN_MASKMOVQ";
      case GSBI_IX86_BUILTIN_MOVMSKPS: return "GSBI_IX86_BUILTIN_MOVMSKPS";
      case GSBI_IX86_BUILTIN_PMOVMSKB: return "GSBI_IX86_BUILTIN_PMOVMSKB";
      case GSBI_IX86_BUILTIN_MOVNTPS: return "GSBI_IX86_BUILTIN_MOVNTPS";
      case GSBI_IX86_BUILTIN_MOVNTQ: return "GSBI_IX86_BUILTIN_MOVNTQ";
      case GSBI_IX86_BUILTIN_LOADDQU: return "GSBI_IX86_BUILTIN_LOADDQU";
      case GSBI_IX86_BUILTIN_STOREDQU: return "GSBI_IX86_BUILTIN_STOREDQU";
      case GSBI_IX86_BUILTIN_PACKSSWB: return "GSBI_IX86_BUILTIN_PACKSSWB";
      case GSBI_IX86_BUILTIN_PACKSSDW: return "GSBI_IX86_BUILTIN_PACKSSDW";
      case GSBI_IX86_BUILTIN_PACKUSWB: return "GSBI_IX86_BUILTIN_PACKUSWB";
      case GSBI_IX86_BUILTIN_PADDB: return "GSBI_IX86_BUILTIN_PADDB";
      case GSBI_IX86_BUILTIN_PADDW: return "GSBI_IX86_BUILTIN_PADDW";
      case GSBI_IX86_BUILTIN_PADDD: return "GSBI_IX86_BUILTIN_PADDD";
      case GSBI_IX86_BUILTIN_PADDQ: return "GSBI_IX86_BUILTIN_PADDQ";
      case GSBI_IX86_BUILTIN_PADDSB: return "GSBI_IX86_BUILTIN_PADDSB";
      case GSBI_IX86_BUILTIN_PADDSW: return "GSBI_IX86_BUILTIN_PADDSW";
      case GSBI_IX86_BUILTIN_PADDUSB: return "GSBI_IX86_BUILTIN_PADDUSB";
      case GSBI_IX86_BUILTIN_PADDUSW: return "GSBI_IX86_BUILTIN_PADDUSW";
      case GSBI_IX86_BUILTIN_PSUBB: return "GSBI_IX86_BUILTIN_PSUBB";
      case GSBI_IX86_BUILTIN_PSUBW: return "GSBI_IX86_BUILTIN_PSUBW";
      case GSBI_IX86_BUILTIN_PSUBD: return "GSBI_IX86_BUILTIN_PSUBD";
      case GSBI_IX86_BUILTIN_PSUBQ: return "GSBI_IX86_BUILTIN_PSUBQ";
      case GSBI_IX86_BUILTIN_PSUBSB: return "GSBI_IX86_BUILTIN_PSUBSB";
      case GSBI_IX86_BUILTIN_PSUBSW: return "GSBI_IX86_BUILTIN_PSUBSW";
      case GSBI_IX86_BUILTIN_PSUBUSB: return "GSBI_IX86_BUILTIN_PSUBUSB";
      case GSBI_IX86_BUILTIN_PSUBUSW: return "GSBI_IX86_BUILTIN_PSUBUSW";
      case GSBI_IX86_BUILTIN_PAND: return "GSBI_IX86_BUILTIN_PAND";
      case GSBI_IX86_BUILTIN_PANDN: return "GSBI_IX86_BUILTIN_PANDN";
      case GSBI_IX86_BUILTIN_POR: return "GSBI_IX86_BUILTIN_POR";
      case GSBI_IX86_BUILTIN_PXOR: return "GSBI_IX86_BUILTIN_PXOR";
      case GSBI_IX86_BUILTIN_PAVGB: return "GSBI_IX86_BUILTIN_PAVGB";
      case GSBI_IX86_BUILTIN_PAVGW: return "GSBI_IX86_BUILTIN_PAVGW";
      case GSBI_IX86_BUILTIN_PCMPEQB: return "GSBI_IX86_BUILTIN_PCMPEQB";
      case GSBI_IX86_BUILTIN_PCMPEQW: return "GSBI_IX86_BUILTIN_PCMPEQW";
      case GSBI_IX86_BUILTIN_PCMPEQD: return "GSBI_IX86_BUILTIN_PCMPEQD";
      case GSBI_IX86_BUILTIN_PCMPGTB: return "GSBI_IX86_BUILTIN_PCMPGTB";
      case GSBI_IX86_BUILTIN_PCMPGTW: return "GSBI_IX86_BUILTIN_PCMPGTW";
      case GSBI_IX86_BUILTIN_PCMPGTD: return "GSBI_IX86_BUILTIN_PCMPGTD";
      case GSBI_IX86_BUILTIN_PMADDWD: return "GSBI_IX86_BUILTIN_PMADDWD";
      case GSBI_IX86_BUILTIN_PMAXSW: return "GSBI_IX86_BUILTIN_PMAXSW";
      case GSBI_IX86_BUILTIN_PMAXUB: return "GSBI_IX86_BUILTIN_PMAXUB";
      case GSBI_IX86_BUILTIN_PMINSW: return "GSBI_IX86_BUILTIN_PMINSW";
      case GSBI_IX86_BUILTIN_PMINUB: return "GSBI_IX86_BUILTIN_PMINUB";
      case GSBI_IX86_BUILTIN_PMULHUW: return "GSBI_IX86_BUILTIN_PMULHUW";
      case GSBI_IX86_BUILTIN_PMULHW: return "GSBI_IX86_BUILTIN_PMULHW";
      case GSBI_IX86_BUILTIN_PMULLW: return "GSBI_IX86_BUILTIN_PMULLW";
      case GSBI_IX86_BUILTIN_PSADBW: return "GSBI_IX86_BUILTIN_PSADBW";
      case GSBI_IX86_BUILTIN_PSHUFW: return "GSBI_IX86_BUILTIN_PSHUFW";
      case GSBI_IX86_BUILTIN_PSLLW: return "GSBI_IX86_BUILTIN_PSLLW";
      case GSBI_IX86_BUILTIN_PSLLD: return "GSBI_IX86_BUILTIN_PSLLD";
      case GSBI_IX86_BUILTIN_PSLLQ: return "GSBI_IX86_BUILTIN_PSLLQ";
      case GSBI_IX86_BUILTIN_PSRAW: return "GSBI_IX86_BUILTIN_PSRAW";
      case GSBI_IX86_BUILTIN_PSRAD: return "GSBI_IX86_BUILTIN_PSRAD";
      case GSBI_IX86_BUILTIN_PSRLW: return "GSBI_IX86_BUILTIN_PSRLW";
      case GSBI_IX86_BUILTIN_PSRLD: return "GSBI_IX86_BUILTIN_PSRLD";
      case GSBI_IX86_BUILTIN_PSRLQ: return "GSBI_IX86_BUILTIN_PSRLQ";
      case GSBI_IX86_BUILTIN_PSLLWI: return "GSBI_IX86_BUILTIN_PSLLWI";
      case GSBI_IX86_BUILTIN_PSLLDI: return "GSBI_IX86_BUILTIN_PSLLDI";
      case GSBI_IX86_BUILTIN_PSLLQI: return "GSBI_IX86_BUILTIN_PSLLQI";
      case GSBI_IX86_BUILTIN_PSRAWI: return "GSBI_IX86_BUILTIN_PSRAWI";
      case GSBI_IX86_BUILTIN_PSRADI: return "GSBI_IX86_BUILTIN_PSRADI";
      case GSBI_IX86_BUILTIN_PSRLWI: return "GSBI_IX86_BUILTIN_PSRLWI";
      case GSBI_IX86_BUILTIN_PSRLDI: return "GSBI_IX86_BUILTIN_PSRLDI";
      case GSBI_IX86_BUILTIN_PSRLQI: return "GSBI_IX86_BUILTIN_PSRLQI";
      case GSBI_IX86_BUILTIN_PUNPCKHBW: return "GSBI_IX86_BUILTIN_PUNPCKHBW";
      case GSBI_IX86_BUILTIN_PUNPCKHWD: return "GSBI_IX86_BUILTIN_PUNPCKHWD";
      case GSBI_IX86_BUILTIN_PUNPCKHDQ: return "GSBI_IX86_BUILTIN_PUNPCKHDQ";
      case GSBI_IX86_BUILTIN_PUNPCKLBW: return "GSBI_IX86_BUILTIN_PUNPCKLBW";
      case GSBI_IX86_BUILTIN_PUNPCKLWD: return "GSBI_IX86_BUILTIN_PUNPCKLWD";
      case GSBI_IX86_BUILTIN_PUNPCKLDQ: return "GSBI_IX86_BUILTIN_PUNPCKLDQ";
      case GSBI_IX86_BUILTIN_SHUFPS: return "GSBI_IX86_BUILTIN_SHUFPS";
      case GSBI_IX86_BUILTIN_RCPPS: return "GSBI_IX86_BUILTIN_RCPPS";
      case GSBI_IX86_BUILTIN_RCPSS: return "GSBI_IX86_BUILTIN_RCPSS";
      case GSBI_IX86_BUILTIN_RSQRTPS: return "GSBI_IX86_BUILTIN_RSQRTPS";
      case GSBI_IX86_BUILTIN_RSQRTSS: return "GSBI_IX86_BUILTIN_RSQRTSS";
      case GSBI_IX86_BUILTIN_SQRTPS: return "GSBI_IX86_BUILTIN_SQRTPS";
      case GSBI_IX86_BUILTIN_SQRTSS: return "GSBI_IX86_BUILTIN_SQRTSS";
      case GSBI_IX86_BUILTIN_UNPCKHPS: return "GSBI_IX86_BUILTIN_UNPCKHPS";
      case GSBI_IX86_BUILTIN_UNPCKLPS: return "GSBI_IX86_BUILTIN_UNPCKLPS";
      case GSBI_IX86_BUILTIN_ANDPS: return "GSBI_IX86_BUILTIN_ANDPS";
      case GSBI_IX86_BUILTIN_ANDNPS: return "GSBI_IX86_BUILTIN_ANDNPS";
      case GSBI_IX86_BUILTIN_ORPS: return "GSBI_IX86_BUILTIN_ORPS";
      case GSBI_IX86_BUILTIN_XORPS: return "GSBI_IX86_BUILTIN_XORPS";
      case GSBI_IX86_BUILTIN_EMMS: return "GSBI_IX86_BUILTIN_EMMS";
      case GSBI_IX86_BUILTIN_LDMXCSR: return "GSBI_IX86_BUILTIN_LDMXCSR";
      case GSBI_IX86_BUILTIN_STMXCSR: return "GSBI_IX86_BUILTIN_STMXCSR";
      case GSBI_IX86_BUILTIN_SFENCE: return "GSBI_IX86_BUILTIN_SFENCE";
      case GSBI_IX86_BUILTIN_FEMMS: return "GSBI_IX86_BUILTIN_FEMMS";
      case GSBI_IX86_BUILTIN_PAVGUSB: return "GSBI_IX86_BUILTIN_PAVGUSB";
      case GSBI_IX86_BUILTIN_PF2ID: return "GSBI_IX86_BUILTIN_PF2ID";
      case GSBI_IX86_BUILTIN_PFACC: return "GSBI_IX86_BUILTIN_PFACC";
      case GSBI_IX86_BUILTIN_PFADD: return "GSBI_IX86_BUILTIN_PFADD";
      case GSBI_IX86_BUILTIN_PFCMPEQ: return "GSBI_IX86_BUILTIN_PFCMPEQ";
      case GSBI_IX86_BUILTIN_PFCMPGE: return "GSBI_IX86_BUILTIN_PFCMPGE";
      case GSBI_IX86_BUILTIN_PFCMPGT: return "GSBI_IX86_BUILTIN_PFCMPGT";
      case GSBI_IX86_BUILTIN_PFMAX: return "GSBI_IX86_BUILTIN_PFMAX";
      case GSBI_IX86_BUILTIN_PFMIN: return "GSBI_IX86_BUILTIN_PFMIN";
      case GSBI_IX86_BUILTIN_PFMUL: return "GSBI_IX86_BUILTIN_PFMUL";
      case GSBI_IX86_BUILTIN_PFRCP: return "GSBI_IX86_BUILTIN_PFRCP";
      case GSBI_IX86_BUILTIN_PFRCPIT1: return "GSBI_IX86_BUILTIN_PFRCPIT1";
      case GSBI_IX86_BUILTIN_PFRCPIT2: return "GSBI_IX86_BUILTIN_PFRCPIT2";
      case GSBI_IX86_BUILTIN_PFRSQIT1: return "GSBI_IX86_BUILTIN_PFRSQIT1";
      case GSBI_IX86_BUILTIN_PFRSQRT: return "GSBI_IX86_BUILTIN_PFRSQRT";
      case GSBI_IX86_BUILTIN_PFSUB: return "GSBI_IX86_BUILTIN_PFSUB";
      case GSBI_IX86_BUILTIN_PFSUBR: return "GSBI_IX86_BUILTIN_PFSUBR";
      case GSBI_IX86_BUILTIN_PI2FD: return "GSBI_IX86_BUILTIN_PI2FD";
      case GSBI_IX86_BUILTIN_PMULHRW: return "GSBI_IX86_BUILTIN_PMULHRW";
      case GSBI_IX86_BUILTIN_PF2IW: return "GSBI_IX86_BUILTIN_PF2IW";
      case GSBI_IX86_BUILTIN_PFNACC: return "GSBI_IX86_BUILTIN_PFNACC";
      case GSBI_IX86_BUILTIN_PFPNACC: return "GSBI_IX86_BUILTIN_PFPNACC";
      case GSBI_IX86_BUILTIN_PI2FW: return "GSBI_IX86_BUILTIN_PI2FW";
      case GSBI_IX86_BUILTIN_PSWAPDSI: return "GSBI_IX86_BUILTIN_PSWAPDSI";
      case GSBI_IX86_BUILTIN_PSWAPDSF: return "GSBI_IX86_BUILTIN_PSWAPDSF";
      case GSBI_IX86_BUILTIN_ADDPD: return "GSBI_IX86_BUILTIN_ADDPD";
      case GSBI_IX86_BUILTIN_ADDSD: return "GSBI_IX86_BUILTIN_ADDSD";
      case GSBI_IX86_BUILTIN_DIVPD: return "GSBI_IX86_BUILTIN_DIVPD";
      case GSBI_IX86_BUILTIN_DIVSD: return "GSBI_IX86_BUILTIN_DIVSD";
      case GSBI_IX86_BUILTIN_MULPD: return "GSBI_IX86_BUILTIN_MULPD";
      case GSBI_IX86_BUILTIN_MULSD: return "GSBI_IX86_BUILTIN_MULSD";
      case GSBI_IX86_BUILTIN_SUBPD: return "GSBI_IX86_BUILTIN_SUBPD";
      case GSBI_IX86_BUILTIN_SUBSD: return "GSBI_IX86_BUILTIN_SUBSD";
      case GSBI_IX86_BUILTIN_CMPEQPD: return "GSBI_IX86_BUILTIN_CMPEQPD";
      case GSBI_IX86_BUILTIN_CMPLTPD: return "GSBI_IX86_BUILTIN_CMPLTPD";
      case GSBI_IX86_BUILTIN_CMPLEPD: return "GSBI_IX86_BUILTIN_CMPLEPD";
      case GSBI_IX86_BUILTIN_CMPGTPD: return "GSBI_IX86_BUILTIN_CMPGTPD";
      case GSBI_IX86_BUILTIN_CMPGEPD: return "GSBI_IX86_BUILTIN_CMPGEPD";
      case GSBI_IX86_BUILTIN_CMPNEQPD: return "GSBI_IX86_BUILTIN_CMPNEQPD";
      case GSBI_IX86_BUILTIN_CMPNLTPD: return "GSBI_IX86_BUILTIN_CMPNLTPD";
      case GSBI_IX86_BUILTIN_CMPNLEPD: return "GSBI_IX86_BUILTIN_CMPNLEPD";
      case GSBI_IX86_BUILTIN_CMPNGTPD: return "GSBI_IX86_BUILTIN_CMPNGTPD";
      case GSBI_IX86_BUILTIN_CMPNGEPD: return "GSBI_IX86_BUILTIN_CMPNGEPD";
      case GSBI_IX86_BUILTIN_CMPORDPD: return "GSBI_IX86_BUILTIN_CMPORDPD";
      case GSBI_IX86_BUILTIN_CMPUNORDPD: return "GSBI_IX86_BUILTIN_CMPUNORDPD";
      case GSBI_IX86_BUILTIN_CMPNEPD: return "GSBI_IX86_BUILTIN_CMPNEPD";
      case GSBI_IX86_BUILTIN_CMPEQSD: return "GSBI_IX86_BUILTIN_CMPEQSD";
      case GSBI_IX86_BUILTIN_CMPLTSD: return "GSBI_IX86_BUILTIN_CMPLTSD";
      case GSBI_IX86_BUILTIN_CMPLESD: return "GSBI_IX86_BUILTIN_CMPLESD";
      case GSBI_IX86_BUILTIN_CMPNEQSD: return "GSBI_IX86_BUILTIN_CMPNEQSD";
      case GSBI_IX86_BUILTIN_CMPNLTSD: return "GSBI_IX86_BUILTIN_CMPNLTSD";
      case GSBI_IX86_BUILTIN_CMPNLESD: return "GSBI_IX86_BUILTIN_CMPNLESD";
      case GSBI_IX86_BUILTIN_CMPORDSD: return "GSBI_IX86_BUILTIN_CMPORDSD";
      case GSBI_IX86_BUILTIN_CMPUNORDSD: return "GSBI_IX86_BUILTIN_CMPUNORDSD";
      case GSBI_IX86_BUILTIN_CMPNESD: return "GSBI_IX86_BUILTIN_CMPNESD";
      case GSBI_IX86_BUILTIN_COMIEQSD: return "GSBI_IX86_BUILTIN_COMIEQSD";
      case GSBI_IX86_BUILTIN_COMILTSD: return "GSBI_IX86_BUILTIN_COMILTSD";
      case GSBI_IX86_BUILTIN_COMILESD: return "GSBI_IX86_BUILTIN_COMILESD";
      case GSBI_IX86_BUILTIN_COMIGTSD: return "GSBI_IX86_BUILTIN_COMIGTSD";
      case GSBI_IX86_BUILTIN_COMIGESD: return "GSBI_IX86_BUILTIN_COMIGESD";
      case GSBI_IX86_BUILTIN_COMINEQSD: return "GSBI_IX86_BUILTIN_COMINEQSD";
      case GSBI_IX86_BUILTIN_UCOMIEQSD: return "GSBI_IX86_BUILTIN_UCOMIEQSD";
      case GSBI_IX86_BUILTIN_UCOMILTSD: return "GSBI_IX86_BUILTIN_UCOMILTSD";
      case GSBI_IX86_BUILTIN_UCOMILESD: return "GSBI_IX86_BUILTIN_UCOMILESD";
      case GSBI_IX86_BUILTIN_UCOMIGTSD: return "GSBI_IX86_BUILTIN_UCOMIGTSD";
      case GSBI_IX86_BUILTIN_UCOMIGESD: return "GSBI_IX86_BUILTIN_UCOMIGESD";
      case GSBI_IX86_BUILTIN_UCOMINEQSD: return "GSBI_IX86_BUILTIN_UCOMINEQSD";
      case GSBI_IX86_BUILTIN_MAXPD: return "GSBI_IX86_BUILTIN_MAXPD";
      case GSBI_IX86_BUILTIN_MAXSD: return "GSBI_IX86_BUILTIN_MAXSD";
      case GSBI_IX86_BUILTIN_MINPD: return "GSBI_IX86_BUILTIN_MINPD";
      case GSBI_IX86_BUILTIN_MINSD: return "GSBI_IX86_BUILTIN_MINSD";
      case GSBI_IX86_BUILTIN_ANDPD: return "GSBI_IX86_BUILTIN_ANDPD";
      case GSBI_IX86_BUILTIN_ANDNPD: return "GSBI_IX86_BUILTIN_ANDNPD";
      case GSBI_IX86_BUILTIN_ORPD: return "GSBI_IX86_BUILTIN_ORPD";
      case GSBI_IX86_BUILTIN_XORPD: return "GSBI_IX86_BUILTIN_XORPD";
      case GSBI_IX86_BUILTIN_SQRTPD: return "GSBI_IX86_BUILTIN_SQRTPD";
      case GSBI_IX86_BUILTIN_SQRTSD: return "GSBI_IX86_BUILTIN_SQRTSD";
      case GSBI_IX86_BUILTIN_UNPCKHPD: return "GSBI_IX86_BUILTIN_UNPCKHPD";
      case GSBI_IX86_BUILTIN_UNPCKLPD: return "GSBI_IX86_BUILTIN_UNPCKLPD";
      case GSBI_IX86_BUILTIN_SHUFPD: return "GSBI_IX86_BUILTIN_SHUFPD";
      case GSBI_IX86_BUILTIN_LOADUPD: return "GSBI_IX86_BUILTIN_LOADUPD";
      case GSBI_IX86_BUILTIN_STOREUPD: return "GSBI_IX86_BUILTIN_STOREUPD";
      case GSBI_IX86_BUILTIN_MOVSD: return "GSBI_IX86_BUILTIN_MOVSD";
      case GSBI_IX86_BUILTIN_LOADHPD: return "GSBI_IX86_BUILTIN_LOADHPD";
      case GSBI_IX86_BUILTIN_LOADLPD: return "GSBI_IX86_BUILTIN_LOADLPD";
      case GSBI_IX86_BUILTIN_CVTDQ2PD: return "GSBI_IX86_BUILTIN_CVTDQ2PD";
      case GSBI_IX86_BUILTIN_CVTDQ2PS: return "GSBI_IX86_BUILTIN_CVTDQ2PS";
      case GSBI_IX86_BUILTIN_CVTPD2DQ: return "GSBI_IX86_BUILTIN_CVTPD2DQ";
      case GSBI_IX86_BUILTIN_CVTPD2PI: return "GSBI_IX86_BUILTIN_CVTPD2PI";
      case GSBI_IX86_BUILTIN_CVTPD2PS: return "GSBI_IX86_BUILTIN_CVTPD2PS";
      case GSBI_IX86_BUILTIN_CVTTPD2DQ: return "GSBI_IX86_BUILTIN_CVTTPD2DQ";
      case GSBI_IX86_BUILTIN_CVTTPD2PI: return "GSBI_IX86_BUILTIN_CVTTPD2PI";
      case GSBI_IX86_BUILTIN_CVTPI2PD: return "GSBI_IX86_BUILTIN_CVTPI2PD";
      case GSBI_IX86_BUILTIN_CVTSI2SD: return "GSBI_IX86_BUILTIN_CVTSI2SD";
      case GSBI_IX86_BUILTIN_CVTSI642SD: return "GSBI_IX86_BUILTIN_CVTSI642SD";
      case GSBI_IX86_BUILTIN_CVTSD2SI: return "GSBI_IX86_BUILTIN_CVTSD2SI";
      case GSBI_IX86_BUILTIN_CVTSD2SI64: return "GSBI_IX86_BUILTIN_CVTSD2SI64";
      case GSBI_IX86_BUILTIN_CVTSD2SS: return "GSBI_IX86_BUILTIN_CVTSD2SS";
      case GSBI_IX86_BUILTIN_CVTSS2SD: return "GSBI_IX86_BUILTIN_CVTSS2SD";
      case GSBI_IX86_BUILTIN_CVTTSD2SI: return "GSBI_IX86_BUILTIN_CVTTSD2SI";
      case GSBI_IX86_BUILTIN_CVTTSD2SI64: return "GSBI_IX86_BUILTIN_CVTTSD2SI64";
      case GSBI_IX86_BUILTIN_CVTPS2DQ: return "GSBI_IX86_BUILTIN_CVTPS2DQ";
      case GSBI_IX86_BUILTIN_CVTPS2PD: return "GSBI_IX86_BUILTIN_CVTPS2PD";
      case GSBI_IX86_BUILTIN_CVTTPS2DQ: return "GSBI_IX86_BUILTIN_CVTTPS2DQ";
      case GSBI_IX86_BUILTIN_MOVNTI: return "GSBI_IX86_BUILTIN_MOVNTI";
      case GSBI_IX86_BUILTIN_MOVNTPD: return "GSBI_IX86_BUILTIN_MOVNTPD";
      case GSBI_IX86_BUILTIN_MOVNTDQ: return "GSBI_IX86_BUILTIN_MOVNTDQ";
      case GSBI_IX86_BUILTIN_MASKMOVDQU: return "GSBI_IX86_BUILTIN_MASKMOVDQU";
      case GSBI_IX86_BUILTIN_MOVMSKPD: return "GSBI_IX86_BUILTIN_MOVMSKPD";
      case GSBI_IX86_BUILTIN_PMOVMSKB128: return "GSBI_IX86_BUILTIN_PMOVMSKB128";
      case GSBI_IX86_BUILTIN_PACKSSWB128: return "GSBI_IX86_BUILTIN_PACKSSWB128";
      case GSBI_IX86_BUILTIN_PACKSSDW128: return "GSBI_IX86_BUILTIN_PACKSSDW128";
      case GSBI_IX86_BUILTIN_PACKUSWB128: return "GSBI_IX86_BUILTIN_PACKUSWB128";
      case GSBI_IX86_BUILTIN_PADDB128: return "GSBI_IX86_BUILTIN_PADDB128";
      case GSBI_IX86_BUILTIN_PADDW128: return "GSBI_IX86_BUILTIN_PADDW128";
      case GSBI_IX86_BUILTIN_PADDD128: return "GSBI_IX86_BUILTIN_PADDD128";
      case GSBI_IX86_BUILTIN_PADDQ128: return "GSBI_IX86_BUILTIN_PADDQ128";
      case GSBI_IX86_BUILTIN_PADDSB128: return "GSBI_IX86_BUILTIN_PADDSB128";
      case GSBI_IX86_BUILTIN_PADDSW128: return "GSBI_IX86_BUILTIN_PADDSW128";
      case GSBI_IX86_BUILTIN_PADDUSB128: return "GSBI_IX86_BUILTIN_PADDUSB128";
      case GSBI_IX86_BUILTIN_PADDUSW128: return "GSBI_IX86_BUILTIN_PADDUSW128";
      case GSBI_IX86_BUILTIN_PSUBB128: return "GSBI_IX86_BUILTIN_PSUBB128";
      case GSBI_IX86_BUILTIN_PSUBW128: return "GSBI_IX86_BUILTIN_PSUBW128";
      case GSBI_IX86_BUILTIN_PSUBD128: return "GSBI_IX86_BUILTIN_PSUBD128";
      case GSBI_IX86_BUILTIN_PSUBQ128: return "GSBI_IX86_BUILTIN_PSUBQ128";
      case GSBI_IX86_BUILTIN_PSUBSB128: return "GSBI_IX86_BUILTIN_PSUBSB128";
      case GSBI_IX86_BUILTIN_PSUBSW128: return "GSBI_IX86_BUILTIN_PSUBSW128";
      case GSBI_IX86_BUILTIN_PSUBUSB128: return "GSBI_IX86_BUILTIN_PSUBUSB128";
      case GSBI_IX86_BUILTIN_PSUBUSW128: return "GSBI_IX86_BUILTIN_PSUBUSW128";
      case GSBI_IX86_BUILTIN_PAND128: return "GSBI_IX86_BUILTIN_PAND128";
      case GSBI_IX86_BUILTIN_PANDN128: return "GSBI_IX86_BUILTIN_PANDN128";
      case GSBI_IX86_BUILTIN_POR128: return "GSBI_IX86_BUILTIN_POR128";
      case GSBI_IX86_BUILTIN_PXOR128: return "GSBI_IX86_BUILTIN_PXOR128";
      case GSBI_IX86_BUILTIN_PAVGB128: return "GSBI_IX86_BUILTIN_PAVGB128";
      case GSBI_IX86_BUILTIN_PAVGW128: return "GSBI_IX86_BUILTIN_PAVGW128";
      case GSBI_IX86_BUILTIN_PCMPEQB128: return "GSBI_IX86_BUILTIN_PCMPEQB128";
      case GSBI_IX86_BUILTIN_PCMPEQW128: return "GSBI_IX86_BUILTIN_PCMPEQW128";
      case GSBI_IX86_BUILTIN_PCMPEQD128: return "GSBI_IX86_BUILTIN_PCMPEQD128";
      case GSBI_IX86_BUILTIN_PCMPGTB128: return "GSBI_IX86_BUILTIN_PCMPGTB128";
      case GSBI_IX86_BUILTIN_PCMPGTW128: return "GSBI_IX86_BUILTIN_PCMPGTW128";
      case GSBI_IX86_BUILTIN_PCMPGTD128: return "GSBI_IX86_BUILTIN_PCMPGTD128";
      case GSBI_IX86_BUILTIN_PMADDWD128: return "GSBI_IX86_BUILTIN_PMADDWD128";
      case GSBI_IX86_BUILTIN_PMAXSW128: return "GSBI_IX86_BUILTIN_PMAXSW128";
      case GSBI_IX86_BUILTIN_PMAXUB128: return "GSBI_IX86_BUILTIN_PMAXUB128";
      case GSBI_IX86_BUILTIN_PMINSW128: return "GSBI_IX86_BUILTIN_PMINSW128";
      case GSBI_IX86_BUILTIN_PMINUB128: return "GSBI_IX86_BUILTIN_PMINUB128";
      case GSBI_IX86_BUILTIN_PMULUDQ: return "GSBI_IX86_BUILTIN_PMULUDQ";
      case GSBI_IX86_BUILTIN_PMULUDQ128: return "GSBI_IX86_BUILTIN_PMULUDQ128";
      case GSBI_IX86_BUILTIN_PMULHUW128: return "GSBI_IX86_BUILTIN_PMULHUW128";
      case GSBI_IX86_BUILTIN_PMULHW128: return "GSBI_IX86_BUILTIN_PMULHW128";
      case GSBI_IX86_BUILTIN_PMULLW128: return "GSBI_IX86_BUILTIN_PMULLW128";
      case GSBI_IX86_BUILTIN_PSADBW128: return "GSBI_IX86_BUILTIN_PSADBW128";
      case GSBI_IX86_BUILTIN_PSHUFHW: return "GSBI_IX86_BUILTIN_PSHUFHW";
      case GSBI_IX86_BUILTIN_PSHUFLW: return "GSBI_IX86_BUILTIN_PSHUFLW";
      case GSBI_IX86_BUILTIN_PSHUFD: return "GSBI_IX86_BUILTIN_PSHUFD";
      case GSBI_IX86_BUILTIN_PSLLW128: return "GSBI_IX86_BUILTIN_PSLLW128";
      case GSBI_IX86_BUILTIN_PSLLD128: return "GSBI_IX86_BUILTIN_PSLLD128";
      case GSBI_IX86_BUILTIN_PSLLQ128: return "GSBI_IX86_BUILTIN_PSLLQ128";
      case GSBI_IX86_BUILTIN_PSRAW128: return "GSBI_IX86_BUILTIN_PSRAW128";
      case GSBI_IX86_BUILTIN_PSRAD128: return "GSBI_IX86_BUILTIN_PSRAD128";
      case GSBI_IX86_BUILTIN_PSRLW128: return "GSBI_IX86_BUILTIN_PSRLW128";
      case GSBI_IX86_BUILTIN_PSRLD128: return "GSBI_IX86_BUILTIN_PSRLD128";
      case GSBI_IX86_BUILTIN_PSRLQ128: return "GSBI_IX86_BUILTIN_PSRLQ128";
      case GSBI_IX86_BUILTIN_PSLLDQI128: return "GSBI_IX86_BUILTIN_PSLLDQI128";
      case GSBI_IX86_BUILTIN_PSLLWI128: return "GSBI_IX86_BUILTIN_PSLLWI128";
      case GSBI_IX86_BUILTIN_PSLLDI128: return "GSBI_IX86_BUILTIN_PSLLDI128";
      case GSBI_IX86_BUILTIN_PSLLQI128: return "GSBI_IX86_BUILTIN_PSLLQI128";
      case GSBI_IX86_BUILTIN_PSRAWI128: return "GSBI_IX86_BUILTIN_PSRAWI128";
      case GSBI_IX86_BUILTIN_PSRADI128: return "GSBI_IX86_BUILTIN_PSRADI128";
      case GSBI_IX86_BUILTIN_PSRLDQI128: return "GSBI_IX86_BUILTIN_PSRLDQI128";
      case GSBI_IX86_BUILTIN_PSRLWI128: return "GSBI_IX86_BUILTIN_PSRLWI128";
      case GSBI_IX86_BUILTIN_PSRLDI128: return "GSBI_IX86_BUILTIN_PSRLDI128";
      case GSBI_IX86_BUILTIN_PSRLQI128: return "GSBI_IX86_BUILTIN_PSRLQI128";
      case GSBI_IX86_BUILTIN_PUNPCKHBW128: return "GSBI_IX86_BUILTIN_PUNPCKHBW128";
      case GSBI_IX86_BUILTIN_PUNPCKHWD128: return "GSBI_IX86_BUILTIN_PUNPCKHWD128";
      case GSBI_IX86_BUILTIN_PUNPCKHDQ128: return "GSBI_IX86_BUILTIN_PUNPCKHDQ128";
      case GSBI_IX86_BUILTIN_PUNPCKHQDQ128: return "GSBI_IX86_BUILTIN_PUNPCKHQDQ128";
      case GSBI_IX86_BUILTIN_PUNPCKLBW128: return "GSBI_IX86_BUILTIN_PUNPCKLBW128";
      case GSBI_IX86_BUILTIN_PUNPCKLWD128: return "GSBI_IX86_BUILTIN_PUNPCKLWD128";
      case GSBI_IX86_BUILTIN_PUNPCKLDQ128: return "GSBI_IX86_BUILTIN_PUNPCKLDQ128";
      case GSBI_IX86_BUILTIN_PUNPCKLQDQ128: return "GSBI_IX86_BUILTIN_PUNPCKLQDQ128";
      case GSBI_IX86_BUILTIN_CLFLUSH: return "GSBI_IX86_BUILTIN_CLFLUSH";
      case GSBI_IX86_BUILTIN_MFENCE: return "GSBI_IX86_BUILTIN_MFENCE";
      case GSBI_IX86_BUILTIN_LFENCE: return "GSBI_IX86_BUILTIN_LFENCE";
      case GSBI_IX86_BUILTIN_ADDSUBPS: return "GSBI_IX86_BUILTIN_ADDSUBPS";
      case GSBI_IX86_BUILTIN_HADDPS: return "GSBI_IX86_BUILTIN_HADDPS";
      case GSBI_IX86_BUILTIN_HSUBPS: return "GSBI_IX86_BUILTIN_HSUBPS";
      case GSBI_IX86_BUILTIN_MOVSHDUP: return "GSBI_IX86_BUILTIN_MOVSHDUP";
      case GSBI_IX86_BUILTIN_MOVSLDUP: return "GSBI_IX86_BUILTIN_MOVSLDUP";
      case GSBI_IX86_BUILTIN_ADDSUBPD: return "GSBI_IX86_BUILTIN_ADDSUBPD";
      case GSBI_IX86_BUILTIN_HADDPD: return "GSBI_IX86_BUILTIN_HADDPD";
      case GSBI_IX86_BUILTIN_HSUBPD: return "GSBI_IX86_BUILTIN_HSUBPD";
      case GSBI_IX86_BUILTIN_LDDQU: return "GSBI_IX86_BUILTIN_LDDQU";
      case GSBI_IX86_BUILTIN_MONITOR: return "GSBI_IX86_BUILTIN_MONITOR";
      case GSBI_IX86_BUILTIN_MWAIT: return "GSBI_IX86_BUILTIN_MWAIT";
      case GSBI_IX86_BUILTIN_VEC_INIT_V2SI: return "GSBI_IX86_BUILTIN_VEC_INIT_V2SI";
      case GSBI_IX86_BUILTIN_VEC_INIT_V4HI: return "GSBI_IX86_BUILTIN_VEC_INIT_V4HI";
      case GSBI_IX86_BUILTIN_VEC_INIT_V8QI: return "GSBI_IX86_BUILTIN_VEC_INIT_V8QI";
      case GSBI_IX86_BUILTIN_VEC_EXT_V2DF: return "GSBI_IX86_BUILTIN_VEC_EXT_V2DF";
      case GSBI_IX86_BUILTIN_VEC_EXT_V2DI: return "GSBI_IX86_BUILTIN_VEC_EXT_V2DI";
      case GSBI_IX86_BUILTIN_VEC_EXT_V4SF: return "GSBI_IX86_BUILTIN_VEC_EXT_V4SF";
      case GSBI_IX86_BUILTIN_VEC_EXT_V4SI: return "GSBI_IX86_BUILTIN_VEC_EXT_V4SI";
      case GSBI_IX86_BUILTIN_VEC_EXT_V8HI: return "GSBI_IX86_BUILTIN_VEC_EXT_V8HI";
      case GSBI_IX86_BUILTIN_VEC_EXT_V2SI: return "GSBI_IX86_BUILTIN_VEC_EXT_V2SI";
      case GSBI_IX86_BUILTIN_VEC_EXT_V4HI: return "GSBI_IX86_BUILTIN_VEC_EXT_V4HI";
      case GSBI_IX86_BUILTIN_VEC_SET_V8HI: return "GSBI_IX86_BUILTIN_VEC_SET_V8HI";
      case GSBI_IX86_BUILTIN_VEC_SET_V4HI: return "GSBI_IX86_BUILTIN_VEC_SET_V4HI";
      case GSBI_IX86_BUILTIN_MOVNTSS: return "GSBI_IX86_BUILTIN_MOVNTSS";
      case GSBI_IX86_BUILTIN_MOVNTSD: return "GSBI_IX86_BUILTIN_MOVNTSD";
      case GSBI_IX86_BUILTIN_EXTRQI: return "GSBI_IX86_BUILTIN_EXTRQI";
      case GSBI_IX86_BUILTIN_EXTRQ: return "GSBI_IX86_BUILTIN_EXTRQ";
      case GSBI_IX86_BUILTIN_INSERTQI: return "GSBI_IX86_BUILTIN_INSERTQI";
      case GSBI_IX86_BUILTIN_INSERTQ: return "GSBI_IX86_BUILTIN_INSERTQ";
  
  #ifdef FE_GNU_4_2_0
      /* SSSE3 intrinsics */
      case GSBI_IX86_BUILTIN_PABSB:       return "GSBI_IX86_BUILTIN_PABSB";
      case GSBI_IX86_BUILTIN_PABSB128:    return "GSBI_IX86_BUILTIN_PABSB128";
      case GSBI_IX86_BUILTIN_PABSD:       return "GSBI_IX86_BUILTIN_PABSD";
      case GSBI_IX86_BUILTIN_PABSD128:    return "GSBI_IX86_BUILTIN_PABSD128";
      case GSBI_IX86_BUILTIN_PABSW:       return "GSBI_IX86_BUILTIN_PABSW";
      case GSBI_IX86_BUILTIN_PABSW128:    return "GSBI_IX86_BUILTIN_PABSW128";
      case GSBI_IX86_BUILTIN_PALIGNR:     return "GSBI_IX86_BUILTIN_PALIGNR";
      case GSBI_IX86_BUILTIN_PALIGNR128:  return "GSBI_IX86_BUILTIN_PALIGNR128";
      case GSBI_IX86_BUILTIN_PHADDD:      return "GSBI_IX86_BUILTIN_PHADDD";
      case GSBI_IX86_BUILTIN_PHADDD128:   return "GSBI_IX86_BUILTIN_PHADDD128";
      case GSBI_IX86_BUILTIN_PHADDSW:     return "GSBI_IX86_BUILTIN_PHADDSW";
      case GSBI_IX86_BUILTIN_PHADDSW128:  return "GSBI_IX86_BUILTIN_PHADDSW128";
      case GSBI_IX86_BUILTIN_PHADDW:      return "GSBI_IX86_BUILTIN_PHADDW";
      case GSBI_IX86_BUILTIN_PHADDW128:   return "GSBI_IX86_BUILTIN_PHADDW128";
      case GSBI_IX86_BUILTIN_PHSUBD:      return "GSBI_IX86_BUILTIN_PHSUBD";
      case GSBI_IX86_BUILTIN_PHSUBD128:   return "GSBI_IX86_BUILTIN_PHSUBD128";
      case GSBI_IX86_BUILTIN_PHSUBSW:     return "GSBI_IX86_BUILTIN_PHSUBSW";
      case GSBI_IX86_BUILTIN_PHSUBSW128:  return "GSBI_IX86_BUILTIN_PHSUBSW128";
      case GSBI_IX86_BUILTIN_PHSUBW:      return "GSBI_IX86_BUILTIN_PHSUBW";
      case GSBI_IX86_BUILTIN_PHSUBW128:   return "GSBI_IX86_BUILTIN_PHSUBW128";
      case GSBI_IX86_BUILTIN_PMADDUBSW:   return "GSBI_IX86_BUILTIN_PMADDUBSW";
      case GSBI_IX86_BUILTIN_PMADDUBSW128:        return "GSBI_IX86_BUILTIN_PMADDUBSW128";
      case GSBI_IX86_BUILTIN_PMULHRSW:    return "GSBI_IX86_BUILTIN_PMULHRSW";
      case GSBI_IX86_BUILTIN_PMULHRSW128: return "GSBI_IX86_BUILTIN_PMULHRSW128";
      case GSBI_IX86_BUILTIN_PSHUFB:      return "GSBI_IX86_BUILTIN_PSHUFB";
      case GSBI_IX86_BUILTIN_PSHUFB128:   return "GSBI_IX86_BUILTIN_PSHUFB128";
      case GSBI_IX86_BUILTIN_PSIGNB:      return "GSBI_IX86_BUILTIN_PSIGNB";
      case GSBI_IX86_BUILTIN_PSIGNB128:   return "GSBI_IX86_BUILTIN_PSIGNB128";
      case GSBI_IX86_BUILTIN_PSIGND:      return "GSBI_IX86_BUILTIN_PSIGND";
      case GSBI_IX86_BUILTIN_PSIGND128:   return "GSBI_IX86_BUILTIN_PSIGND128";
      case GSBI_IX86_BUILTIN_PSIGNW:      return "GSBI_IX86_BUILTIN_PSIGNW";
      case GSBI_IX86_BUILTIN_PSIGNW128:   return "GSBI_IX86_BUILTIN_PSIGNW128";
  
      /* SSE4.1 intrinsics */
      case GSBI_IX86_BUILTIN_BLENDPD:     return "GSBI_IX86_BUILTIN_BLENDPD";
      case GSBI_IX86_BUILTIN_BLENDPS:     return "GSBI_IX86_BUILTIN_BLENDPS";
      case GSBI_IX86_BUILTIN_BLENDVPD:    return "GSBI_IX86_BUILTIN_BLENDVPD";
      case GSBI_IX86_BUILTIN_BLENDVPS:    return "GSBI_IX86_BUILTIN_BLENDVPS";
      case GSBI_IX86_BUILTIN_DPPD:        return "GSBI_IX86_BUILTIN_DPPD";
      case GSBI_IX86_BUILTIN_DPPS:        return "GSBI_IX86_BUILTIN_DPPS";
      case GSBI_IX86_BUILTIN_INSERTPS128: return "GSBI_IX86_BUILTIN_INSERTPS128";
      case GSBI_IX86_BUILTIN_MOVNTDQA:    return "GSBI_IX86_BUILTIN_MOVNTDQA";
      case GSBI_IX86_BUILTIN_MPSADBW128:  return "GSBI_IX86_BUILTIN_MPSADBW128";
      case GSBI_IX86_BUILTIN_PACKUSDW128: return "GSBI_IX86_BUILTIN_PACKUSDW128";
      case GSBI_IX86_BUILTIN_PBLENDVB128: return "GSBI_IX86_BUILTIN_PBLENDVB128";
      case GSBI_IX86_BUILTIN_PBLENDW128:  return "GSBI_IX86_BUILTIN_PBLENDW128";
      case GSBI_IX86_BUILTIN_PCMPEQQ:     return "GSBI_IX86_BUILTIN_PCMPEQQ";
      case GSBI_IX86_BUILTIN_PHMINPOSUW128:       return "GSBI_IX86_BUILTIN_PHMINPOSUW128";
      case GSBI_IX86_BUILTIN_PMAXSB128:   return "GSBI_IX86_BUILTIN_PMAXSB128";
      case GSBI_IX86_BUILTIN_PMAXSD128:   return "GSBI_IX86_BUILTIN_PMAXSD128";
      case GSBI_IX86_BUILTIN_PMAXUD128:   return "GSBI_IX86_BUILTIN_PMAXUD128";
      case GSBI_IX86_BUILTIN_PMAXUW128:   return "GSBI_IX86_BUILTIN_PMAXUW128";
      case GSBI_IX86_BUILTIN_PMINSB128:   return "GSBI_IX86_BUILTIN_PMINSB128";
      case GSBI_IX86_BUILTIN_PMINSD128:   return "GSBI_IX86_BUILTIN_PMINSD128";
      case GSBI_IX86_BUILTIN_PMINUD128:   return "GSBI_IX86_BUILTIN_PMINUD128";
      case GSBI_IX86_BUILTIN_PMINUW128:   return "GSBI_IX86_BUILTIN_PMINUW128";
      case GSBI_IX86_BUILTIN_PMOVSXBD128: return "GSBI_IX86_BUILTIN_PMOVSXBD128";
      case GSBI_IX86_BUILTIN_PMOVSXBQ128: return "GSBI_IX86_BUILTIN_PMOVSXBQ128";
      case GSBI_IX86_BUILTIN_PMOVSXBW128: return "GSBI_IX86_BUILTIN_PMOVSXBW128";
      case GSBI_IX86_BUILTIN_PMOVSXDQ128: return "GSBI_IX86_BUILTIN_PMOVSXDQ128";
      case GSBI_IX86_BUILTIN_PMOVSXWD128: return "GSBI_IX86_BUILTIN_PMOVSXWD128";
      case GSBI_IX86_BUILTIN_PMOVSXWQ128: return "GSBI_IX86_BUILTIN_PMOVSXWQ128";
      case GSBI_IX86_BUILTIN_PMOVZXBD128: return "GSBI_IX86_BUILTIN_PMOVZXBD128";
      case GSBI_IX86_BUILTIN_PMOVZXBQ128: return "GSBI_IX86_BUILTIN_PMOVZXBQ128";
      case GSBI_IX86_BUILTIN_PMOVZXBW128: return "GSBI_IX86_BUILTIN_PMOVZXBW128";
      case GSBI_IX86_BUILTIN_PMOVZXDQ128: return "GSBI_IX86_BUILTIN_PMOVZXDQ128";
      case GSBI_IX86_BUILTIN_PMOVZXWD128: return "GSBI_IX86_BUILTIN_PMOVZXWD128";
      case GSBI_IX86_BUILTIN_PMOVZXWQ128: return "GSBI_IX86_BUILTIN_PMOVZXWQ128";
      case GSBI_IX86_BUILTIN_PMULDQ128:   return "GSBI_IX86_BUILTIN_PMULDQ128";
      case GSBI_IX86_BUILTIN_PMULLD128:   return "GSBI_IX86_BUILTIN_PMULLD128";
      case GSBI_IX86_BUILTIN_VEC_SET_V16QI:       return "GSBI_IX86_BUILTIN_VEC_SET_V16QI";
      case GSBI_IX86_BUILTIN_VEC_SET_V2DI:        return "GSBI_IX86_BUILTIN_VEC_SET_V2DI";
      case GSBI_IX86_BUILTIN_VEC_SET_V4SF:        return "GSBI_IX86_BUILTIN_VEC_SET_V4SF";
      case GSBI_IX86_BUILTIN_VEC_SET_V4SI:        return "GSBI_IX86_BUILTIN_VEC_SET_V4SI";
  
      /* SSE4.2 intrinsics */
      case GSBI_IX86_BUILTIN_CRC32DI:     return "GSBI_IX86_BUILTIN_CRC32DI";
      case GSBI_IX86_BUILTIN_CRC32HI:     return "GSBI_IX86_BUILTIN_CRC32HI";
      case GSBI_IX86_BUILTIN_CRC32QI:     return "GSBI_IX86_BUILTIN_CRC32QI";
      case GSBI_IX86_BUILTIN_CRC32SI:     return "GSBI_IX86_BUILTIN_CRC32SI";
      case GSBI_IX86_BUILTIN_PCMPESTRI128:        return "GSBI_IX86_BUILTIN_PCMPESTRI128";
      case GSBI_IX86_BUILTIN_PCMPESTRA128:        return "GSBI_IX86_BUILTIN_PCMPESTRA128";
      case GSBI_IX86_BUILTIN_PCMPESTRC128:        return "GSBI_IX86_BUILTIN_PCMPESTRC128";
      case GSBI_IX86_BUILTIN_PCMPESTRO128:        return "GSBI_IX86_BUILTIN_PCMPESTRO128";
      case GSBI_IX86_BUILTIN_PCMPESTRS128:        return "GSBI_IX86_BUILTIN_PCMPESTRS128";
      case GSBI_IX86_BUILTIN_PCMPESTRZ128:        return "GSBI_IX86_BUILTIN_PCMPESTRZ128";
      case GSBI_IX86_BUILTIN_PCMPESTRM128:        return "GSBI_IX86_BUILTIN_PCMPESTRM128";
      case GSBI_IX86_BUILTIN_PCMPGTQ:     return "GSBI_IX86_BUILTIN_PCMPGTQ";
      case GSBI_IX86_BUILTIN_PCMPISTRI128:        return "GSBI_IX86_BUILTIN_PCMPISTRI128";
      case GSBI_IX86_BUILTIN_PCMPISTRA128:        return "GSBI_IX86_BUILTIN_PCMPISTRA128";
      case GSBI_IX86_BUILTIN_PCMPISTRC128:        return "GSBI_IX86_BUILTIN_PCMPISTRC128";
      case GSBI_IX86_BUILTIN_PCMPISTRO128:        return "GSBI_IX86_BUILTIN_PCMPISTRO128";
      case GSBI_IX86_BUILTIN_PCMPISTRS128:        return "GSBI_IX86_BUILTIN_PCMPISTRS128";
      case GSBI_IX86_BUILTIN_PCMPISTRZ128:        return "GSBI_IX86_BUILTIN_PCMPISTRZ128";
      case GSBI_IX86_BUILTIN_PCMPISTRM128:        return "GSBI_IX86_BUILTIN_PCMPISTRM128";
  
      /* AES intrinsics */
      case GSBI_IX86_BUILTIN_AESDEC128:   return "GSBI_IX86_BUILTIN_AESDEC128";
      case GSBI_IX86_BUILTIN_AESDECLAST128:       return "GSBI_IX86_BUILTIN_AESDECLAST128";
      case GSBI_IX86_BUILTIN_AESENC128:   return "GSBI_IX86_BUILTIN_AESENC128";
      case GSBI_IX86_BUILTIN_AESENCLAST128:       return "GSBI_IX86_BUILTIN_AESENCLAST128";
      case GSBI_IX86_BUILTIN_AESIMC128:   return "GSBI_IX86_BUILTIN_AESIMC128";
      case GSBI_IX86_BUILTIN_AESKEYGENASSIST128:  return "GSBI_IX86_BUILTIN_AESKEYGENASSIST128";
  
      /* PCLMUL intrinsics */
      case GSBI_IX86_BUILTIN_PCLMULQDQ128:        return "GSBI_IX86_BUILTIN_PCLMULQDQ128";
  
      /* AVX intrinsics */
      case GSBI_IX86_BUILTIN_ADDPD256:    return "GSBI_IX86_BUILTIN_ADDPD256";
      case GSBI_IX86_BUILTIN_ADDPS256:    return "GSBI_IX86_BUILTIN_ADDPS256";
      case GSBI_IX86_BUILTIN_ADDSUBPD256: return "GSBI_IX86_BUILTIN_ADDSUBPD256";
      case GSBI_IX86_BUILTIN_ADDSUBPS256: return "GSBI_IX86_BUILTIN_ADDSUBPS256";
      case GSBI_IX86_BUILTIN_ANDNPD256:   return "GSBI_IX86_BUILTIN_ANDNPD256";
      case GSBI_IX86_BUILTIN_ANDNPS256:   return "GSBI_IX86_BUILTIN_ANDNPS256";
      case GSBI_IX86_BUILTIN_ANDPD256:    return "GSBI_IX86_BUILTIN_ANDPD256";
      case GSBI_IX86_BUILTIN_ANDPS256:    return "GSBI_IX86_BUILTIN_ANDPS256";
      case GSBI_IX86_BUILTIN_BLENDPD256:  return "GSBI_IX86_BUILTIN_BLENDPD256";
      case GSBI_IX86_BUILTIN_BLENDPS256:  return "GSBI_IX86_BUILTIN_BLENDPS256";
      case GSBI_IX86_BUILTIN_BLENDVPD256: return "GSBI_IX86_BUILTIN_BLENDVPD256";
      case GSBI_IX86_BUILTIN_BLENDVPS256: return "GSBI_IX86_BUILTIN_BLENDVPS256";
      case GSBI_IX86_BUILTIN_CMPPD:       return "GSBI_IX86_BUILTIN_CMPPD";
      case GSBI_IX86_BUILTIN_CMPPD256:    return "GSBI_IX86_BUILTIN_CMPPD256";
      case GSBI_IX86_BUILTIN_CMPPS:       return "GSBI_IX86_BUILTIN_CMPPS";
      case GSBI_IX86_BUILTIN_CMPPS256:    return "GSBI_IX86_BUILTIN_CMPPS256";
      case GSBI_IX86_BUILTIN_CMPSD:       return "GSBI_IX86_BUILTIN_CMPSD";
      case GSBI_IX86_BUILTIN_CMPSS:       return "GSBI_IX86_BUILTIN_CMPSS";
      case GSBI_IX86_BUILTIN_CVTDQ2PD256: return "GSBI_IX86_BUILTIN_CVTDQ2PD256";
      case GSBI_IX86_BUILTIN_CVTDQ2PS256: return "GSBI_IX86_BUILTIN_CVTDQ2PS256";
      case GSBI_IX86_BUILTIN_CVTPD2DQ256: return "GSBI_IX86_BUILTIN_CVTPD2DQ256";
      case GSBI_IX86_BUILTIN_CVTPD2PS256: return "GSBI_IX86_BUILTIN_CVTPD2PS256";
      case GSBI_IX86_BUILTIN_CVTPS2DQ256: return "GSBI_IX86_BUILTIN_CVTPS2DQ256";
      case GSBI_IX86_BUILTIN_CVTPS2PD256: return "GSBI_IX86_BUILTIN_CVTPS2PD256";
      case GSBI_IX86_BUILTIN_CVTTPD2DQ256:        return "GSBI_IX86_BUILTIN_CVTTPD2DQ256";
      case GSBI_IX86_BUILTIN_CVTTPS2DQ256:        return "GSBI_IX86_BUILTIN_CVTTPS2DQ256";
      case GSBI_IX86_BUILTIN_DIVPD256:    return "GSBI_IX86_BUILTIN_DIVPD256";
      case GSBI_IX86_BUILTIN_DIVPS256:    return "GSBI_IX86_BUILTIN_DIVPS256";
      case GSBI_IX86_BUILTIN_DPPS256:     return "GSBI_IX86_BUILTIN_DPPS256";
      case GSBI_IX86_BUILTIN_HADDPD256:   return "GSBI_IX86_BUILTIN_HADDPD256";
      case GSBI_IX86_BUILTIN_HADDPS256:   return "GSBI_IX86_BUILTIN_HADDPS256";
      case GSBI_IX86_BUILTIN_HSUBPD256:   return "GSBI_IX86_BUILTIN_HSUBPD256";
      case GSBI_IX86_BUILTIN_HSUBPS256:   return "GSBI_IX86_BUILTIN_HSUBPS256";
      case GSBI_IX86_BUILTIN_LDDQU256:    return "GSBI_IX86_BUILTIN_LDDQU256";
      case GSBI_IX86_BUILTIN_LOADDQU256:  return "GSBI_IX86_BUILTIN_LOADDQU256";
      case GSBI_IX86_BUILTIN_LOADUPD256:  return "GSBI_IX86_BUILTIN_LOADUPD256";
      case GSBI_IX86_BUILTIN_LOADUPS256:  return "GSBI_IX86_BUILTIN_LOADUPS256";
      case GSBI_IX86_BUILTIN_MASKLOADPD:  return "GSBI_IX86_BUILTIN_MASKLOADPD";
      case GSBI_IX86_BUILTIN_MASKLOADPD256:       return "GSBI_IX86_BUILTIN_MASKLOADPD256";
      case GSBI_IX86_BUILTIN_MASKLOADPS:  return "GSBI_IX86_BUILTIN_MASKLOADPS";
      case GSBI_IX86_BUILTIN_MASKLOADPS256:       return "GSBI_IX86_BUILTIN_MASKLOADPS256";
      case GSBI_IX86_BUILTIN_MASKSTOREPD: return "GSBI_IX86_BUILTIN_MASKSTOREPD";
      case GSBI_IX86_BUILTIN_MASKSTOREPD256:      return "GSBI_IX86_BUILTIN_MASKSTOREPD256";
      case GSBI_IX86_BUILTIN_MASKSTOREPS: return "GSBI_IX86_BUILTIN_MASKSTOREPS";
      case GSBI_IX86_BUILTIN_MASKSTOREPS256:      return "GSBI_IX86_BUILTIN_MASKSTOREPS256";
      case GSBI_IX86_BUILTIN_MAXPD256:    return "GSBI_IX86_BUILTIN_MAXPD256";
      case GSBI_IX86_BUILTIN_MAXPS256:    return "GSBI_IX86_BUILTIN_MAXPS256";
      case GSBI_IX86_BUILTIN_MINPD256:    return "GSBI_IX86_BUILTIN_MINPD256";
      case GSBI_IX86_BUILTIN_MINPS256:    return "GSBI_IX86_BUILTIN_MINPS256";
      case GSBI_IX86_BUILTIN_MOVDDUP256:  return "GSBI_IX86_BUILTIN_MOVDDUP256";
      case GSBI_IX86_BUILTIN_MOVMSKPD256: return "GSBI_IX86_BUILTIN_MOVMSKPD256";
      case GSBI_IX86_BUILTIN_MOVMSKPS256: return "GSBI_IX86_BUILTIN_MOVMSKPS256";
      case GSBI_IX86_BUILTIN_MOVNTDQ256:  return "GSBI_IX86_BUILTIN_MOVNTDQ256";
      case GSBI_IX86_BUILTIN_MOVNTPD256:  return "GSBI_IX86_BUILTIN_MOVNTPD256";
      case GSBI_IX86_BUILTIN_MOVNTPS256:  return "GSBI_IX86_BUILTIN_MOVNTPS256";
      case GSBI_IX86_BUILTIN_MOVSHDUP256: return "GSBI_IX86_BUILTIN_MOVSHDUP256";
      case GSBI_IX86_BUILTIN_MOVSLDUP256: return "GSBI_IX86_BUILTIN_MOVSLDUP256";
      case GSBI_IX86_BUILTIN_MULPD256:    return "GSBI_IX86_BUILTIN_MULPD256";
      case GSBI_IX86_BUILTIN_MULPS256:    return "GSBI_IX86_BUILTIN_MULPS256";
      case GSBI_IX86_BUILTIN_ORPD256:     return "GSBI_IX86_BUILTIN_ORPD256";
      case GSBI_IX86_BUILTIN_ORPS256:     return "GSBI_IX86_BUILTIN_ORPS256";
      case GSBI_IX86_BUILTIN_PD256_PD:    return "GSBI_IX86_BUILTIN_PD256_PD";
      case GSBI_IX86_BUILTIN_PD_PD256:    return "GSBI_IX86_BUILTIN_PD_PD256";
      case GSBI_IX86_BUILTIN_PS256_PS:    return "GSBI_IX86_BUILTIN_PS256_PS";
      case GSBI_IX86_BUILTIN_PS_PS256:    return "GSBI_IX86_BUILTIN_PS_PS256";
      case GSBI_IX86_BUILTIN_PTESTC256:   return "GSBI_IX86_BUILTIN_PTESTC256";
      case GSBI_IX86_BUILTIN_PTESTNZC256: return "GSBI_IX86_BUILTIN_PTESTNZC256";
      case GSBI_IX86_BUILTIN_PTESTZ256:   return "GSBI_IX86_BUILTIN_PTESTZ256";
      case GSBI_IX86_BUILTIN_RCPPS256:    return "GSBI_IX86_BUILTIN_RCPPS256";
      case GSBI_IX86_BUILTIN_ROUNDPD256:  return "GSBI_IX86_BUILTIN_ROUNDPD256";
      case GSBI_IX86_BUILTIN_ROUNDPS256:  return "GSBI_IX86_BUILTIN_ROUNDPS256";
      case GSBI_IX86_BUILTIN_RSQRTPS256:  return "GSBI_IX86_BUILTIN_RSQRTPS256";
      case GSBI_IX86_BUILTIN_RSQRTPS_NR256:       return "GSBI_IX86_BUILTIN_RSQRTPS_NR256";
      case GSBI_IX86_BUILTIN_SHUFPD256:   return "GSBI_IX86_BUILTIN_SHUFPD256";
      case GSBI_IX86_BUILTIN_SHUFPS256:   return "GSBI_IX86_BUILTIN_SHUFPS256";
      case GSBI_IX86_BUILTIN_SI256_SI:    return "GSBI_IX86_BUILTIN_SI256_SI";
      case GSBI_IX86_BUILTIN_SI_SI256:    return "GSBI_IX86_BUILTIN_SI_SI256";
      case GSBI_IX86_BUILTIN_SQRTPD256:   return "GSBI_IX86_BUILTIN_SQRTPD256";
      case GSBI_IX86_BUILTIN_SQRTPS256:   return "GSBI_IX86_BUILTIN_SQRTPS256";
      case GSBI_IX86_BUILTIN_SQRTPS_NR256:        return "GSBI_IX86_BUILTIN_SQRTPS_NR256";
      case GSBI_IX86_BUILTIN_STOREDQU256: return "GSBI_IX86_BUILTIN_STOREDQU256";
      case GSBI_IX86_BUILTIN_STOREUPD256: return "GSBI_IX86_BUILTIN_STOREUPD256";
      case GSBI_IX86_BUILTIN_STOREUPS256: return "GSBI_IX86_BUILTIN_STOREUPS256";
      case GSBI_IX86_BUILTIN_SUBPD256:    return "GSBI_IX86_BUILTIN_SUBPD256";
      case GSBI_IX86_BUILTIN_SUBPS256:    return "GSBI_IX86_BUILTIN_SUBPS256";
      case GSBI_IX86_BUILTIN_UNPCKHPD256: return "GSBI_IX86_BUILTIN_UNPCKHPD256";
      case GSBI_IX86_BUILTIN_UNPCKHPS256: return "GSBI_IX86_BUILTIN_UNPCKHPS256";
      case GSBI_IX86_BUILTIN_UNPCKLPD256: return "GSBI_IX86_BUILTIN_UNPCKLPD256";
      case GSBI_IX86_BUILTIN_UNPCKLPS256: return "GSBI_IX86_BUILTIN_UNPCKLPS256";
      case GSBI_IX86_BUILTIN_VBROADCASTPD256:     return "GSBI_IX86_BUILTIN_VBROADCASTPD256";
      case GSBI_IX86_BUILTIN_VBROADCASTPS256:     return "GSBI_IX86_BUILTIN_VBROADCASTPS256";
      case GSBI_IX86_BUILTIN_VBROADCASTSD256:     return "GSBI_IX86_BUILTIN_VBROADCASTSD256";
      case GSBI_IX86_BUILTIN_VBROADCASTSS:        return "GSBI_IX86_BUILTIN_VBROADCASTSS";
      case GSBI_IX86_BUILTIN_VBROADCASTSS256:     return "GSBI_IX86_BUILTIN_VBROADCASTSS256";
      case GSBI_IX86_BUILTIN_EXTRACTF128PD256:    return "GSBI_IX86_BUILTIN_EXTRACTF128PD256";
      case GSBI_IX86_BUILTIN_EXTRACTF128PS256:    return "GSBI_IX86_BUILTIN_EXTRACTF128PS256";
      case GSBI_IX86_BUILTIN_EXTRACTF128SI256:    return "GSBI_IX86_BUILTIN_EXTRACTF128SI256";
      case GSBI_IX86_BUILTIN_VINSERTF128PD256:    return "GSBI_IX86_BUILTIN_VINSERTF128PD256";
      case GSBI_IX86_BUILTIN_VINSERTF128PS256:    return "GSBI_IX86_BUILTIN_VINSERTF128PS256";
      case GSBI_IX86_BUILTIN_VINSERTF128SI256:    return "GSBI_IX86_BUILTIN_VINSERTF128SI256";
      case GSBI_IX86_BUILTIN_VPERM2F128PD256:     return "GSBI_IX86_BUILTIN_VPERM2F128PD256";
      case GSBI_IX86_BUILTIN_VPERM2F128PS256:     return "GSBI_IX86_BUILTIN_VPERM2F128PS256";
      case GSBI_IX86_BUILTIN_VPERM2F128SI256:     return "GSBI_IX86_BUILTIN_VPERM2F128SI256";
      case GSBI_IX86_BUILTIN_VPERMILPD:   return "GSBI_IX86_BUILTIN_VPERMILPD";
      case GSBI_IX86_BUILTIN_VPERMILPD256:        return "GSBI_IX86_BUILTIN_VPERMILPD256";
      case GSBI_IX86_BUILTIN_VPERMILPS:   return "GSBI_IX86_BUILTIN_VPERMILPS";
      case GSBI_IX86_BUILTIN_VPERMILPS256:        return "GSBI_IX86_BUILTIN_VPERMILPS256";
      case GSBI_IX86_BUILTIN_VPERMILVARPD:        return "GSBI_IX86_BUILTIN_VPERMILVARPD";
      case GSBI_IX86_BUILTIN_VPERMILVARPD256:     return "GSBI_IX86_BUILTIN_VPERMILVARPD256";
      case GSBI_IX86_BUILTIN_VPERMILVARPS:        return "GSBI_IX86_BUILTIN_VPERMILVARPS";
      case GSBI_IX86_BUILTIN_VPERMILVARPS256:     return "GSBI_IX86_BUILTIN_VPERMILVARPS256";
      case GSBI_IX86_BUILTIN_VTESTCPD:    return "GSBI_IX86_BUILTIN_VTESTCPD";
      case GSBI_IX86_BUILTIN_VTESTCPD256: return "GSBI_IX86_BUILTIN_VTESTCPD256";
      case GSBI_IX86_BUILTIN_VTESTCPS:    return "GSBI_IX86_BUILTIN_VTESTCPS";
      case GSBI_IX86_BUILTIN_VTESTCPS256: return "GSBI_IX86_BUILTIN_VTESTCPS256";
      case GSBI_IX86_BUILTIN_VTESTNZCPD:  return "GSBI_IX86_BUILTIN_VTESTNZCPD";
      case GSBI_IX86_BUILTIN_VTESTNZCPD256:       return "GSBI_IX86_BUILTIN_VTESTNZCPD256";
      case GSBI_IX86_BUILTIN_VTESTNZCPS:  return "GSBI_IX86_BUILTIN_VTESTNZCPS";
      case GSBI_IX86_BUILTIN_VTESTNZCPS256:       return "GSBI_IX86_BUILTIN_VTESTNZCPS256";
      case GSBI_IX86_BUILTIN_VTESTZPD:    return "GSBI_IX86_BUILTIN_VTESTZPD";
      case GSBI_IX86_BUILTIN_VTESTZPD256: return "GSBI_IX86_BUILTIN_VTESTZPD256";
      case GSBI_IX86_BUILTIN_VTESTZPS:    return "GSBI_IX86_BUILTIN_VTESTZPS";
      case GSBI_IX86_BUILTIN_VTESTZPS256: return "GSBI_IX86_BUILTIN_VTESTZPS256";
      case GSBI_IX86_BUILTIN_VZEROALL:    return "GSBI_IX86_BUILTIN_VZEROALL";
      case GSBI_IX86_BUILTIN_VZEROUPPER:  return "GSBI_IX86_BUILTIN_VZEROUPPER";
      case GSBI_IX86_BUILTIN_XORPD256:    return "GSBI_IX86_BUILTIN_XORPD256";
      case GSBI_IX86_BUILTIN_XORPS256:    return "GSBI_IX86_BUILTIN_XORPS256";
  
      /* FMA3 intrinsics form1 */
      case GSBI_IX86_BUILTIN_VFMADDPD_132:    return "GSBI_IX86_BUILTIN_VFMADDPD_132";
      case GSBI_IX86_BUILTIN_VFMADDPD256_132: return "GSBI_IX86_BUILTIN_VFMADDPD256_132";
      case GSBI_IX86_BUILTIN_VFMADDPS_132:    return "GSBI_IX86_BUILTIN_VFMADDPS_132";
      case GSBI_IX86_BUILTIN_VFMADDPS256_132: return "GSBI_IX86_BUILTIN_VFMADDPS256_132";
      case GSBI_IX86_BUILTIN_VFMADDSD_132:    return "GSBI_IX86_BUILTIN_VFMADDSD_132";
      case GSBI_IX86_BUILTIN_VFMADDSS_132:    return "GSBI_IX86_BUILTIN_VFMADDSS_132";
      case GSBI_IX86_BUILTIN_VFMADDSUBPD_132: return "GSBI_IX86_BUILTIN_VFMADDSUBPD_132";
      case GSBI_IX86_BUILTIN_VFMADDSUBPD256_132:      return "GSBI_IX86_BUILTIN_VFMADDSUBPD256_132";
      case GSBI_IX86_BUILTIN_VFMADDSUBPS_132: return "GSBI_IX86_BUILTIN_VFMADDSUBPS_132";
      case GSBI_IX86_BUILTIN_VFMADDSUBPS256_132:      return "GSBI_IX86_BUILTIN_VFMADDSUBPS256_132";
      case GSBI_IX86_BUILTIN_VFMSUBADDPD_132: return "GSBI_IX86_BUILTIN_VFMSUBADDPD_132";
      case GSBI_IX86_BUILTIN_VFMSUBADDPD256_132:      return "GSBI_IX86_BUILTIN_VFMSUBADDPD256_132";
      case GSBI_IX86_BUILTIN_VFMSUBADDPS_132: return "GSBI_IX86_BUILTIN_VFMSUBADDPS_132";
      case GSBI_IX86_BUILTIN_VFMSUBADDPS256_132:      return "GSBI_IX86_BUILTIN_VFMSUBADDPS256_132";
      case GSBI_IX86_BUILTIN_VFMSUBPD_132:    return "GSBI_IX86_BUILTIN_VFMSUBPD_132";
      case GSBI_IX86_BUILTIN_VFMSUBPD256_132: return "GSBI_IX86_BUILTIN_VFMSUBPD256_132";
      case GSBI_IX86_BUILTIN_VFMSUBPS_132:    return "GSBI_IX86_BUILTIN_VFMSUBPS_132";
      case GSBI_IX86_BUILTIN_VFMSUBPS256_132: return "GSBI_IX86_BUILTIN_VFMSUBPS256_132";
      case GSBI_IX86_BUILTIN_VFMSUBSD_132:    return "GSBI_IX86_BUILTIN_VFMSUBSD_132";
      case GSBI_IX86_BUILTIN_VFMSUBSS_132:    return "GSBI_IX86_BUILTIN_VFMSUBSS_132";
      case GSBI_IX86_BUILTIN_VFNMADDPD_132:   return "GSBI_IX86_BUILTIN_VFNMADDPD_132";
      case GSBI_IX86_BUILTIN_VFNMADDPD256_132:        return "GSBI_IX86_BUILTIN_VFNMADDPD256_132";
      case GSBI_IX86_BUILTIN_VFNMADDPS_132:   return "GSBI_IX86_BUILTIN_VFNMADDPS_132";
      case GSBI_IX86_BUILTIN_VFNMADDPS256_132:        return "GSBI_IX86_BUILTIN_VFNMADDPS256_132";
      case GSBI_IX86_BUILTIN_VFNMADDSD_132:   return "GSBI_IX86_BUILTIN_VFNMADDSD_132";
      case GSBI_IX86_BUILTIN_VFNMADDSS_132:   return "GSBI_IX86_BUILTIN_VFNMADDSS_132";
      case GSBI_IX86_BUILTIN_VFNMSUBPD_132:   return "GSBI_IX86_BUILTIN_VFNMSUBPD_132";
      case GSBI_IX86_BUILTIN_VFNMSUBPD256_132:        return "GSBI_IX86_BUILTIN_VFNMSUBPD256_132";
      case GSBI_IX86_BUILTIN_VFNMSUBPS_132:   return "GSBI_IX86_BUILTIN_VFNMSUBPS_132";
      case GSBI_IX86_BUILTIN_VFNMSUBPS256_132:        return "GSBI_IX86_BUILTIN_VFNMSUBPS256_132";
      case GSBI_IX86_BUILTIN_VFNMSUBSD_132:   return "GSBI_IX86_BUILTIN_VFNMSUBSD_132";
      case GSBI_IX86_BUILTIN_VFNMSUBSS_132:   return "GSBI_IX86_BUILTIN_VFNMSUBSS_132";
  
      /* FMA3 intrinsics form2 */
      case GSBI_IX86_BUILTIN_VFMADDPD_213:    return "GSBI_IX86_BUILTIN_VFMADDPD_213";
      case GSBI_IX86_BUILTIN_VFMADDPD256_213: return "GSBI_IX86_BUILTIN_VFMADDPD256_213";
      case GSBI_IX86_BUILTIN_VFMADDPS_213:    return "GSBI_IX86_BUILTIN_VFMADDPS_213";
      case GSBI_IX86_BUILTIN_VFMADDPS256_213: return "GSBI_IX86_BUILTIN_VFMADDPS256_213";
      case GSBI_IX86_BUILTIN_VFMADDSD_213:    return "GSBI_IX86_BUILTIN_VFMADDSD_213";
      case GSBI_IX86_BUILTIN_VFMADDSS_213:    return "GSBI_IX86_BUILTIN_VFMADDSS_213";
      case GSBI_IX86_BUILTIN_VFMADDSUBPD_213: return "GSBI_IX86_BUILTIN_VFMADDSUBPD_213";
      case GSBI_IX86_BUILTIN_VFMADDSUBPD256_213:      return "GSBI_IX86_BUILTIN_VFMADDSUBPD256_213";
      case GSBI_IX86_BUILTIN_VFMADDSUBPS_213: return "GSBI_IX86_BUILTIN_VFMADDSUBPS_213";
      case GSBI_IX86_BUILTIN_VFMADDSUBPS256_213:      return "GSBI_IX86_BUILTIN_VFMADDSUBPS256_213";
      case GSBI_IX86_BUILTIN_VFMSUBADDPD_213: return "GSBI_IX86_BUILTIN_VFMSUBADDPD_213";
      case GSBI_IX86_BUILTIN_VFMSUBADDPD256_213:      return "GSBI_IX86_BUILTIN_VFMSUBADDPD256_213";
      case GSBI_IX86_BUILTIN_VFMSUBADDPS_213: return "GSBI_IX86_BUILTIN_VFMSUBADDPS_213";
      case GSBI_IX86_BUILTIN_VFMSUBADDPS256_213:      return "GSBI_IX86_BUILTIN_VFMSUBADDPS256_213";
      case GSBI_IX86_BUILTIN_VFMSUBPD_213:    return "GSBI_IX86_BUILTIN_VFMSUBPD_213";
      case GSBI_IX86_BUILTIN_VFMSUBPD256_213: return "GSBI_IX86_BUILTIN_VFMSUBPD256_213";
      case GSBI_IX86_BUILTIN_VFMSUBPS_213:    return "GSBI_IX86_BUILTIN_VFMSUBPS_213";
      case GSBI_IX86_BUILTIN_VFMSUBPS256_213: return "GSBI_IX86_BUILTIN_VFMSUBPS256_213";
      case GSBI_IX86_BUILTIN_VFMSUBSD_213:    return "GSBI_IX86_BUILTIN_VFMSUBSD_213";
      case GSBI_IX86_BUILTIN_VFMSUBSS_213:    return "GSBI_IX86_BUILTIN_VFMSUBSS_213";
      case GSBI_IX86_BUILTIN_VFNMADDPD_213:   return "GSBI_IX86_BUILTIN_VFNMADDPD_213";
      case GSBI_IX86_BUILTIN_VFNMADDPD256_213:        return "GSBI_IX86_BUILTIN_VFNMADDPD256_213";
      case GSBI_IX86_BUILTIN_VFNMADDPS_213:   return "GSBI_IX86_BUILTIN_VFNMADDPS_213";
      case GSBI_IX86_BUILTIN_VFNMADDPS256_213:        return "GSBI_IX86_BUILTIN_VFNMADDPS256_213";
      case GSBI_IX86_BUILTIN_VFNMADDSD_213:   return "GSBI_IX86_BUILTIN_VFNMADDSD_213";
      case GSBI_IX86_BUILTIN_VFNMADDSS_213:   return "GSBI_IX86_BUILTIN_VFNMADDSS_213";
      case GSBI_IX86_BUILTIN_VFNMSUBPD_213:   return "GSBI_IX86_BUILTIN_VFNMSUBPD_213";
      case GSBI_IX86_BUILTIN_VFNMSUBPD256_213:        return "GSBI_IX86_BUILTIN_VFNMSUBPD256_213";
      case GSBI_IX86_BUILTIN_VFNMSUBPS_213:   return "GSBI_IX86_BUILTIN_VFNMSUBPS_213";
      case GSBI_IX86_BUILTIN_VFNMSUBPS256_213:        return "GSBI_IX86_BUILTIN_VFNMSUBPS256_213";
      case GSBI_IX86_BUILTIN_VFNMSUBSD_213:   return "GSBI_IX86_BUILTIN_VFNMSUBSD_213";
      case GSBI_IX86_BUILTIN_VFNMSUBSS_213:   return "GSBI_IX86_BUILTIN_VFNMSUBSS_213";
  
      /* FMA3 intrinsics form3 */
      case GSBI_IX86_BUILTIN_VFMADDPD_231:    return "GSBI_IX86_BUILTIN_VFMADDPD_231";
      case GSBI_IX86_BUILTIN_VFMADDPD256_231: return "GSBI_IX86_BUILTIN_VFMADDPD256_231";
      case GSBI_IX86_BUILTIN_VFMADDPS_231:    return "GSBI_IX86_BUILTIN_VFMADDPS_231";
      case GSBI_IX86_BUILTIN_VFMADDPS256_231: return "GSBI_IX86_BUILTIN_VFMADDPS256_231";
      case GSBI_IX86_BUILTIN_VFMADDSD_231:    return "GSBI_IX86_BUILTIN_VFMADDSD_231";
      case GSBI_IX86_BUILTIN_VFMADDSS_231:    return "GSBI_IX86_BUILTIN_VFMADDSS_231";
      case GSBI_IX86_BUILTIN_VFMADDSUBPD_231: return "GSBI_IX86_BUILTIN_VFMADDSUBPD_231";
      case GSBI_IX86_BUILTIN_VFMADDSUBPD256_231:      return "GSBI_IX86_BUILTIN_VFMADDSUBPD256_231";
      case GSBI_IX86_BUILTIN_VFMADDSUBPS_231: return "GSBI_IX86_BUILTIN_VFMADDSUBPS_231";
      case GSBI_IX86_BUILTIN_VFMADDSUBPS256_231:      return "GSBI_IX86_BUILTIN_VFMADDSUBPS256_231";
      case GSBI_IX86_BUILTIN_VFMSUBADDPD_231: return "GSBI_IX86_BUILTIN_VFMSUBADDPD_231";
      case GSBI_IX86_BUILTIN_VFMSUBADDPD256_231:      return "GSBI_IX86_BUILTIN_VFMSUBADDPD256_231";
      case GSBI_IX86_BUILTIN_VFMSUBADDPS_231: return "GSBI_IX86_BUILTIN_VFMSUBADDPS_231";
      case GSBI_IX86_BUILTIN_VFMSUBADDPS256_231:      return "GSBI_IX86_BUILTIN_VFMSUBADDPS256_231";
      case GSBI_IX86_BUILTIN_VFMSUBPD_231:    return "GSBI_IX86_BUILTIN_VFMSUBPD_231";
      case GSBI_IX86_BUILTIN_VFMSUBPD256_231: return "GSBI_IX86_BUILTIN_VFMSUBPD256_231";
      case GSBI_IX86_BUILTIN_VFMSUBPS_231:    return "GSBI_IX86_BUILTIN_VFMSUBPS_231";
      case GSBI_IX86_BUILTIN_VFMSUBPS256_231: return "GSBI_IX86_BUILTIN_VFMSUBPS256_231";
      case GSBI_IX86_BUILTIN_VFMSUBSD_231:    return "GSBI_IX86_BUILTIN_VFMSUBSD_231";
      case GSBI_IX86_BUILTIN_VFMSUBSS_231:    return "GSBI_IX86_BUILTIN_VFMSUBSS_231";
      case GSBI_IX86_BUILTIN_VFNMADDPD_231:   return "GSBI_IX86_BUILTIN_VFNMADDPD_231";
      case GSBI_IX86_BUILTIN_VFNMADDPD256_231:        return "GSBI_IX86_BUILTIN_VFNMADDPD256_231";
      case GSBI_IX86_BUILTIN_VFNMADDPS_231:   return "GSBI_IX86_BUILTIN_VFNMADDPS_231";
      case GSBI_IX86_BUILTIN_VFNMADDPS256_231:        return "GSBI_IX86_BUILTIN_VFNMADDPS256_231";
      case GSBI_IX86_BUILTIN_VFNMADDSD_231:   return "GSBI_IX86_BUILTIN_VFNMADDSD_231";
      case GSBI_IX86_BUILTIN_VFNMADDSS_231:   return "GSBI_IX86_BUILTIN_VFNMADDSS_231";
      case GSBI_IX86_BUILTIN_VFNMSUBPD_231:   return "GSBI_IX86_BUILTIN_VFNMSUBPD_231";
      case GSBI_IX86_BUILTIN_VFNMSUBPD256_231:        return "GSBI_IX86_BUILTIN_VFNMSUBPD256_231";
      case GSBI_IX86_BUILTIN_VFNMSUBPS_231:   return "GSBI_IX86_BUILTIN_VFNMSUBPS_231";
      case GSBI_IX86_BUILTIN_VFNMSUBPS256_231:        return "GSBI_IX86_BUILTIN_VFNMSUBPS256_231";
      case GSBI_IX86_BUILTIN_VFNMSUBSD_231:   return "GSBI_IX86_BUILTIN_VFNMSUBSD_231";
      case GSBI_IX86_BUILTIN_VFNMSUBSS_231:   return "GSBI_IX86_BUILTIN_VFNMSUBSS_231";
  
      /* FMA4 intrinsics */
      case GSBI_IX86_BUILTIN_VFMADDPD:    return "GSBI_IX86_BUILTIN_VFMADDPD";
      case GSBI_IX86_BUILTIN_VFMADDPD256: return "GSBI_IX86_BUILTIN_VFMADDPD256";
      case GSBI_IX86_BUILTIN_VFMADDPS:    return "GSBI_IX86_BUILTIN_VFMADDPS";
      case GSBI_IX86_BUILTIN_VFMADDPS256: return "GSBI_IX86_BUILTIN_VFMADDPS256";
      case GSBI_IX86_BUILTIN_VFMADDSD:    return "GSBI_IX86_BUILTIN_VFMADDSD";
      case GSBI_IX86_BUILTIN_VFMADDSS:    return "GSBI_IX86_BUILTIN_VFMADDSS";
      case GSBI_IX86_BUILTIN_VFMADDSUBPD: return "GSBI_IX86_BUILTIN_VFMADDSUBPD";
      case GSBI_IX86_BUILTIN_VFMADDSUBPD256:      return "GSBI_IX86_BUILTIN_VFMADDSUBPD256";
      case GSBI_IX86_BUILTIN_VFMADDSUBPS: return "GSBI_IX86_BUILTIN_VFMADDSUBPS";
      case GSBI_IX86_BUILTIN_VFMADDSUBPS256:      return "GSBI_IX86_BUILTIN_VFMADDSUBPS256";
      case GSBI_IX86_BUILTIN_VFMSUBADDPD: return "GSBI_IX86_BUILTIN_VFMSUBADDPD";
      case GSBI_IX86_BUILTIN_VFMSUBADDPD256:      return "GSBI_IX86_BUILTIN_VFMSUBADDPD256";
      case GSBI_IX86_BUILTIN_VFMSUBADDPS: return "GSBI_IX86_BUILTIN_VFMSUBADDPS";
      case GSBI_IX86_BUILTIN_VFMSUBADDPS256:      return "GSBI_IX86_BUILTIN_VFMSUBADDPS256";
      case GSBI_IX86_BUILTIN_VFMSUBPD:    return "GSBI_IX86_BUILTIN_VFMSUBPD";
      case GSBI_IX86_BUILTIN_VFMSUBPD256: return "GSBI_IX86_BUILTIN_VFMSUBPD256";
      case GSBI_IX86_BUILTIN_VFMSUBPS:    return "GSBI_IX86_BUILTIN_VFMSUBPS";
      case GSBI_IX86_BUILTIN_VFMSUBPS256: return "GSBI_IX86_BUILTIN_VFMSUBPS256";
      case GSBI_IX86_BUILTIN_VFMSUBSD:    return "GSBI_IX86_BUILTIN_VFMSUBSD";
      case GSBI_IX86_BUILTIN_VFMSUBSS:    return "GSBI_IX86_BUILTIN_VFMSUBSS";
      case GSBI_IX86_BUILTIN_VFNMADDPD:   return "GSBI_IX86_BUILTIN_VFNMADDPD";
      case GSBI_IX86_BUILTIN_VFNMADDPD256:        return "GSBI_IX86_BUILTIN_VFNMADDPD256";
      case GSBI_IX86_BUILTIN_VFNMADDPS:   return "GSBI_IX86_BUILTIN_VFNMADDPS";
      case GSBI_IX86_BUILTIN_VFNMADDPS256:        return "GSBI_IX86_BUILTIN_VFNMADDPS256";
      case GSBI_IX86_BUILTIN_VFNMADDSD:   return "GSBI_IX86_BUILTIN_VFNMADDSD";
      case GSBI_IX86_BUILTIN_VFNMADDSS:   return "GSBI_IX86_BUILTIN_VFNMADDSS";
      case GSBI_IX86_BUILTIN_VFNMSUBPD:   return "GSBI_IX86_BUILTIN_VFNMSUBPD";
      case GSBI_IX86_BUILTIN_VFNMSUBPD256:        return "GSBI_IX86_BUILTIN_VFNMSUBPD256";
      case GSBI_IX86_BUILTIN_VFNMSUBPS:   return "GSBI_IX86_BUILTIN_VFNMSUBPS";
      case GSBI_IX86_BUILTIN_VFNMSUBPS256:        return "GSBI_IX86_BUILTIN_VFNMSUBPS256";
      case GSBI_IX86_BUILTIN_VFNMSUBSD:   return "GSBI_IX86_BUILTIN_VFNMSUBSD";
      case GSBI_IX86_BUILTIN_VFNMSUBSS:   return "GSBI_IX86_BUILTIN_VFNMSUBSS";
  
      /* XOP intrinsics */
      case GSBI_IX86_BUILTIN_VFRCZPD:     return "GSBI_IX86_BUILTIN_VFRCZPD";
      case GSBI_IX86_BUILTIN_VFRCZPD256:  return "GSBI_IX86_BUILTIN_VFRCZPD256";
      case GSBI_IX86_BUILTIN_VFRCZPS:     return "GSBI_IX86_BUILTIN_VFRCZPS";
      case GSBI_IX86_BUILTIN_VFRCZPS256:  return "GSBI_IX86_BUILTIN_VFRCZPS256";
      case GSBI_IX86_BUILTIN_VFRCZSD:     return "GSBI_IX86_BUILTIN_VFRCZSD";
      case GSBI_IX86_BUILTIN_VFRCZSS:     return "GSBI_IX86_BUILTIN_VFRCZSS";
      case GSBI_IX86_BUILTIN_VPCMOV:      return "GSBI_IX86_BUILTIN_VPCMOV";
      case GSBI_IX86_BUILTIN_VPCMOV256:   return "GSBI_IX86_BUILTIN_VPCMOV256";
      case GSBI_IX86_BUILTIN_VPCMOV_V16HI256:     return "GSBI_IX86_BUILTIN_VPCMOV_V16HI256";
      case GSBI_IX86_BUILTIN_VPCMOV_V16QI:        return "GSBI_IX86_BUILTIN_VPCMOV_V16QI";
      case GSBI_IX86_BUILTIN_VPCMOV_V2DF: return "GSBI_IX86_BUILTIN_VPCMOV_V2DF";
      case GSBI_IX86_BUILTIN_VPCMOV_V2DI: return "GSBI_IX86_BUILTIN_VPCMOV_V2DI";
      case GSBI_IX86_BUILTIN_VPCMOV_V32QI256:     return "GSBI_IX86_BUILTIN_VPCMOV_V32QI256";
      case GSBI_IX86_BUILTIN_VPCMOV_V4DF256:      return "GSBI_IX86_BUILTIN_VPCMOV_V4DF256";
      case GSBI_IX86_BUILTIN_VPCMOV_V4DI256:      return "GSBI_IX86_BUILTIN_VPCMOV_V4DI256";
      case GSBI_IX86_BUILTIN_VPCMOV_V4SF: return "GSBI_IX86_BUILTIN_VPCMOV_V4SF";
      case GSBI_IX86_BUILTIN_VPCMOV_V4SI: return "GSBI_IX86_BUILTIN_VPCMOV_V4SI";
      case GSBI_IX86_BUILTIN_VPCMOV_V8HI: return "GSBI_IX86_BUILTIN_VPCMOV_V8HI";
      case GSBI_IX86_BUILTIN_VPCMOV_V8SF256:      return "GSBI_IX86_BUILTIN_VPCMOV_V8SF256";
      case GSBI_IX86_BUILTIN_VPCMOV_V8SI256:      return "GSBI_IX86_BUILTIN_VPCMOV_V8SI256";
      case GSBI_IX86_BUILTIN_VPCOMEQB:    return "GSBI_IX86_BUILTIN_VPCOMEQB";
      case GSBI_IX86_BUILTIN_VPCOMEQD:    return "GSBI_IX86_BUILTIN_VPCOMEQD";
      case GSBI_IX86_BUILTIN_VPCOMEQQ:    return "GSBI_IX86_BUILTIN_VPCOMEQQ";
      case GSBI_IX86_BUILTIN_VPCOMEQUB:   return "GSBI_IX86_BUILTIN_VPCOMEQUB";
      case GSBI_IX86_BUILTIN_VPCOMEQUD:   return "GSBI_IX86_BUILTIN_VPCOMEQUD";
      case GSBI_IX86_BUILTIN_VPCOMEQUQ:   return "GSBI_IX86_BUILTIN_VPCOMEQUQ";
      case GSBI_IX86_BUILTIN_VPCOMEQUW:   return "GSBI_IX86_BUILTIN_VPCOMEQUW";
      case GSBI_IX86_BUILTIN_VPCOMEQW:    return "GSBI_IX86_BUILTIN_VPCOMEQW";
      case GSBI_IX86_BUILTIN_VPCOMFALSEB: return "GSBI_IX86_BUILTIN_VPCOMFALSEB";
      case GSBI_IX86_BUILTIN_VPCOMFALSED: return "GSBI_IX86_BUILTIN_VPCOMFALSED";
      case GSBI_IX86_BUILTIN_VPCOMFALSEQ: return "GSBI_IX86_BUILTIN_VPCOMFALSEQ";
      case GSBI_IX86_BUILTIN_VPCOMFALSEUB:        return "GSBI_IX86_BUILTIN_VPCOMFALSEUB";
      case GSBI_IX86_BUILTIN_VPCOMFALSEUD:        return "GSBI_IX86_BUILTIN_VPCOMFALSEUD";
      case GSBI_IX86_BUILTIN_VPCOMFALSEUQ:        return "GSBI_IX86_BUILTIN_VPCOMFALSEUQ";
      case GSBI_IX86_BUILTIN_VPCOMFALSEUW:        return "GSBI_IX86_BUILTIN_VPCOMFALSEUW";
      case GSBI_IX86_BUILTIN_VPCOMFALSEW: return "GSBI_IX86_BUILTIN_VPCOMFALSEW";
      case GSBI_IX86_BUILTIN_VPCOMGEB:    return "GSBI_IX86_BUILTIN_VPCOMGEB";
      case GSBI_IX86_BUILTIN_VPCOMGED:    return "GSBI_IX86_BUILTIN_VPCOMGED";
      case GSBI_IX86_BUILTIN_VPCOMGEQ:    return "GSBI_IX86_BUILTIN_VPCOMGEQ";
      case GSBI_IX86_BUILTIN_VPCOMGEUB:   return "GSBI_IX86_BUILTIN_VPCOMGEUB";
      case GSBI_IX86_BUILTIN_VPCOMGEUD:   return "GSBI_IX86_BUILTIN_VPCOMGEUD";
      case GSBI_IX86_BUILTIN_VPCOMGEUQ:   return "GSBI_IX86_BUILTIN_VPCOMGEUQ";
      case GSBI_IX86_BUILTIN_VPCOMGEUW:   return "GSBI_IX86_BUILTIN_VPCOMGEUW";
      case GSBI_IX86_BUILTIN_VPCOMGEW:    return "GSBI_IX86_BUILTIN_VPCOMGEW";
      case GSBI_IX86_BUILTIN_VPCOMGTB:    return "GSBI_IX86_BUILTIN_VPCOMGTB";
      case GSBI_IX86_BUILTIN_VPCOMGTD:    return "GSBI_IX86_BUILTIN_VPCOMGTD";
      case GSBI_IX86_BUILTIN_VPCOMGTQ:    return "GSBI_IX86_BUILTIN_VPCOMGTQ";
      case GSBI_IX86_BUILTIN_VPCOMGTUB:   return "GSBI_IX86_BUILTIN_VPCOMGTUB";
      case GSBI_IX86_BUILTIN_VPCOMGTUD:   return "GSBI_IX86_BUILTIN_VPCOMGTUD";
      case GSBI_IX86_BUILTIN_VPCOMGTUQ:   return "GSBI_IX86_BUILTIN_VPCOMGTUQ";
      case GSBI_IX86_BUILTIN_VPCOMGTUW:   return "GSBI_IX86_BUILTIN_VPCOMGTUW";
      case GSBI_IX86_BUILTIN_VPCOMGTW:    return "GSBI_IX86_BUILTIN_VPCOMGTW";
      case GSBI_IX86_BUILTIN_VPCOMLEB:    return "GSBI_IX86_BUILTIN_VPCOMLEB";
      case GSBI_IX86_BUILTIN_VPCOMLED:    return "GSBI_IX86_BUILTIN_VPCOMLED";
      case GSBI_IX86_BUILTIN_VPCOMLEQ:    return "GSBI_IX86_BUILTIN_VPCOMLEQ";
      case GSBI_IX86_BUILTIN_VPCOMLEUB:   return "GSBI_IX86_BUILTIN_VPCOMLEUB";
      case GSBI_IX86_BUILTIN_VPCOMLEUD:   return "GSBI_IX86_BUILTIN_VPCOMLEUD";
      case GSBI_IX86_BUILTIN_VPCOMLEUQ:   return "GSBI_IX86_BUILTIN_VPCOMLEUQ";
      case GSBI_IX86_BUILTIN_VPCOMLEUW:   return "GSBI_IX86_BUILTIN_VPCOMLEUW";
      case GSBI_IX86_BUILTIN_VPCOMLEW:    return "GSBI_IX86_BUILTIN_VPCOMLEW";
      case GSBI_IX86_BUILTIN_VPCOMLTB:    return "GSBI_IX86_BUILTIN_VPCOMLTB";
      case GSBI_IX86_BUILTIN_VPCOMLTD:    return "GSBI_IX86_BUILTIN_VPCOMLTD";
      case GSBI_IX86_BUILTIN_VPCOMLTQ:    return "GSBI_IX86_BUILTIN_VPCOMLTQ";
      case GSBI_IX86_BUILTIN_VPCOMLTUB:   return "GSBI_IX86_BUILTIN_VPCOMLTUB";
      case GSBI_IX86_BUILTIN_VPCOMLTUD:   return "GSBI_IX86_BUILTIN_VPCOMLTUD";
      case GSBI_IX86_BUILTIN_VPCOMLTUQ:   return "GSBI_IX86_BUILTIN_VPCOMLTUQ";
      case GSBI_IX86_BUILTIN_VPCOMLTUW:   return "GSBI_IX86_BUILTIN_VPCOMLTUW";
      case GSBI_IX86_BUILTIN_VPCOMLTW:    return "GSBI_IX86_BUILTIN_VPCOMLTW";
      case GSBI_IX86_BUILTIN_VPCOMNEB:    return "GSBI_IX86_BUILTIN_VPCOMNEB";
      case GSBI_IX86_BUILTIN_VPCOMNED:    return "GSBI_IX86_BUILTIN_VPCOMNED";
      case GSBI_IX86_BUILTIN_VPCOMNEQ:    return "GSBI_IX86_BUILTIN_VPCOMNEQ";
      case GSBI_IX86_BUILTIN_VPCOMNEUB:   return "GSBI_IX86_BUILTIN_VPCOMNEUB";
      case GSBI_IX86_BUILTIN_VPCOMNEUD:   return "GSBI_IX86_BUILTIN_VPCOMNEUD";
      case GSBI_IX86_BUILTIN_VPCOMNEUQ:   return "GSBI_IX86_BUILTIN_VPCOMNEUQ";
      case GSBI_IX86_BUILTIN_VPCOMNEUW:   return "GSBI_IX86_BUILTIN_VPCOMNEUW";
      case GSBI_IX86_BUILTIN_VPCOMNEW:    return "GSBI_IX86_BUILTIN_VPCOMNEW";
      case GSBI_IX86_BUILTIN_VPCOMTRUEB:  return "GSBI_IX86_BUILTIN_VPCOMTRUEB";
      case GSBI_IX86_BUILTIN_VPCOMTRUED:  return "GSBI_IX86_BUILTIN_VPCOMTRUED";
      case GSBI_IX86_BUILTIN_VPCOMTRUEQ:  return "GSBI_IX86_BUILTIN_VPCOMTRUEQ";
      case GSBI_IX86_BUILTIN_VPCOMTRUEUB: return "GSBI_IX86_BUILTIN_VPCOMTRUEUB";
      case GSBI_IX86_BUILTIN_VPCOMTRUEUD: return "GSBI_IX86_BUILTIN_VPCOMTRUEUD";
      case GSBI_IX86_BUILTIN_VPCOMTRUEUQ: return "GSBI_IX86_BUILTIN_VPCOMTRUEUQ";
      case GSBI_IX86_BUILTIN_VPCOMTRUEUW: return "GSBI_IX86_BUILTIN_VPCOMTRUEUW";
      case GSBI_IX86_BUILTIN_VPCOMTRUEW:  return "GSBI_IX86_BUILTIN_VPCOMTRUEW";
      case GSBI_IX86_BUILTIN_VPHADDBD:    return "GSBI_IX86_BUILTIN_VPHADDBD";
      case GSBI_IX86_BUILTIN_VPHADDBQ:    return "GSBI_IX86_BUILTIN_VPHADDBQ";
      case GSBI_IX86_BUILTIN_VPHADDBW:    return "GSBI_IX86_BUILTIN_VPHADDBW";
      case GSBI_IX86_BUILTIN_VPHADDDQ:    return "GSBI_IX86_BUILTIN_VPHADDDQ";
      case GSBI_IX86_BUILTIN_VPHADDUBD:   return "GSBI_IX86_BUILTIN_VPHADDUBD";
      case GSBI_IX86_BUILTIN_VPHADDUBQ:   return "GSBI_IX86_BUILTIN_VPHADDUBQ";
      case GSBI_IX86_BUILTIN_VPHADDUBW:   return "GSBI_IX86_BUILTIN_VPHADDUBW";
      case GSBI_IX86_BUILTIN_VPHADDUDQ:   return "GSBI_IX86_BUILTIN_VPHADDUDQ";
      case GSBI_IX86_BUILTIN_VPHADDUWD:   return "GSBI_IX86_BUILTIN_VPHADDUWD";
      case GSBI_IX86_BUILTIN_VPHADDUWQ:   return "GSBI_IX86_BUILTIN_VPHADDUWQ";
      case GSBI_IX86_BUILTIN_VPHADDWD:    return "GSBI_IX86_BUILTIN_VPHADDWD";
      case GSBI_IX86_BUILTIN_VPHADDWQ:    return "GSBI_IX86_BUILTIN_VPHADDWQ";
      case GSBI_IX86_BUILTIN_VPHSUBBW:    return "GSBI_IX86_BUILTIN_VPHSUBBW";
      case GSBI_IX86_BUILTIN_VPHSUBDQ:    return "GSBI_IX86_BUILTIN_VPHSUBDQ";
      case GSBI_IX86_BUILTIN_VPHSUBWD:    return "GSBI_IX86_BUILTIN_VPHSUBWD";
      case GSBI_IX86_BUILTIN_VPMACSDD:    return "GSBI_IX86_BUILTIN_VPMACSDD";
      case GSBI_IX86_BUILTIN_VPMACSDQH:   return "GSBI_IX86_BUILTIN_VPMACSDQH";
      case GSBI_IX86_BUILTIN_VPMACSDQL:   return "GSBI_IX86_BUILTIN_VPMACSDQL";
      case GSBI_IX86_BUILTIN_VPMACSSDD:   return "GSBI_IX86_BUILTIN_VPMACSSDD";
      case GSBI_IX86_BUILTIN_VPMACSSDQH:  return "GSBI_IX86_BUILTIN_VPMACSSDQH";
      case GSBI_IX86_BUILTIN_VPMACSSDQL:  return "GSBI_IX86_BUILTIN_VPMACSSDQL";
      case GSBI_IX86_BUILTIN_VPMACSSWD:   return "GSBI_IX86_BUILTIN_VPMACSSWD";
      case GSBI_IX86_BUILTIN_VPMACSSWW:   return "GSBI_IX86_BUILTIN_VPMACSSWW";
      case GSBI_IX86_BUILTIN_VPMACSWD:    return "GSBI_IX86_BUILTIN_VPMACSWD";
      case GSBI_IX86_BUILTIN_VPMACSWW:    return "GSBI_IX86_BUILTIN_VPMACSWW";
      case GSBI_IX86_BUILTIN_VPMADCSSWD:  return "GSBI_IX86_BUILTIN_VPMADCSSWD";
      case GSBI_IX86_BUILTIN_VPMADCSWD:   return "GSBI_IX86_BUILTIN_VPMADCSWD";
      case GSBI_IX86_BUILTIN_VPPERM:      return "GSBI_IX86_BUILTIN_VPPERM";
      case GSBI_IX86_BUILTIN_VPROTB:      return "GSBI_IX86_BUILTIN_VPROTB";
      case GSBI_IX86_BUILTIN_VPROTB_IMM:  return "GSBI_IX86_BUILTIN_VPROTB_IMM";
      case GSBI_IX86_BUILTIN_VPROTD:      return "GSBI_IX86_BUILTIN_VPROTD";
      case GSBI_IX86_BUILTIN_VPROTD_IMM:  return "GSBI_IX86_BUILTIN_VPROTD_IMM";
      case GSBI_IX86_BUILTIN_VPROTQ:      return "GSBI_IX86_BUILTIN_VPROTQ";
      case GSBI_IX86_BUILTIN_VPROTQ_IMM:  return "GSBI_IX86_BUILTIN_VPROTQ_IMM";
      case GSBI_IX86_BUILTIN_VPROTW:      return "GSBI_IX86_BUILTIN_VPROTW";
      case GSBI_IX86_BUILTIN_VPROTW_IMM:  return "GSBI_IX86_BUILTIN_VPROTW_IMM";
      case GSBI_IX86_BUILTIN_VPSHAB:      return "GSBI_IX86_BUILTIN_VPSHAB";
      case GSBI_IX86_BUILTIN_VPSHAD:      return "GSBI_IX86_BUILTIN_VPSHAD";
      case GSBI_IX86_BUILTIN_VPSHAQ:      return "GSBI_IX86_BUILTIN_VPSHAQ";
      case GSBI_IX86_BUILTIN_VPSHAW:      return "GSBI_IX86_BUILTIN_VPSHAW";
      case GSBI_IX86_BUILTIN_VPSHLB:      return "GSBI_IX86_BUILTIN_VPSHLB";
      case GSBI_IX86_BUILTIN_VPSHLD:      return "GSBI_IX86_BUILTIN_VPSHLD";
      case GSBI_IX86_BUILTIN_VPSHLQ:      return "GSBI_IX86_BUILTIN_VPSHLQ";
      case GSBI_IX86_BUILTIN_VPSHLW:      return "GSBI_IX86_BUILTIN_VPSHLW";
  
  #endif
  
      case GSBI_IX86_BUILTIN_MAX: return "GSBI_IX86_BUILTIN_MAX";
    }
  
    printf ("Code: %d\n", code);
    GS_ASSERT (gs_false, (gs_string_t) "gsbi_ts name name not implemented.");
    return (char *) NULL;
  }
  
  static void
  gs_dump_decl_flag2(gs_t t, FILE *f)
  {
    gs_t decl_flag2 = gs_operand(t, GS_DECL_FLAG2);
    if (decl_flag2 == NULL)
       return;
    fprintf (f, "%s<%ld> ", gs_code_name (gs_code (decl_flag2)), 
    	   gs_mempool_address2byteofst(GS_ARENA, (char *)decl_flag2));
    if (gs_decl_visibility_specified(t)) {
      fprintf (f, "GS_DECL_VISIBILITY_SPECIFIED ");
      gs_symbol_visibility_kind_t vs = gs_decl_visibility(t);
      switch (vs) {
        case GS_VISIBILITY_DEFAULT:
          fputs("GS_VISIBILITY_DEFAULT ", f);
          break;
        case GS_VISIBILITY_PROTECTED:
          fputs("GS_VISIBILITY_PROTECTED ", f);
          break;
        case GS_VISIBILITY_HIDDEN:
          fputs("GS_VISIBILITY_HIDDEN ", f);
          break;
        case GS_VISIBILITY_INTERNAL:
          fputs("GS_VISIBILITY_INTERNAL ", f);
          break;
      }
    }
    gs_tls_model_kind_t tm = gs_decl_tls_model(t);
    if (tm != GS_TLS_MODEL_NONE) {
      switch (tm) {
        case GS_TLS_MODEL_GLOBAL_DYNAMIC:
          fputs("GS_TLS_MODEL_GLOBAL_DYNAMIC ", f);
          break;
        case GS_TLS_MODEL_LOCAL_DYNAMIC:
          fputs("GS_TLS_MODEL_LOCAL_DYNAMIC ", f);
          break;
        case GS_TLS_MODEL_INITIAL_EXEC:
          fputs("GS_TLS_MODEL_INITIAL_EXEC ", f);
          break;
        case GS_TLS_MODEL_LOCAL_EXEC:
          fputs("GS_TLS_MODEL_LOCAL_EXEC ", f);
          break;
      }
    }
    return;
  }
  
  // no carriage return is printed
  static void
  gs_dump_leaf(gs_t t, FILE *f,
  	     gs_code_t parent_code, int parent_code_class, int index_in_parent)
  {
    int j;
    if (t == (gs_t) NULL)
      return;
    fprintf (f, "%s<%ld> ", gs_code_name (gs_code (t)), 
    	   gs_mempool_address2byteofst(GS_ARENA, (char *)t));
    switch (gs_code (t)) {
      case GS_ERROR_MARK:
        break;
  
      case IB_STRING:
        fprintf (f, "\"");
        for (j = 0; j < gs_slen(t); j++)
  	if (*(j + gs_s (t)) != '\0')
  	  fputc(*(j + gs_s (t)), f);
        fprintf (f, "\" ");
        break;
  
      case IB_UNSIGNED:
        fprintf (f, "%u ", gs_u (t));
        break;
  
      case IB_LONG_LONG:
        fprintf (f, "%lld ", gs_ll (t));
        break;
  
      case IB_UNSIGNED_LONG_LONG:
        fprintf (f, "%llu ", gs_ull (t));
        break;
  
      case IB_INT:
        fprintf (f, "%d ", gs_n (t));
        break;
  
      case IB_FLOAT:
        fprintf (f, "%f ", gs_f (t));
        break;
  
      case IB_DOUBLE:
        fprintf (f, "%f ", gs_d (t));
        break;
  
      case GS_TCC:
        fprintf (f, "%s ", gs_tree_code_class_name ((gs_tree_code_class_t) gs_b (t)));
        break;
  
      case GSBI:
        if (GSBI_BUILT_IN_ACOS <= (gsbi_t) gs_hword(t) && (gsbi_t) gs_hword(t) <= GSBI_END_BUILTINS) {
  	fprintf (f, "%s ", gsbi_name ((gsbi_t) gs_hword(t)));
        }
        else if (GSBI_IX86_BUILTIN_ADDPS <= ((gsbi_ts_t) gs_hword(t)) && ((gsbi_ts_t) gs_hword(t)) <= GSBI_IX86_BUILTIN_MAX) {
  	fprintf (f, "%s ", gsbi_ts_name ((gsbi_ts_t) gs_hword(t)));
        }
        else {
  	fprintf (f, "GSBI_BUILT_IN_ACOS: %d, GSBI_END_BUILTINS: %d, GSBI_IX86_BUILTIN_ADDPS:%d, GSBI_IX86_BUILTIN_MAX: %d"
  		" Warning: Unhandled GSBI case: %d ", 
  		 GSBI_BUILT_IN_ACOS, GSBI_END_BUILTINS, GSBI_IX86_BUILTIN_ADDPS, GSBI_IX86_BUILTIN_MAX,
  		 gs_hword(t));
        }
        break;
  
      case GSBI_CLASS:
        fprintf (f, "%s ", gsbi_class_name ((gsbi_class_t) gs_b (t)));
        break;
  
      case IB_LONG:
        fprintf (f, "%d ", gs_n(t));
        break;
  
      case IB_LONG_DOUBLE:
        fprintf (f, "%LF ", (long double) gs_ld (t));
        break;
  
      case IB_UNSIGNED_LONG:
        fprintf (f, "0x%x ", gs_u(t));
        break;
  
      case IB_BOOL:
        fprintf (f, "%s ", gs_b (t) == true ? "gs_true" : "gs_false");
        break;
  
      case IB_CHAR:
        fprintf(f, "%c ", gs_b(t));
        break;
  
      case IB_BIT_VECTOR:
        for (j = 0; j < sizeof (gs_long_long_t) * 8; j++) {
  	if (gs_bv (t, j) == gs_true) {
  	  fprintf(f, "%s ",
  		  gs_flag_name(parent_code, index_in_parent, j,
  			       parent_code_class));
  	}
        }
        break;
  
      default:
        GS_ASSERT (gs_false, "unexpected 0-arity tree code");
        break;
    }
  }
  
  static void
  gs_dump_core(gs_t t, gs_count_t *indentation, FILE *f, bool concise,
  	     gs_code_t parent_code, int parent_code_class, int index_in_parent,
  	     bool indent)
  {
    static int function_nest_level = 0;
    gs_count_t i, j;
  
    if (t == (gs_t) NULL)
      return;
  
    if (indent)
      for (i = 0; i < *indentation; i++) fprintf (f, " ");
  
    if (gs_em (t) == true ||
        (gs_code(t) == GS_FUNCTION_DECL && function_nest_level > 0 &&
         gs_decl_saved_tree(t) != NULL)) {
      fprintf (f, "LINK %ld\n", gs_mempool_address2byteofst(GS_ARENA, (char *)t));
      return;
    }
  
    _gs_em (t, true);
  
    if (gs_code_arity(gs_code(t)) == 0) {
      gs_dump_leaf(t, f, parent_code, parent_code_class, index_in_parent);
      fprintf(f, "\n");
      return;
    }
  
    fprintf (f, "%s<%ld> ", gs_code_name (gs_code (t)), 
    	   gs_mempool_address2byteofst(GS_ARENA, (char *)t));
  
    switch (gs_code (t)) {
      case EMPTY:
        for (i = 0; i < *indentation; i++) fprintf (f, " ");
        fprintf (f, "[]\n");
        break;
  
      case CONS: {
  	for (i = 0; i < *indentation; i++) fprintf (f, " ");
  	fprintf (f, "[\n");
  	(*indentation)++;
  
  	gs_t p;
  	for (p = t; gs_code(p) != EMPTY; p = gs_operand(p, 1))
  	  gs_dump_core (gs_operand(p, 0), indentation, f, concise, parent_code,
  			parent_code_class, index_in_parent, true);
  
  	(*indentation)--;
  	for (i = 0; i < *indentation; i++) fprintf (f, " ");
  	fprintf (f, "]\n");
        }
        break;
  
      case GS_PROGRAM:
        fprintf (f, "{\n");
        (*indentation)++;
        for (j = 0; j < gs_code_arity(gs_code(t)); j++) {
  	if (gs_operand(t, j) != NULL) {
  	  gs_string_t p;
  	  gs_int_t omit = 0;
  	  p = gs_attribute_name(j, gs_b(gs_operand(t, 0)), gs_code(t), &omit);
  	  for (i = 0; i < *indentation; i++)
  	    fprintf (f, " ");
  	  fprintf (f, "@");
  	  for ( ; *p != '\0'; p++)
  	    fprintf (f, "%c", tolower (*p));
  	  fprintf (f, " ");
  	  gs_dump_core(gs_operand(t, j), indentation, f, concise, 
  		       gs_code(t), gs_b(gs_operand(t, GS_TREE_CODE_CLASS)),
  		       j, false);
  	}
        }
        (*indentation)--;
        for (i = 0; i < *indentation; i++) fprintf (f, " ");
        fprintf (f, "}\n");
        break;
  
      default:
        fprintf (f, "{ ");
        (*indentation)++;
        // do leaf kids first without inserting carriage returns
        for (j = 0; j < gs_code_arity(gs_code(t)); j++) {
  	if (gs_operand(t, j) != NULL && 
  	    gs_code_arity(gs_code(gs_operand(t, j))) == 0) {
  	  fprintf(f, "(%d)", j);
            if (j == GS_DECL_FLAG2) {
              gs_dump_decl_flag2(t, f);
            }
            else {
  	    gs_dump_leaf(gs_operand(t, j), f, gs_code(t),
  		         gs_b(gs_operand(t, GS_TREE_CODE_CLASS)), j);
            }
  	}
        }
        fprintf (f, "\n");
        // now do non-leaf kids but skip GS_TREE_CHAIN
        if (gs_code(t) == GS_FUNCTION_DECL)
  	function_nest_level++;
        for (j = GS_TREE_CHAIN-1; j < gs_code_arity(gs_code(t)); j++) {
  	if (j == GS_TREE_CHAIN)
  	  continue;
  	if (gs_operand(t, j) != NULL && 
  	    gs_code_arity(gs_code(gs_operand(t, j))) != 0) {
  	  gs_string_t p;
  	  gs_int_t omit = 0;
  	  p = gs_attribute_name(j, gs_b(gs_operand(t, 0)), gs_code(t), &omit);
  	  // gs_attribute_name returns NULL if the constructor does not have
  	  // an attribute name for this attribute.  This can legitimately
  	  // happen if the arg is a dummy arg put there to make the tree have
  	  // the correct number of args for the tree code class (tcc).  If
  	  // so, the arg should be NULL.
  	  if (p != NULL && (!concise || !omit)) {
  	    for (i = 0; i < *indentation; i++)
  	      fprintf (f, " ");
  	    fprintf (f, "@");
  	    for ( ; *p != '\0'; p++)
  	      fprintf (f, "%c", tolower (*p));
  	    fprintf (f, " ");
  	    gs_dump_core(gs_operand(t, j), indentation, f, concise, 
  			 gs_code(t), gs_b(gs_operand(t, GS_TREE_CODE_CLASS)),
  			 j, false);
  	  }
  	}
        }
        // now do GS_TREE_CHAIN
        if (gs_operand(t, GS_TREE_CHAIN) != NULL && 
  	  gs_code_arity(gs_code(gs_operand(t, GS_TREE_CHAIN))) != 0) {
  	gs_string_t p;
  	gs_int_t omit = 0;
  	p = gs_attribute_name(GS_TREE_CHAIN, gs_b(gs_operand(t, 0)), gs_code(t), &omit);
  	// gs_attribute_name returns NULL if the constructor does not have
  	// an attribute name for this attribute.  This can legitimately
  	// happen if the arg is a dummy arg put there to make the tree have
  	// the correct number of args for the tree code class (tcc).  If
  	// so, the arg should be NULL.
  	if (p != NULL && (!concise || !omit)) {
  	  for (i = 0; i < *indentation; i++)
  	    fprintf (f, " ");
  	  fprintf (f, "@");
  	  for ( ; *p != '\0'; p++)
  	    fprintf (f, "%c", tolower (*p));
  	  fprintf (f, " ");
  	  gs_dump_core(gs_operand(t, GS_TREE_CHAIN), indentation, f, concise, 
  		       gs_code(t), gs_b(gs_operand(t, GS_TREE_CODE_CLASS)),
  		       GS_TREE_CHAIN, false);
  	}
        }
        if (gs_code(t) == GS_FUNCTION_DECL)
  	function_nest_level--;
        (*indentation)--;
        for (i = 0; i < *indentation; i++) fprintf (f, " ");
        fprintf (f, "}\n");
        break;
    }
  }
  
  gs_void_t
  gs_dump (gs_t t) 
  { 
    gs_count_t indentation;
    indentation = 0;
    gs_dump_core (t, &indentation, stdout, true, 0, 0, 0, false);
  }
  
  gs_void_t
  gs_dump_file (gs_t t, FILE *f) 
  { 
    gs_count_t indentation;
    indentation = 0;
    gs_dump_core (t, &indentation, f, false, 0, 0, 0, false);
  }
  
  #ifdef Is_True_On
  // for calling from debugger only
  int gs_id (gs_t node)
  {
    return gs_mempool_address2byteofst(GS_ARENA, (char *)node);
  }
  
  void gs_print_id(gs_t node)
  {
    printf("%ld\n", gs_mempool_address2byteofst(GS_ARENA, (char *)node));
  }
  #endif
  