OpenCores
URL https://opencores.org/ocsvn/openrisc_2011-10-31/openrisc_2011-10-31/trunk

Subversion Repositories openrisc_2011-10-31

[/] [openrisc/] [trunk/] [gnu-src/] [gcc-4.5.1/] [gcc/] [config/] [or32/] [predicates.md] - Diff between revs 282 and 399

Go to most recent revision | Show entire file | Details | Blame | View Log

Rev 282 Rev 399
Line 1... Line 1...
;; Predicate definitions for OR32
;; Predicate definitions for OR32
 
;;
 
;; Copyright (C) 2010 Embecosm Limited
 
;;
 
;; 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 3, 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 COPYING3.  If not see
 
;; .
 
 
(define_predicate "cc_reg_operand"
(define_predicate "cc_reg_operand"
  (match_code "subreg,reg")
  (match_code "subreg,reg")
{
{
  register_operand (op, mode);
  register_operand (op, mode);
 
 
  if (GET_CODE (op) == REG && REGNO (op) == 32)
  if (GET_CODE (op) == REG && REGNO (op) == CC_REG)
    return 1;
    return 1;
 
 
  return 0;
  return 0;
})
})
 
 
Line 44... Line 62...
 
 
  /* Allow any one instruction integer constant, and all CONST_INT
  /* Allow any one instruction integer constant, and all CONST_INT
     variants when we are working in DImode and !arch64.  */
     variants when we are working in DImode and !arch64.  */
  if (GET_MODE_CLASS (mode) == MODE_INT
  if (GET_MODE_CLASS (mode) == MODE_INT
      && ((GET_CODE (op) == CONST_INT)
      && ((GET_CODE (op) == CONST_INT)
          && (CONST_OK_FOR_LETTER_P (INTVAL (op), 'K')
          && (satisfies_constraint_K (op)
              || CONST_OK_FOR_LETTER_P (INTVAL (op), 'M')
              || satisfies_constraint_M (op)
              || CONST_OK_FOR_LETTER_P (INTVAL (op), 'I'))))
              || satisfies_constraint_I (op))))
    return 1;
    return 1;
 
 
  if (register_operand (op, mode))
  if (register_operand (op, mode))
    return 1;
    return 1;
 
 

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.