PR tree-optimization/84480 - bogus -Wstringop-truncation despite assignment with...
[official-gcc.git] / gcc / config / nds32 / iterators.md
blobc587921a39dee895a70c8fc2b9daaa63c77c2885
1 ;; Code and mode itertator and attribute definitions
2 ;; of Andes NDS32 cpu for GNU compiler
3 ;; Copyright (C) 2012-2018 Free Software Foundation, Inc.
4 ;; Contributed by Andes Technology Corporation.
5 ;;
6 ;; This file is part of GCC.
7 ;;
8 ;; GCC is free software; you can redistribute it and/or modify it
9 ;; under the terms of the GNU General Public License as published
10 ;; by the Free Software Foundation; either version 3, or (at your
11 ;; option) any later version.
13 ;; GCC is distributed in the hope that it will be useful, but WITHOUT
14 ;; ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
15 ;; or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public
16 ;; License for more details.
18 ;; You should have received a copy of the GNU General Public License
19 ;; along with GCC; see the file COPYING3.  If not see
20 ;; <http://www.gnu.org/licenses/>.
22 ;;----------------------------------------------------------------------------
23 ;; Mode iterators.
24 ;;----------------------------------------------------------------------------
26 ;; A list of integer modes that are up to one word long.
27 (define_mode_iterator QIHISI [QI HI SI])
29 ;; A list of integer modes for one word and double word.
30 (define_mode_iterator SIDI [SI DI])
32 ;; A list of integer modes that are up to one half-word long.
33 (define_mode_iterator QIHI [QI HI])
35 ;; A list of the modes that are up to double-word long.
36 (define_mode_iterator DIDF [DI DF])
38 ;; A list of the modes that are up to one word long vector.
39 (define_mode_iterator VQIHI [V4QI V2HI])
41 ;; A list of the modes that are up to one word long vector
42 ;; and scalar for varies mode.
43 (define_mode_iterator VSHI [V2HI HI])
44 (define_mode_iterator VSQIHI [V4QI V2HI QI HI])
45 (define_mode_iterator VSQIHIDI [V4QI V2HI QI HI DI])
46 (define_mode_iterator VQIHIDI [V4QI V2HI DI])
48 ;;----------------------------------------------------------------------------
49 ;; Mode attributes.
50 ;;----------------------------------------------------------------------------
52 (define_mode_attr size [(QI "b") (HI "h") (SI "w")])
54 (define_mode_attr byte [(QI "1") (HI "2") (SI "4") (V4QI "4") (V2HI "4")])
56 (define_mode_attr bits [(V4QI "8") (QI "8") (V2HI "16") (HI "16") (DI "64")])
58 (define_mode_attr VELT [(V4QI "QI") (V2HI "HI")])
60 ;;----------------------------------------------------------------------------
61 ;; Code iterators.
62 ;;----------------------------------------------------------------------------
65 ;;----------------------------------------------------------------------------
66 ;; Code attributes.
67 ;;----------------------------------------------------------------------------
70 ;;----------------------------------------------------------------------------