comparison gcc/expmed.h @ 131:84e7813d76e9

gcc-8.2
author mir3636
date Thu, 25 Oct 2018 07:37:49 +0900
parents 04ced10e8804
children 1830386684a0
comparison
equal deleted inserted replaced
111:04ced10e8804 131:84e7813d76e9
1 /* Target-dependent costs for expmed.c. 1 /* Target-dependent costs for expmed.c.
2 Copyright (C) 1987-2017 Free Software Foundation, Inc. 2 Copyright (C) 1987-2018 Free Software Foundation, Inc.
3 3
4 This file is part of GCC. 4 This file is part of GCC.
5 5
6 GCC is free software; you can redistribute it and/or modify it under 6 GCC is free software; you can redistribute it and/or modify it under
7 the terms of the GNU General Public License as published by the Free 7 the terms of the GNU General Public License as published by the Free
700 700
701 /* Like emit_store_flag, but always succeeds. */ 701 /* Like emit_store_flag, but always succeeds. */
702 extern rtx emit_store_flag_force (rtx, enum rtx_code, rtx, rtx, 702 extern rtx emit_store_flag_force (rtx, enum rtx_code, rtx, rtx,
703 machine_mode, int, int); 703 machine_mode, int, int);
704 704
705 extern void canonicalize_comparison (machine_mode, enum rtx_code *, rtx *);
706
705 /* Choose a minimal N + 1 bit approximation to 1/D that can be used to 707 /* Choose a minimal N + 1 bit approximation to 1/D that can be used to
706 replace division by D, and put the least significant N bits of the result 708 replace division by D, and put the least significant N bits of the result
707 in *MULTIPLIER_PTR and return the most significant bit. */ 709 in *MULTIPLIER_PTR and return the most significant bit. */
708 extern unsigned HOST_WIDE_INT choose_multiplier (unsigned HOST_WIDE_INT, int, 710 extern unsigned HOST_WIDE_INT choose_multiplier (unsigned HOST_WIDE_INT, int,
709 int, unsigned HOST_WIDE_INT *, 711 int, unsigned HOST_WIDE_INT *,
710 int *, int *); 712 int *, int *);
711 713
712 #ifdef TREE_CODE 714 #ifdef TREE_CODE
713 extern rtx expand_variable_shift (enum tree_code, machine_mode, 715 extern rtx expand_variable_shift (enum tree_code, machine_mode,
714 rtx, tree, rtx, int); 716 rtx, tree, rtx, int);
715 extern rtx expand_shift (enum tree_code, machine_mode, rtx, int, rtx, 717 extern rtx expand_shift (enum tree_code, machine_mode, rtx, poly_int64, rtx,
716 int); 718 int);
717 extern rtx expand_divmod (int, enum tree_code, machine_mode, rtx, rtx, 719 extern rtx expand_divmod (int, enum tree_code, machine_mode, rtx, rtx,
718 rtx, int); 720 rtx, int);
719 #endif 721 #endif
720 722
721 extern void store_bit_field (rtx, unsigned HOST_WIDE_INT, 723 extern void store_bit_field (rtx, poly_uint64, poly_uint64,
722 unsigned HOST_WIDE_INT, 724 poly_uint64, poly_uint64,
723 unsigned HOST_WIDE_INT,
724 unsigned HOST_WIDE_INT,
725 machine_mode, rtx, bool); 725 machine_mode, rtx, bool);
726 extern rtx extract_bit_field (rtx, unsigned HOST_WIDE_INT, 726 extern rtx extract_bit_field (rtx, poly_uint64, poly_uint64, int, rtx,
727 unsigned HOST_WIDE_INT, int, rtx,
728 machine_mode, machine_mode, bool, rtx *); 727 machine_mode, machine_mode, bool, rtx *);
729 extern rtx extract_low_bits (machine_mode, machine_mode, rtx); 728 extern rtx extract_low_bits (machine_mode, machine_mode, rtx);
730 extern rtx expand_mult (machine_mode, rtx, rtx, rtx, int); 729 extern rtx expand_mult (machine_mode, rtx, rtx, rtx, int, bool = false);
731 extern rtx expand_mult_highpart_adjust (scalar_int_mode, rtx, rtx, rtx, 730 extern rtx expand_mult_highpart_adjust (scalar_int_mode, rtx, rtx, rtx,
732 rtx, int); 731 rtx, int);
733 732
734 #endif // EXPMED_H 733 #endif // EXPMED_H