Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
R
riscv-gcc-1
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
lvzhengyang
riscv-gcc-1
Commits
018a61c9
Commit
018a61c9
authored
Apr 14, 2008
by
Bernd Schmidt
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Add missing file from my previous commit...
From-SVN: r134276
parent
8f3723e0
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
226 additions
and
0 deletions
+226
-0
gcc/config/bfin/constraints.md
+226
-0
No files found.
gcc/config/bfin/constraints.md
0 → 100644
View file @
018a61c9
;; Constraint definitions for Blackfin
;; Copyright (C) 2007 Free Software Foundation, Inc.
;; Contributed by Analog Devices
;; 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 2, 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 COPYING. If not, write to
;; the Free Software Foundation, 51 Franklin Street, Fifth Floor,
;; Boston, MA 02110-1301, USA.
(define_register_constraint "a" "PREGS"
"A Pn register.")
(define_register_constraint "d" "DREGS"
"A Rn register.")
(define_register_constraint "z" "PREGS_CLOBBERED"
"A call clobbered Pn register.")
(define_register_constraint "D" "EVEN_DREGS"
"An even-numbered Rn register.")
(define_register_constraint "W" "ODD_DREGS"
"An odd-numbered Rn register.")
(define_register_constraint "e" "AREGS"
"An accumulator register.")
(define_register_constraint "A" "EVEN_AREGS"
"An even-numbered accumulator; A0.")
(define_register_constraint "B" "ODD_AREGS"
"An odd-numbered accumulator; A1.")
(define_register_constraint "b" "IREGS"
"An I register.")
(define_register_constraint "v" "BREGS"
"A B register.")
(define_register_constraint "f" "MREGS"
"An M register.")
(define_register_constraint "c" "CIRCREGS"
"A register used for circular buffering, i.e. I, B, or L registers.")
(define_register_constraint "C" "CCREGS"
"The CC register.")
(define_register_constraint "t" "LT_REGS"
"LT0 or LT1.")
(define_register_constraint "u" "LB_REGS"
"LB0 or LB1.")
(define_register_constraint "k" "LC_REGS"
"LC0 or LC1.")
(define_register_constraint "x" "MOST_REGS"
"Any R, P, B, M, I or L register.")
(define_register_constraint "y" "PROLOGUE_REGS"
"Additional registers typically used only in prologues and epilogues:
RETS, RETN, RETI, RETX, RETE, ASTAT, SEQSTAT and USP.")
(define_register_constraint "w" "NON_A_CC_REGS"
"Any register except accumulators or CC.")
(define_register_constraint "Z" "FDPIC_REGS"
"@internal The FD-PIC GOT pointer; P3.")
(define_register_constraint "Y" "FDPIC_FPTR_REGS"
"@internal The FD-PIC function pointer register; P1.")
(define_register_constraint "q0" "D0REGS"
"The register R0.")
(define_register_constraint "q1" "D1REGS"
"The register R1.")
(define_register_constraint "q2" "D2REGS"
"The register R2.")
(define_register_constraint "q3" "D3REGS"
"The register R3.")
(define_register_constraint "q4" "D4REGS"
"The register R4.")
(define_register_constraint "q5" "D5REGS"
"The register R5.")
(define_register_constraint "q6" "D6REGS"
"The register R6.")
(define_register_constraint "q7" "D7REGS"
"The register R7.")
(define_register_constraint "qA" "P0REGS"
"The register P0.")
;; Constant constraints.
(define_constraint "J"
"A constant value of the form 2
**
N, where N 5-bit wide."
(and (match_code "const_int")
(match_test "log2constp (ival)")))
(define_constraint "Ks3"
"A signed 3 bit immediate."
(and (match_code "const_int")
(match_test "ival >= -4 && ival <= 3")))
(define_constraint "Ku3"
"An unsigned 3 bit immediate."
(and (match_code "const_int")
(match_test "ival >= 0 && ival <= 7")))
(define_constraint "Ks4"
"A signed 4 bit immediate."
(and (match_code "const_int")
(match_test "ival >= -8 && ival <= 7")))
(define_constraint "Ku4"
"An unsigned 4 bit immediate."
(and (match_code "const_int")
(match_test "ival >= 0 && ival <= 15")))
(define_constraint "Ks5"
"A signed 5 bit immediate."
(and (match_code "const_int")
(match_test "ival >= -16 && ival <= 15")))
(define_constraint "Ku5"
"An unsigned 5 bit immediate."
(and (match_code "const_int")
(match_test "ival >= 0 && ival <= 31")))
(define_constraint "Ks7"
"A signed 7 bit immediate."
(and (match_code "const_int")
(match_test "ival >= -64 && ival <= 63")))
(define_constraint "KN7"
"A constant that when negated is a signed 7 bit immediate."
(and (match_code "const_int")
(match_test "ival >= -63 && ival <= 64")))
(define_constraint "Ksh"
"A signed 16 bit immediate."
(and (match_code "const_int")
(match_test "ival >= -32768 && ival <= 32767")))
(define_constraint "Kuh"
"An unsigned 16 bit immediate."
(and (match_code "const_int")
(match_test "ival >= 0 && ival <= 65535")))
(define_constraint "L"
"A constant value of the form ~(2
**
N)."
(and (match_code "const_int")
(match_test "log2constp (~ival)")))
(define_constraint "M1"
"An integer with the value 255."
(and (match_code "const_int")
(match_test "ival == 255")))
(define_constraint "M2"
"An integer with the value 65535."
(and (match_code "const_int")
(match_test "ival == 65535")))
(define_constraint "P0"
"An integer with the value 0."
(and (match_code "const_int")
(match_test "ival == 0")))
(define_constraint "P1"
"An integer with the value 1."
(and (match_code "const_int")
(match_test "ival == 1")))
(define_constraint "P2"
"An integer with the value 2."
(and (match_code "const_int")
(match_test "ival == 2")))
(define_constraint "P3"
"An integer with the value 3."
(and (match_code "const_int")
(match_test "ival == 3")))
(define_constraint "P4"
"An integer with the value 4."
(and (match_code "const_int")
(match_test "ival == 4")))
(define_constraint "PA"
"An integer constant describing any macflag except variants involving M."
(and (match_code "const_int")
(match_test "ival != MACFLAG_M && ival != MACFLAG_IS_M")))
(define_constraint "PB"
"An integer constant describing any macflag involving M."
(and (match_code "const_int")
(match_test "ival == MACFLAG_M || ival == MACFLAG_IS_M")))
;; Extra constraints
(define_constraint "Q"
"A SYMBOL_REF."
(match_code "symbol_ref"))
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment