Commit 3670ec28 by Roman Zippel Committed by Roman Zippel

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
parent 19a95697
2007-02-18 Roman Zippel <zippel@linux-m68k.org> 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. * config/m68k/linux.h (MD_UNWIND_SUPPORT): Define.
* config/m68k/linux-unwind.h: New file. * config/m68k/linux-unwind.h: New file.
......
...@@ -4934,34 +4934,34 @@ ...@@ -4934,34 +4934,34 @@
;; so that its address is reloaded. ;; so that its address is reloaded.
(define_expand "extv" (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" "") (sign_extract:SI (match_operand:SI 1 "general_operand" "")
(match_operand:SI 2 "general_operand" "") (match_operand:SI 2 "const_int_operand" "")
(match_operand:SI 3 "general_operand" "")))] (match_operand:SI 3 "const_int_operand" "")))]
"TARGET_68020 && TARGET_BITFIELD" "TARGET_68020 && TARGET_BITFIELD"
"") "")
(define_insn "" (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") (sign_extract:SI (match_operand:QI 1 "memory_operand" "o")
(match_operand:SI 2 "general_operand" "dn") (match_operand:SI 2 "nonmemory_operand" "dn")
(match_operand:SI 3 "general_operand" "dn")))] (match_operand:SI 3 "nonmemory_operand" "dn")))]
"TARGET_68020 && TARGET_BITFIELD" "TARGET_68020 && TARGET_BITFIELD"
"bfexts %1{%b3:%b2},%0") "bfexts %1{%b3:%b2},%0")
(define_expand "extzv" (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" "") (zero_extract:SI (match_operand:SI 1 "general_operand" "")
(match_operand:SI 2 "general_operand" "") (match_operand:SI 2 "const_int_operand" "")
(match_operand:SI 3 "general_operand" "")))] (match_operand:SI 3 "const_int_operand" "")))]
"TARGET_68020 && TARGET_BITFIELD" "TARGET_68020 && TARGET_BITFIELD"
"") "")
(define_insn "" (define_insn ""
[(set (match_operand:SI 0 "nonimmediate_operand" "=d,d") [(set (match_operand:SI 0 "register_operand" "=d")
(zero_extract:SI (match_operand:QI 1 "memory_operand" "o,d") (zero_extract:SI (match_operand:QI 1 "memory_operand" "o")
(match_operand:SI 2 "general_operand" "dn,dn") (match_operand:SI 2 "nonmemory_operand" "dn")
(match_operand:SI 3 "general_operand" "dn,dn")))] (match_operand:SI 3 "nonmemory_operand" "dn")))]
"TARGET_68020 && TARGET_BITFIELD" "TARGET_68020 && TARGET_BITFIELD"
{ {
if (GET_CODE (operands[2]) == CONST_INT) if (GET_CODE (operands[2]) == CONST_INT)
...@@ -4978,8 +4978,8 @@ ...@@ -4978,8 +4978,8 @@
(define_insn "" (define_insn ""
[(set (zero_extract:SI (match_operand:QI 0 "memory_operand" "+o") [(set (zero_extract:SI (match_operand:QI 0 "memory_operand" "+o")
(match_operand:SI 1 "general_operand" "dn") (match_operand:SI 1 "nonmemory_operand" "dn")
(match_operand:SI 2 "general_operand" "dn")) (match_operand:SI 2 "nonmemory_operand" "dn"))
(xor:SI (zero_extract:SI (match_dup 0) (match_dup 1) (match_dup 2)) (xor:SI (zero_extract:SI (match_dup 0) (match_dup 1) (match_dup 2))
(match_operand 3 "const_int_operand" "n")))] (match_operand 3 "const_int_operand" "n")))]
"TARGET_68020 && TARGET_BITFIELD "TARGET_68020 && TARGET_BITFIELD
...@@ -4993,8 +4993,8 @@ ...@@ -4993,8 +4993,8 @@
(define_insn "" (define_insn ""
[(set (zero_extract:SI (match_operand:QI 0 "memory_operand" "+o") [(set (zero_extract:SI (match_operand:QI 0 "memory_operand" "+o")
(match_operand:SI 1 "general_operand" "dn") (match_operand:SI 1 "nonmemory_operand" "dn")
(match_operand:SI 2 "general_operand" "dn")) (match_operand:SI 2 "nonmemory_operand" "dn"))
(const_int 0))] (const_int 0))]
"TARGET_68020 && TARGET_BITFIELD" "TARGET_68020 && TARGET_BITFIELD"
{ {
...@@ -5015,16 +5015,16 @@ ...@@ -5015,16 +5015,16 @@
(define_expand "insv" (define_expand "insv"
[(set (zero_extract:SI (match_operand:SI 0 "nonimmediate_operand" "") [(set (zero_extract:SI (match_operand:SI 0 "nonimmediate_operand" "")
(match_operand:SI 1 "general_operand" "") (match_operand:SI 1 "const_int_operand" "")
(match_operand:SI 2 "general_operand" "")) (match_operand:SI 2 "const_int_operand" ""))
(match_operand:SI 3 "register_operand" ""))] (match_operand:SI 3 "register_operand" ""))]
"TARGET_68020 && TARGET_BITFIELD" "TARGET_68020 && TARGET_BITFIELD"
"") "")
(define_insn "" (define_insn ""
[(set (zero_extract:SI (match_operand:QI 0 "memory_operand" "+o") [(set (zero_extract:SI (match_operand:QI 0 "memory_operand" "+o")
(match_operand:SI 1 "general_operand" "dn") (match_operand:SI 1 "nonmemory_operand" "dn")
(match_operand:SI 2 "general_operand" "dn")) (match_operand:SI 2 "nonmemory_operand" "dn"))
(match_operand:SI 3 "register_operand" "d"))] (match_operand:SI 3 "register_operand" "d"))]
"TARGET_68020 && TARGET_BITFIELD" "TARGET_68020 && TARGET_BITFIELD"
"bfins %3,%0{%b2:%b1}") "bfins %3,%0{%b2:%b1}")
...@@ -5035,16 +5035,16 @@ ...@@ -5035,16 +5035,16 @@
(define_insn "" (define_insn ""
[(set (match_operand:SI 0 "nonimmediate_operand" "=d") [(set (match_operand:SI 0 "nonimmediate_operand" "=d")
(sign_extract:SI (match_operand:SI 1 "register_operand" "d") (sign_extract:SI (match_operand:SI 1 "register_operand" "d")
(match_operand:SI 2 "general_operand" "dn") (match_operand:SI 2 "const_int_operand" "n")
(match_operand:SI 3 "general_operand" "dn")))] (match_operand:SI 3 "const_int_operand" "n")))]
"TARGET_68020 && TARGET_BITFIELD" "TARGET_68020 && TARGET_BITFIELD"
"bfexts %1{%b3:%b2},%0") "bfexts %1{%b3:%b2},%0")
(define_insn "" (define_insn ""
[(set (match_operand:SI 0 "nonimmediate_operand" "=d") [(set (match_operand:SI 0 "nonimmediate_operand" "=d")
(zero_extract:SI (match_operand:SI 1 "register_operand" "d") (zero_extract:SI (match_operand:SI 1 "register_operand" "d")
(match_operand:SI 2 "general_operand" "dn") (match_operand:SI 2 "const_int_operand" "n")
(match_operand:SI 3 "general_operand" "dn")))] (match_operand:SI 3 "const_int_operand" "n")))]
"TARGET_68020 && TARGET_BITFIELD" "TARGET_68020 && TARGET_BITFIELD"
{ {
if (GET_CODE (operands[2]) == CONST_INT) if (GET_CODE (operands[2]) == CONST_INT)
...@@ -5061,8 +5061,8 @@ ...@@ -5061,8 +5061,8 @@
(define_insn "" (define_insn ""
[(set (zero_extract:SI (match_operand:SI 0 "register_operand" "+d") [(set (zero_extract:SI (match_operand:SI 0 "register_operand" "+d")
(match_operand:SI 1 "general_operand" "dn") (match_operand:SI 1 "const_int_operand" "n")
(match_operand:SI 2 "general_operand" "dn")) (match_operand:SI 2 "const_int_operand" "n"))
(const_int 0))] (const_int 0))]
"TARGET_68020 && TARGET_BITFIELD" "TARGET_68020 && TARGET_BITFIELD"
{ {
...@@ -5072,8 +5072,8 @@ ...@@ -5072,8 +5072,8 @@
(define_insn "" (define_insn ""
[(set (zero_extract:SI (match_operand:SI 0 "register_operand" "+d") [(set (zero_extract:SI (match_operand:SI 0 "register_operand" "+d")
(match_operand:SI 1 "general_operand" "dn") (match_operand:SI 1 "const_int_operand" "n")
(match_operand:SI 2 "general_operand" "dn")) (match_operand:SI 2 "const_int_operand" "n"))
(const_int -1))] (const_int -1))]
"TARGET_68020 && TARGET_BITFIELD" "TARGET_68020 && TARGET_BITFIELD"
{ {
...@@ -5083,8 +5083,8 @@ ...@@ -5083,8 +5083,8 @@
(define_insn "" (define_insn ""
[(set (zero_extract:SI (match_operand:SI 0 "register_operand" "+d") [(set (zero_extract:SI (match_operand:SI 0 "register_operand" "+d")
(match_operand:SI 1 "general_operand" "dn") (match_operand:SI 1 "const_int_operand" "n")
(match_operand:SI 2 "general_operand" "dn")) (match_operand:SI 2 "const_int_operand" "n"))
(match_operand:SI 3 "register_operand" "d"))] (match_operand:SI 3 "register_operand" "d"))]
"TARGET_68020 && TARGET_BITFIELD" "TARGET_68020 && TARGET_BITFIELD"
{ {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment