GCC Middle and Back End API Reference
fp-test.c File Reference

Functions

double acos (double)
double asin (double)
double atan (double)
double atan2 (double, double)
double cos (double)
double sin (double)
double tan (double)
double cosh (double)
double sinh (double)
double tanh (double)
double exp (double)
double frexp (double, int *)
double ldexp (double, int)
double log (double)
double log10 (double)
double modf (double, double *)
double pow (double, double)
double sqrt (double)
double ceil (double)
double fabs (double)
double floor (double)
double fmod (double, double)
int main ()

Variables

int i1
int i2 = 2
volatile signed char sc
volatile unsigned char uc
volatile signed short ss
volatile unsigned short us
volatile signed int si
volatile unsigned int ui
volatile signed long sl
volatile unsigned long ul
volatile float f1 = 1.0
volatile float f2 = 1.0
volatile float f3 = 1.0
volatile double d1 = 1.0
volatile double d2 = 1.0
volatile double d3 = 1.0
volatile long double D1 = 1.0
volatile long double D2 = 1.0
volatile long double D3 = 1.0

Function Documentation

double acos ( double  )
fp-test.c - Check that all floating-point operations are available.
   Copyright (C) 1995-2013 Free Software Foundation, Inc.
   Contributed by Ronald F. Guilmette <rfg@monkeys.com>.

   This file is part of GCC.

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

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

   You should have received a copy of the GNU General Public License
   along with GCC; see the file COPYING3.  If not see
   <http://www.gnu.org/licenses/>.   
This is a trivial test program which may be useful to people who are
   porting the GCC or G++ compilers to a new system.  The intent here is
   merely to check that all floating-point operations have been provided
   by the port. (Note that I say ``provided'' rather than ``implemented''.)

   To use this file, simply compile it (with GCC or G++) and then try to
   link it in the normal way (also using GCC or G++ respectively).  If
   all of the floating -point operations (including conversions) have
   been provided, then this file will link without incident.  If however
   one or more of the primitive floating-point operations have not been
   properly provided, you will get link-time errors indicating which
   floating-point operations are unavailable.

   This file will typically be used when porting the GNU compilers to
   some system which lacks floating-point hardware, and for which
   software emulation routines (for FP ops) are needed in order to
   complete the port.   

Referenced by main().

double asin ( double  )

Referenced by main().

double atan ( double  )

Referenced by main().

double atan2 ( double  ,
double   
)

Referenced by main().

double ceil ( double  )

Referenced by main().

double cos ( double  )

Referenced by call_may_clobber_ref_p_1(), and main().

double cosh ( double  )

Referenced by main().

double exp ( double  )

Referenced by add_constraint(), aff_combination_expand(), avoid_complex_debug_insns(), build_addr(), builtin_save_expr(), check_attr_test(), check_attr_value(), copy_boolean(), copyprop_hardreg_forward_1(), decode_ieee_double(), decode_ieee_extended(), decode_ieee_half(), decode_ieee_quad(), decode_ieee_single(), decode_vax_d(), decode_vax_f(), decode_vax_g(), do_add(), do_divide(), do_multiply(), eliminate_known_true(), encode_ieee_double(), encode_ieee_extended(), encode_ieee_half(), encode_ieee_quad(), encode_ieee_single(), encode_vax_f(), estimate_one_automaton_bound(), evaluate_eq_attr(), expand_builtin___clear_cache(), expand_call_stmt(), expand_debug_expr(), expand_expr_real_1(), find_call_crossed_cheap_reg(), fold_builtin_call_array(), fold_builtin_frexp(), free_name_expansion(), gen_insn(), get_addr_base_and_unit_offset_1(), get_inner_reference(), get_memory_rtx(), get_ref_base_and_extent(), gsi_gimplify_val(), identity_fn(), if_test_bypass_p(), init_range_entry(), insert_const_anchor(), insert_right_side(), is_aligning_offset(), lookup_constant_def(), main(), make_canonical(), make_numeric_value(), make_range(), maybe_output_constant_def_contents(), merge_equiv_classes(), normalize(), optimize_range_tests(), output_constant_def(), output_constant_def_contents(), output_constructor(), process_insert_insn(), real_from_mpfr(), real_from_string(), real_sqrt(), real_to_hexadecimal(), real_to_integer2(), remove_invalid_subreg_refs(), sign_bit_p(), simplify_and_tree(), simplify_cond(), simplify_or_tree(), simplify_test_exp(), simplify_test_exp_in_temp(), simplify_using_condition(), split_address_to_core_and_offset(), split_constant_offset(), sreal_init(), store_expr(), strip_float_extensions(), strip_wrap_conserving_type_conversions(), substitute_address(), substitute_in_expr(), substitute_placeholder_in_expr(), times_pten(), tree_output_constant_def(), tree_ssa_strip_useless_type_conversions(), tree_strip_nop_conversions(), tree_strip_sign_nop_conversions(), update_range_test(), and vect_recog_pow_pattern().

