X-Git-Url: http://git.sourceforge.jp/view?a=blobdiff_plain;f=gcc%2Foptabs.h;h=0f8c796680946b3136c319ec49bac870fab3a55d;hb=73a954a137a4ad3aff3c816a4a401887669ab5f7;hp=d197766c772a5f62d071734c8ed021fe7b5f6ba4;hpb=c6c91d619ca37ad6d86612c9af96caf9a7c1a09d;p=pf3gnuchains%2Fgcc-fork.git diff --git a/gcc/optabs.h b/gcc/optabs.h index d197766c772..0f8c7966809 100644 --- a/gcc/optabs.h +++ b/gcc/optabs.h @@ -27,6 +27,7 @@ Boston, MA 02110-1301, USA. */ /* Optabs are tables saying how to generate insn bodies for various machine modes and numbers of operands. Each optab applies to one operation. + For example, add_optab applies to addition. The insn_code slot is the enum insn_code that says how to @@ -178,6 +179,8 @@ enum optab_index OTI_expm1, /* Load exponent of a floating point number */ OTI_ldexp, + /* Multiply floating-point number by integral power of radix */ + OTI_scalb, /* Radix-independent exponent */ OTI_logb, OTI_ilogb, @@ -203,6 +206,9 @@ enum optab_index /* Copy sign */ OTI_copysign, + /* Test for infinite value */ + OTI_isinf, + /* Compare insn; two operands. */ OTI_cmp, /* Used only for libcalls for unsigned comparisons. */ @@ -253,6 +259,12 @@ enum optab_index OTI_vec_set, /* Extract specified field of vector operand. */ OTI_vec_extract, + /* Extract even/odd fields of vector operands. */ + OTI_vec_extract_even, + OTI_vec_extract_odd, + /* Interleave fields of vector operands. */ + OTI_vec_interleave_high, + OTI_vec_interleave_low, /* Initialize vector operand. */ OTI_vec_init, /* Whole vector shift. The shift amount is in bits. */ @@ -347,6 +359,7 @@ extern GTY(()) optab optab_table[OTI_MAX]; #define exp2_optab (optab_table[OTI_exp2]) #define expm1_optab (optab_table[OTI_expm1]) #define ldexp_optab (optab_table[OTI_ldexp]) +#define scalb_optab (optab_table[OTI_scalb]) #define logb_optab (optab_table[OTI_logb]) #define ilogb_optab (optab_table[OTI_ilogb]) #define log_optab (optab_table[OTI_log]) @@ -363,6 +376,8 @@ extern GTY(()) optab optab_table[OTI_MAX]; #define atan_optab (optab_table[OTI_atan]) #define copysign_optab (optab_table[OTI_copysign]) +#define isinf_optab (optab_table[OTI_isinf]) + #define cmp_optab (optab_table[OTI_cmp]) #define ucmp_optab (optab_table[OTI_ucmp]) #define tst_optab (optab_table[OTI_tst]) @@ -397,6 +412,10 @@ extern GTY(()) optab optab_table[OTI_MAX]; #define vec_set_optab (optab_table[OTI_vec_set]) #define vec_extract_optab (optab_table[OTI_vec_extract]) +#define vec_extract_even_optab (optab_table[OTI_vec_extract_even]) +#define vec_extract_odd_optab (optab_table[OTI_vec_extract_odd]) +#define vec_interleave_high_optab (optab_table[OTI_vec_interleave_high]) +#define vec_interleave_low_optab (optab_table[OTI_vec_interleave_low]) #define vec_init_optab (optab_table[OTI_vec_init]) #define vec_shl_optab (optab_table[OTI_vec_shl]) #define vec_shr_optab (optab_table[OTI_vec_shr])