Commit d63f1311 by Nagaraju Mekala Committed by Michael Eager

Added the lwr/swr instructions pattern.

lwr and swr instructions will load/store the data with opposite endianness.

Changelog

2014-02-10  Nagaraju Mekala <nagaraju.mekala@xilinx.com>

 * gcc/config/microblaze/microblaze.md: Add movsi4_rev insn pattern.
 * gcc/config/microblaze/predicates.md: Add reg_or_mem_operand predicate.

From-SVN: r207683
parent ed8b71cc
2013-11-26 Nagaraju Mekala <nagaraju.mekala@xilinx.com> 2014-02-10 Nagaraju Mekala <nagaraju.mekala@xilinx.com>
* config/microblaze/microblaze.md: Add movsi4_rev insn pattern.
* config/microblaze/predicates.md: Add reg_or_mem_operand predicate.
2014-02-10 Nagaraju Mekala <nagaraju.mekala@xilinx.com>
* config/microblaze/microblaze.c: Extend mcpu version format * config/microblaze/microblaze.c: Extend mcpu version format
......
...@@ -1119,6 +1119,18 @@ ...@@ -1119,6 +1119,18 @@
} }
) )
;;Load and store reverse
(define_insn "movsi4_rev"
[(set (match_operand:SI 0 "reg_or_mem_operand" "=r,Q")
(bswap:SI (match_operand:SF 1 "reg_or_mem_operand" "Q,r")))]
"TARGET_REORDER"
"@
lwr\t%0,%y1,r0
swr\t%1,%y0,r0"
[(set_attr "type" "load,store")
(set_attr "mode" "SI")
(set_attr "length" "4,4")])
;; 32-bit floating point moves ;; 32-bit floating point moves
(define_expand "movsf" (define_expand "movsf"
......
...@@ -85,6 +85,10 @@ ...@@ -85,6 +85,10 @@
(ior (match_operand 0 "const_0_operand") (ior (match_operand 0 "const_0_operand")
(match_operand 0 "register_operand"))) (match_operand 0 "register_operand")))
(define_predicate "reg_or_mem_operand"
(ior (match_operand 0 "memory_operand")
(match_operand 0 "register_operand")))
;; Return if the operand is either the PC or a label_ref. ;; Return if the operand is either the PC or a label_ref.
(define_special_predicate "pc_or_label_operand" (define_special_predicate "pc_or_label_operand"
(ior (match_code "pc,label_ref") (ior (match_code "pc,label_ref")
......
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