double fabs ( double  )

Referenced by main().

double floor ( double  )

Referenced by main().

double fmod ( double  ,
double   
)

Referenced by main().

double frexp ( double  ,
int *   
)

Referenced by main().

double ldexp ( double  ,
int   
)

Referenced by choose_multiplier(), and main().

double log10 ( double  )

Referenced by main().

double modf ( double  ,
double *   
)

Referenced by main().

double pow ( double  ,
double   
)

Referenced by choose_multiplier(), and main().

double sin ( double  )

Referenced by call_may_clobber_ref_p_1(), and main().

double sinh ( double  )

Referenced by main().

double sqrt ( double  )

Referenced by main().

double tan ( double  )

Referenced by main().

double tanh ( double  )

Referenced by main().


Variable Documentation

volatile long double D1 = 1.0

Referenced by main().

volatile long double D2 = 1.0

Referenced by main().

volatile double d3 = 1.0

Referenced by main().

volatile long double D3 = 1.0

Referenced by main().

volatile float f3 = 1.0

Referenced by main().

volatile signed int si

Referenced by account_stack_vars(), add_stmt_info_to_vec(), adjust_related_strinfos(), check_all_array_refs(), collect_dfa_stats(), compare_states_for_equiv(), compute_live_below_insn(), connect_traces(), copy_edges_for_bb(), copy_phis_for_bb(), destroy_bb_vec_info(), destroy_loop_vec_info(), determine_dominators_for_sons(), dump_generic_node(), dump_stack_var_partition(), expand_call_inline(), expand_omp_atomic_mutex(), expand_omp_atomic_pipeline(), expand_omp_for_static_chunk(), expand_omp_sections(), expand_omp_single(), expand_omp_synch(), expand_stack_vars(), extract_new_fences_from(), fill_vec_av_set(), find_assert_locations_1(), find_bb_location(), find_decls_types_in_node(), find_indirect_cycles(), find_loop_location(), find_outermost_region_in_block(), free_stmt_vec_info(), get_initial_def_for_induction(), gimple_seq_add_seq(), gimple_seq_add_stmt(), gimple_seq_add_stmt_without_update(), gimplify_omp_for(), gimplify_seq_add_seq(), handle_builtin_memcpy(), handle_builtin_strcat(), handle_builtin_strchr(), handle_builtin_strcpy(), handle_builtin_strlen(), handle_char_store(), handle_pointer_plus(), init_copy_prop(), init_scc_info(), init_seqno_1(), insert_init_stmt(), insert_phi_nodes_for(), instantiate_scev_name(), lower_vec_perm(), main(), maybe_invalidate(), maybe_move_debug_stmts_to_successors(), move_block_to_fn(), new_loop_vec_info(), new_strinfo(), new_structure(), partition_stack_vars(), perform_var_substitution(), prepare_block_for_update(), process_pipelined_exprs(), process_spec_exprs(), process_use_exprs(), propagate_threaded_block_debug_into(), redirect_all_calls(), register_new_assert_for(), remap_gimple_seq(), remove_name_from_operation(), remove_range_assertions(), sel_region_finish(), set_strinfo(), simplify_conversion_from_bitmask(), solve_constraints(), ssa_prop_init(), state_is_differed(), strlen_leave_block(), unshare_strinfo(), unshare_strinfo_vec(), update_boundaries(), update_ssa_across_abnormal_edges(), vect_analyze_loop_operations(), vect_analyze_slp_cost(), vect_analyze_stmt(), vect_determine_vectorization_factor(), vect_enhance_data_refs_alignment(), vect_estimate_min_profitable_iters(), vect_get_single_scalar_iteration_cost(), vect_mark_pattern_stmts(), vect_mark_stmts_to_be_vectorized(), vect_pattern_recog(), vect_schedule_slp_instance(), vect_slp_transform_bb(), vect_transform_loop(), vect_update_slp_costs_according_to_vf(), verify_related_strinfos(), vrp_initialize(), and zero_length_string().

volatile signed long sl
volatile signed short ss

Referenced by main(), write_local(), and write_types().

volatile unsigned char uc
volatile unsigned long ul
volatile unsigned short us

Referenced by main().