diff options
author | Richard Kenner <kenner@gcc.gnu.org> | 1997-01-19 17:17:50 -0500 |
---|---|---|
committer | Richard Kenner <kenner@gcc.gnu.org> | 1997-01-19 17:17:50 -0500 |
commit | d8fa884b8efe501897b62bc1bdf25c53de863b8d (patch) | |
tree | 4719dfafdb0909c7dd2d51da69d4a4bc07ef685a | |
parent | e62db39c0a172d4d3690ea98b711dfdd65dad42e (diff) | |
download | gcc-d8fa884b8efe501897b62bc1bdf25c53de863b8d.zip gcc-d8fa884b8efe501897b62bc1bdf25c53de863b8d.tar.gz gcc-d8fa884b8efe501897b62bc1bdf25c53de863b8d.tar.bz2 |
(CONST_OK_FOR_LETTER_P): Recognize 'N', 'O' and 'P'.
From-SVN: r13525
-rw-r--r-- | gcc/config/m68k/m68k.h | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/gcc/config/m68k/m68k.h b/gcc/config/m68k/m68k.h index 244bb8f..0fba33d 100644 --- a/gcc/config/m68k/m68k.h +++ b/gcc/config/m68k/m68k.h @@ -1,5 +1,5 @@ /* Definitions of target machine for GNU compiler. Sun 68000/68020 version. - Copyright (C) 1987, 88, 93, 94, 95, 1996 Free Software Foundation, Inc. + Copyright (C) 1987, 88, 93, 94, 95, 96, 1997 Free Software Foundation, Inc. This file is part of GNU CC. @@ -686,14 +686,20 @@ extern enum reg_class regno_reg_class[]; `J' is used for the range of signed numbers that fit in 16 bits. `K' is for numbers that moveq can't handle. `L' is for range -8 to -1, range of values that can be added with subq. - `M' is for numbers that moveq+notb can't handle. */ + `M' is for numbers that moveq+notb can't handle. + 'N' is for range 24 to 31, rotatert:SI 8 to 1 expressed as rotate. + 'O' is for 16 (for rotate using swap). + 'P' is for range 8 to 15, rotatert:HI 8 to 1 expressed as rotate. */ #define CONST_OK_FOR_LETTER_P(VALUE, C) \ ((C) == 'I' ? (VALUE) > 0 && (VALUE) <= 8 : \ (C) == 'J' ? (VALUE) >= -0x8000 && (VALUE) <= 0x7FFF : \ (C) == 'K' ? (VALUE) < -0x80 || (VALUE) >= 0x80 : \ (C) == 'L' ? (VALUE) < 0 && (VALUE) >= -8 : \ - (C) == 'M' ? (VALUE) < -0x100 && (VALUE) >= 0x100 : 0) + (C) == 'M' ? (VALUE) < -0x100 && (VALUE) >= 0x100 : \ + (C) == 'N' ? (VALUE) >= 24 && (VALUE) <= 31 : \ + (C) == 'O' ? (VALUE) == 16 : \ + (C) == 'P' ? (VALUE) >= 8 && (VALUE) <= 15 : 0) /* * A small bit of explanation: |