]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/config/aarch64/aarch64-fusion-pairs.def
Refactor dominance.c: define dom_info as C++ class
[thirdparty/gcc.git] / gcc / config / aarch64 / aarch64-fusion-pairs.def
CommitLineData
665dd6f3
JG
1/* Copyright (C) 2015 Free Software Foundation, Inc.
2 Contributed by ARM Ltd.
3
4 This file is part of GCC.
5
6 GCC is free software; you can redistribute it and/or modify it
7 under the terms of the GNU General Public License as published
8 by the Free Software Foundation; either version 3, or (at your
9 option) any later version.
10
11 GCC is distributed in the hope that it will be useful, but WITHOUT
12 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
13 or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
14 License for more details.
15
16 You should have received a copy of the GNU General Public License
17 along with GCC; see the file COPYING3. If not see
18 <http://www.gnu.org/licenses/>. */
19
20/* Pairs of instructions which can be fused. before including this file,
21 define a macro:
22
23 AARCH64_FUSION_PAIR (name, internal_name, index_bit)
24
25 Where:
26
27 NAME is a string giving a friendly name for the instructions to fuse.
28 INTERNAL_NAME gives the internal name suitable for appending to
29 AARCH64_FUSE_ to give an enum name.
30 INDEX_BIT is the bit to set in the bitmask of supported fusion
31 operations. */
32
33AARCH64_FUSION_PAIR ("mov+movk", MOV_MOVK, 0)
34AARCH64_FUSION_PAIR ("adrp+add", ADRP_ADD, 1)
35AARCH64_FUSION_PAIR ("movk+movk", MOVK_MOVK, 2)
36AARCH64_FUSION_PAIR ("adrp+ldr", ADRP_LDR, 3)
37AARCH64_FUSION_PAIR ("cmp+branch", CMP_BRANCH, 4)
38