1;; Machine Descriptions for R8C/M16C/M32C 2;; Copyright (C) 2005-2020 Free Software Foundation, Inc. 3;; Contributed by Red Hat. 4;; 5;; This file is part of GCC. 6;; 7;; GCC is free software; you can redistribute it and/or modify it 8;; under the terms of the GNU General Public License as published 9;; by the Free Software Foundation; either version 3, or (at your 10;; option) any later version. 11;; 12;; GCC is distributed in the hope that it will be useful, but WITHOUT 13;; ANY WARRANTY; without even the implied warranty of MERCHANTABILITY 14;; or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public 15;; License for more details. 16;; 17;; You should have received a copy of the GNU General Public License 18;; along with GCC; see the file COPYING3. If not see 19;; <http://www.gnu.org/licenses/>. 20 21(define_constants 22 [(R0_REGNO 0) 23 (R2_REGNO 1) 24 (R1_REGNO 2) 25 (R3_REGNO 3) 26 27 (A0_REGNO 4) 28 (A1_REGNO 5) 29 (SB_REGNO 6) 30 (FB_REGNO 7) 31 32 (SP_REGNO 8) 33 (PC_REGNO 9) 34 (FLG_REGNO 10) 35 (MEM0_REGNO 12) 36 (MEM7_REGNO 19) 37 ]) 38 39(define_constants 40 [(UNS_PROLOGUE_END 1) 41 (UNS_EPILOGUE_START 2) 42 (UNS_EH_EPILOGUE 3) 43 (UNS_PUSHM 4) 44 (UNS_POPM 5) 45 (UNS_SMOVF 6) 46 (UNS_SSTR 7) 47 (UNS_SCMPU 8) 48 (UNS_SMOVU 9) 49 (UNS_FSETB 10) 50 (UNS_FREIT 11) 51 ]) 52 53;; n = no change, x = clobbered. The first 16 values are chosen such 54;; that the enum has one bit set for each flag. 55(define_attr "flags" "x,c,z,zc,s,sc,sz,szc,o,oc,oz,ozc,os,osc,osz,oszc,n" (const_string "n")) 56(define_asm_attributes [(set_attr "flags" "x")]) 57 58(define_mode_iterator QHI [QI HI]) 59(define_mode_iterator HPSI [(HI "TARGET_A16") (PSI "TARGET_A24")]) 60(define_mode_iterator QHPSI [QI HI (PSI "TARGET_A24")]) 61(define_mode_iterator QHSI [QI HI (SI "TARGET_A24")]) 62(define_mode_attr bwl [(QI "b") (HI "w") (PSI "l") (SI "l")]) 63 64(define_code_iterator eqne_cond [eq ne]) 65 66 67(define_insn "nop" 68 [(const_int 0)] 69 "" 70 "nop" 71 [(set_attr "flags" "n")] 72) 73 74(define_insn "no_insn" 75 [(const_int 1)] 76 "" 77 "" 78 [(set_attr "flags" "n")] 79) 80