From 5c7666c1afd23dfd72bd90eadd52caf4468099a3 Mon Sep 17 00:00:00 2001 From: Nick Clifton Date: Wed, 29 May 2002 18:05:08 +0000 Subject: [PATCH] fr30.md: Remove previous restriction on splits. * config/fr30/fr30.md: Remove previous restriction on splits. Enforce conformance through gen_lowpart and cont_int_operand. * config/fr30/fr30.h (BSS_SECTION_ASM_OP): Use ".section .bss" as the assembler does not support ".bss". From-SVN: r54010 --- gcc/ChangeLog | 7 +++++++ gcc/config/fr30/fr30.h | 2 +- gcc/config/fr30/fr30.md | 23 +++++++++++------------ 3 files changed, 19 insertions(+), 13 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 4fe6deb2119..b7134ef0e6a 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +2002-05-29 Nick Clifton + + * config/fr30/fr30.md: Remove previous restriction on splits. + Enforce conformance through gen_lowpart and cont_int_operand. + * config/fr30/fr30.h (BSS_SECTION_ASM_OP): Use ".section .bss" + as the assembler does not support ".bss". + 2002-05-29 Jason Thorpe * config/i386/netbsd-elf.h (TARGET_OS_CPP_BUILTINS): Define. diff --git a/gcc/config/fr30/fr30.h b/gcc/config/fr30/fr30.h index 2f0cf99561b..33ba6ca31ac 100644 --- a/gcc/config/fr30/fr30.h +++ b/gcc/config/fr30/fr30.h @@ -1134,7 +1134,7 @@ do \ uninitialized global data will be output in the data section if `-fno-common' is passed, otherwise `ASM_OUTPUT_COMMON' will be used. */ -#define BSS_SECTION_ASM_OP "\t.bss" +#define BSS_SECTION_ASM_OP "\t.section .bss" /*}}}*/ /*{{{ The Overall Framework of an Assembler File. */ diff --git a/gcc/config/fr30/fr30.md b/gcc/config/fr30/fr30.md index fe13326818b..8557ce898d2 100644 --- a/gcc/config/fr30/fr30.md +++ b/gcc/config/fr30/fr30.md @@ -286,13 +286,13 @@ ;; and time by loading the positive value and then sign extending it. (define_split [(set (match_operand:SI 0 "register_operand" "") - (match_operand:SI 1 "immediate_operand" ""))] - "INTVAL (operands[1]) <= -1 && INTVAL (operands[1]) >= -128 - && GET_CODE (operands[0]) == REG" - [(set:SI (match_dup 0) (match_dup 2)) - (set:SI (match_dup 0) (sign_extend:SI (subreg:QI (match_dup 0) 0)))] + (match_operand:SI 1 "const_int_operand" ""))] + "INTVAL (operands[1]) <= -1 && INTVAL (operands[1]) >= -128" + [(set:SI (match_dup 0) (match_dup 1)) + (set:SI (match_dup 0) (sign_extend:SI (match_dup 2)))] "{ - operands[2] = GEN_INT (INTVAL (operands[1]) & 0xff); + operands[1] = GEN_INT (INTVAL (operands[1]) & 0xff); + operands[2] = gen_lowpart (QImode, operands[0]); }" ) @@ -301,9 +301,8 @@ ;; and space by loading the byte value and shifting it into place. (define_split [(set (match_operand:SI 0 "register_operand" "") - (match_operand:SI 1 "immediate_operand" ""))] - "(INTVAL (operands[1]) < 0) && ((INTVAL (operands[1]) & 0x00ffffff) == 0) - && GET_CODE (operands[0]) == REG" + (match_operand:SI 1 "const_int_operand" ""))] + "(INTVAL (operands[1]) < 0) && ((INTVAL (operands[1]) & 0x00ffffff) == 0)" [(set:SI (match_dup 0) (match_dup 2)) (parallel [(set:SI (match_dup 0) (ashift:SI (match_dup 0) (const_int 24))) (clobber (reg:CC 16))])] @@ -319,10 +318,9 @@ ;; and shifting it into place. (define_split [(set (match_operand:SI 0 "register_operand" "") - (match_operand:SI 1 "immediate_operand" ""))] + (match_operand:SI 1 "const_int_operand" ""))] "(INTVAL (operands[1]) > 0x00ffffff) - && ((INTVAL (operands[1]) >> exact_log2 (INTVAL (operands[1]) & (- INTVAL (operands[1])))) < 0x100) - && GET_CODE (operands[0]) == REG" + && ((INTVAL (operands[1]) >> exact_log2 (INTVAL (operands[1]) & (- INTVAL (operands[1])))) < 0x100)" [(set:SI (match_dup 0) (match_dup 2)) (parallel [(set:SI (match_dup 0) (ashift:SI (match_dup 0) (match_dup 3))) (clobber (reg:CC 16))])] @@ -1439,6 +1437,7 @@ "" [(set_attr "length" "0")] ) +;;}}} ;; Local Variables: ;; mode: md -- 2.30.2