From d8fa884b8efe501897b62bc1bdf25c53de863b8d Mon Sep 17 00:00:00 2001 From: Richard Kenner Date: Sun, 19 Jan 1997 17:17:50 -0500 Subject: [PATCH] (CONST_OK_FOR_LETTER_P): Recognize 'N', 'O' and 'P'. From-SVN: r13525 --- gcc/config/m68k/m68k.h | 12 +++++++++--- 1 file 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: -- 2.7.4