From: law Date: Mon, 5 Apr 1993 00:18:07 +0000 (+0000) Subject: * pa.h (HARD_REGNO_MODE_OK): Do not accept integer modes X-Git-Url: http://git.sourceforge.jp/view?a=commitdiff_plain;h=ffd86ff191762cd41495e342fd0ec37036fd484b;p=pf3gnuchains%2Fgcc-fork.git * pa.h (HARD_REGNO_MODE_OK): Do not accept integer modes greater than 32 bits in 1.0 FP registers. * pa.md (movdi patterns): Do not accept 1.0 FP registers. (floatunsdisf, floatunsdidf expanders): Disable unless TARGET_SNAKE. (floatdisf2, floatdidf2 patterns): Likewise. (fix_truncdisf2, fix_truncdidf2): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@4017 138bc75d-0d04-0410-961f-82ee72b054a4 --- diff --git a/gcc/config/pa/pa.h b/gcc/config/pa/pa.h index 8a65f7484de..64067cc2a99 100644 --- a/gcc/config/pa/pa.h +++ b/gcc/config/pa/pa.h @@ -404,7 +404,9 @@ extern int target_flags; #define HARD_REGNO_MODE_OK(REGNO, MODE) \ ((REGNO) == 0 ? (MODE) == CCmode || (MODE) == CCFPmode \ : (REGNO) < 32 ? ((GET_MODE_SIZE (MODE) <= 4) ? 1 : ((REGNO) & 1) == 0)\ - : (REGNO) < 44 ? (GET_MODE_SIZE (MODE) >= 4) \ + : (REGNO) < 44 ? (GET_MODE_SIZE (MODE) == 4 \ + || (GET_MODE_SIZE (MODE) > 4 \ + && GET_MODE_CLASS (MODE) == MODE_FLOAT)) \ : (GET_MODE_SIZE (MODE) > 4 ? ((REGNO) & 1) == 0 \ : 1))