m68k.md (extv,extzv,insv): disable dynamic parameter for register bitfield operations...
* config/m68k/m68k.md (extv,extzv,insv): disable dynamic parameter for register bitfield operations, general predicates cleanup From-SVN: r122083
This commit is contained in:
parent
19a956978f
commit
3670ec284d
@ -1,3 +1,9 @@
|
||||
2007-02-18 Roman Zippel <zippel@linux-m68k.org>
|
||||
|
||||
* config/m68k/m68k.md (extv,extzv,insv): disable dynamic
|
||||
parameter for register bitfield operations, general predicates
|
||||
cleanup
|
||||
|
||||
2007-02-18 Roman Zippel <zippel@linux-m68k.org>
|
||||
|
||||
* config/m68k/linux.h (MD_UNWIND_SUPPORT): Define.
|
||||
|
@ -4934,34 +4934,34 @@
|
||||
;; so that its address is reloaded.
|
||||
|
||||
(define_expand "extv"
|
||||
[(set (match_operand:SI 0 "nonimmediate_operand" "")
|
||||
[(set (match_operand:SI 0 "register_operand" "")
|
||||
(sign_extract:SI (match_operand:SI 1 "general_operand" "")
|
||||
(match_operand:SI 2 "general_operand" "")
|
||||
(match_operand:SI 3 "general_operand" "")))]
|
||||
(match_operand:SI 2 "const_int_operand" "")
|
||||
(match_operand:SI 3 "const_int_operand" "")))]
|
||||
"TARGET_68020 && TARGET_BITFIELD"
|
||||
"")
|
||||
|
||||
(define_insn ""
|
||||
[(set (match_operand:SI 0 "nonimmediate_operand" "=d")
|
||||
[(set (match_operand:SI 0 "register_operand" "=d")
|
||||
(sign_extract:SI (match_operand:QI 1 "memory_operand" "o")
|
||||
(match_operand:SI 2 "general_operand" "dn")
|
||||
(match_operand:SI 3 "general_operand" "dn")))]
|
||||
(match_operand:SI 2 "nonmemory_operand" "dn")
|
||||
(match_operand:SI 3 "nonmemory_operand" "dn")))]
|
||||
"TARGET_68020 && TARGET_BITFIELD"
|
||||
"bfexts %1{%b3:%b2},%0")
|
||||
|
||||
(define_expand "extzv"
|
||||
[(set (match_operand:SI 0 "nonimmediate_operand" "")
|
||||
[(set (match_operand:SI 0 "register_operand" "")
|
||||
(zero_extract:SI (match_operand:SI 1 "general_operand" "")
|
||||
(match_operand:SI 2 "general_operand" "")
|
||||
(match_operand:SI 3 "general_operand" "")))]
|
||||
(match_operand:SI 2 "const_int_operand" "")
|
||||
(match_operand:SI 3 "const_int_operand" "")))]
|
||||
"TARGET_68020 && TARGET_BITFIELD"
|
||||
"")
|
||||
|
||||
(define_insn ""
|
||||
[(set (match_operand:SI 0 "nonimmediate_operand" "=d,d")
|
||||
(zero_extract:SI (match_operand:QI 1 "memory_operand" "o,d")
|
||||
(match_operand:SI 2 "general_operand" "dn,dn")
|
||||
(match_operand:SI 3 "general_operand" "dn,dn")))]
|
||||
[(set (match_operand:SI 0 "register_operand" "=d")
|
||||
(zero_extract:SI (match_operand:QI 1 "memory_operand" "o")
|
||||
(match_operand:SI 2 "nonmemory_operand" "dn")
|
||||
(match_operand:SI 3 "nonmemory_operand" "dn")))]
|
||||
"TARGET_68020 && TARGET_BITFIELD"
|
||||
{
|
||||
if (GET_CODE (operands[2]) == CONST_INT)
|
||||
@ -4978,8 +4978,8 @@
|
||||
|
||||
(define_insn ""
|
||||
[(set (zero_extract:SI (match_operand:QI 0 "memory_operand" "+o")
|
||||
(match_operand:SI 1 "general_operand" "dn")
|
||||
(match_operand:SI 2 "general_operand" "dn"))
|
||||
(match_operand:SI 1 "nonmemory_operand" "dn")
|
||||
(match_operand:SI 2 "nonmemory_operand" "dn"))
|
||||
(xor:SI (zero_extract:SI (match_dup 0) (match_dup 1) (match_dup 2))
|
||||
(match_operand 3 "const_int_operand" "n")))]
|
||||
"TARGET_68020 && TARGET_BITFIELD
|
||||
@ -4993,8 +4993,8 @@
|
||||
|
||||
(define_insn ""
|
||||
[(set (zero_extract:SI (match_operand:QI 0 "memory_operand" "+o")
|
||||
(match_operand:SI 1 "general_operand" "dn")
|
||||
(match_operand:SI 2 "general_operand" "dn"))
|
||||
(match_operand:SI 1 "nonmemory_operand" "dn")
|
||||
(match_operand:SI 2 "nonmemory_operand" "dn"))
|
||||
(const_int 0))]
|
||||
"TARGET_68020 && TARGET_BITFIELD"
|
||||
{
|
||||
@ -5015,16 +5015,16 @@
|
||||
|
||||
(define_expand "insv"
|
||||
[(set (zero_extract:SI (match_operand:SI 0 "nonimmediate_operand" "")
|
||||
(match_operand:SI 1 "general_operand" "")
|
||||
(match_operand:SI 2 "general_operand" ""))
|
||||
(match_operand:SI 1 "const_int_operand" "")
|
||||
(match_operand:SI 2 "const_int_operand" ""))
|
||||
(match_operand:SI 3 "register_operand" ""))]
|
||||
"TARGET_68020 && TARGET_BITFIELD"
|
||||
"")
|
||||
|
||||
(define_insn ""
|
||||
[(set (zero_extract:SI (match_operand:QI 0 "memory_operand" "+o")
|
||||
(match_operand:SI 1 "general_operand" "dn")
|
||||
(match_operand:SI 2 "general_operand" "dn"))
|
||||
(match_operand:SI 1 "nonmemory_operand" "dn")
|
||||
(match_operand:SI 2 "nonmemory_operand" "dn"))
|
||||
(match_operand:SI 3 "register_operand" "d"))]
|
||||
"TARGET_68020 && TARGET_BITFIELD"
|
||||
"bfins %3,%0{%b2:%b1}")
|
||||
@ -5035,16 +5035,16 @@
|
||||
(define_insn ""
|
||||
[(set (match_operand:SI 0 "nonimmediate_operand" "=d")
|
||||
(sign_extract:SI (match_operand:SI 1 "register_operand" "d")
|
||||
(match_operand:SI 2 "general_operand" "dn")
|
||||
(match_operand:SI 3 "general_operand" "dn")))]
|
||||
(match_operand:SI 2 "const_int_operand" "n")
|
||||
(match_operand:SI 3 "const_int_operand" "n")))]
|
||||
"TARGET_68020 && TARGET_BITFIELD"
|
||||
"bfexts %1{%b3:%b2},%0")
|
||||
|
||||
(define_insn ""
|
||||
[(set (match_operand:SI 0 "nonimmediate_operand" "=d")
|
||||
(zero_extract:SI (match_operand:SI 1 "register_operand" "d")
|
||||
(match_operand:SI 2 "general_operand" "dn")
|
||||
(match_operand:SI 3 "general_operand" "dn")))]
|
||||
(match_operand:SI 2 "const_int_operand" "n")
|
||||
(match_operand:SI 3 "const_int_operand" "n")))]
|
||||
"TARGET_68020 && TARGET_BITFIELD"
|
||||
{
|
||||
if (GET_CODE (operands[2]) == CONST_INT)
|
||||
@ -5061,8 +5061,8 @@
|
||||
|
||||
(define_insn ""
|
||||
[(set (zero_extract:SI (match_operand:SI 0 "register_operand" "+d")
|
||||
(match_operand:SI 1 "general_operand" "dn")
|
||||
(match_operand:SI 2 "general_operand" "dn"))
|
||||
(match_operand:SI 1 "const_int_operand" "n")
|
||||
(match_operand:SI 2 "const_int_operand" "n"))
|
||||
(const_int 0))]
|
||||
"TARGET_68020 && TARGET_BITFIELD"
|
||||
{
|
||||
@ -5072,8 +5072,8 @@
|
||||
|
||||
(define_insn ""
|
||||
[(set (zero_extract:SI (match_operand:SI 0 "register_operand" "+d")
|
||||
(match_operand:SI 1 "general_operand" "dn")
|
||||
(match_operand:SI 2 "general_operand" "dn"))
|
||||
(match_operand:SI 1 "const_int_operand" "n")
|
||||
(match_operand:SI 2 "const_int_operand" "n"))
|
||||
(const_int -1))]
|
||||
"TARGET_68020 && TARGET_BITFIELD"
|
||||
{
|
||||
@ -5083,8 +5083,8 @@
|
||||
|
||||
(define_insn ""
|
||||
[(set (zero_extract:SI (match_operand:SI 0 "register_operand" "+d")
|
||||
(match_operand:SI 1 "general_operand" "dn")
|
||||
(match_operand:SI 2 "general_operand" "dn"))
|
||||
(match_operand:SI 1 "const_int_operand" "n")
|
||||
(match_operand:SI 2 "const_int_operand" "n"))
|
||||
(match_operand:SI 3 "register_operand" "d"))]
|
||||
"TARGET_68020 && TARGET_BITFIELD"
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user