Mercurial > hg > CbC > CbC_gcc
diff gcc/rtx-vector-builder.h @ 145:1830386684a0
gcc-9.2.0
author | anatofuz |
---|---|
date | Thu, 13 Feb 2020 11:34:05 +0900 |
parents | 84e7813d76e9 |
children |
line wrap: on
line diff
--- a/gcc/rtx-vector-builder.h Thu Oct 25 07:37:49 2018 +0900 +++ b/gcc/rtx-vector-builder.h Thu Feb 13 11:34:05 2020 +0900 @@ -1,5 +1,5 @@ /* A class for building vector rtx constants. - Copyright (C) 2017-2018 Free Software Foundation, Inc. + Copyright (C) 2017-2020 Free Software Foundation, Inc. This file is part of GCC. @@ -24,10 +24,11 @@ /* This class is used to build VECTOR_CSTs from a sequence of elements. See vector_builder for more details. */ -class rtx_vector_builder : public vector_builder<rtx, rtx_vector_builder> +class rtx_vector_builder : public vector_builder<rtx, machine_mode, + rtx_vector_builder> { - typedef vector_builder<rtx, rtx_vector_builder> parent; - friend class vector_builder<rtx, rtx_vector_builder>; + typedef vector_builder<rtx, machine_mode, rtx_vector_builder> parent; + friend class vector_builder<rtx, machine_mode, rtx_vector_builder>; public: rtx_vector_builder () : m_mode (VOIDmode) {} @@ -48,6 +49,15 @@ bool can_elide_p (rtx) const { return true; } void note_representative (rtx *, rtx) {} + static poly_uint64 shape_nelts (machine_mode mode) + { return GET_MODE_NUNITS (mode); } + static poly_uint64 nelts_of (const_rtx x) + { return CONST_VECTOR_NUNITS (x); } + static unsigned int npatterns_of (const_rtx x) + { return CONST_VECTOR_NPATTERNS (x); } + static unsigned int nelts_per_pattern_of (const_rtx x) + { return CONST_VECTOR_NELTS_PER_PATTERN (x); } + rtx find_cached_value (); machine_mode m_mode;