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
This commit is contained in:
parent
45beef47f3
commit
5c7666c1af
|
@ -1,3 +1,10 @@
|
|||
2002-05-29 Nick Clifton <nickc@cambridge.redhat.com>
|
||||
|
||||
* 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 <thorpej@wasabisystems.com>
|
||||
|
||||
* config/i386/netbsd-elf.h (TARGET_OS_CPP_BUILTINS): Define.
|
||||
|
|
|
@ -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. */
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Reference in New Issue