Commit d99dacc9 by Wilco Dijkstra Committed by James Greenhalgh

[PATCH][AArch64] Improve spill code - swap order in shl pattern

gcc/

	* config/aarch64/aarch64.md (aarch64_ashl_sisd_or_int_<mode>3):
	Place integer variant first.

From-SVN: r226247
parent 02bcdc56
2015-07-27 Wilco Dijkstra <wdijkstr@arm.com>
* config/aarch64/aarch64.md (aarch64_ashl_sisd_or_int_<mode>3):
Place integer variant first.
2015-07-27 Matthew Wahab <matthew.wahab@arm.com> 2015-07-27 Matthew Wahab <matthew.wahab@arm.com>
* config/arm/arm-arches.def: Add "armv6kz". Replace 6ZK with 6KZ * config/arm/arm-arches.def: Add "armv6kz". Replace 6ZK with 6KZ
......
...@@ -3523,17 +3523,17 @@ ...@@ -3523,17 +3523,17 @@
;; Logical left shift using SISD or Integer instruction ;; Logical left shift using SISD or Integer instruction
(define_insn "*aarch64_ashl_sisd_or_int_<mode>3" (define_insn "*aarch64_ashl_sisd_or_int_<mode>3"
[(set (match_operand:GPI 0 "register_operand" "=w,w,r") [(set (match_operand:GPI 0 "register_operand" "=r,w,w")
(ashift:GPI (ashift:GPI
(match_operand:GPI 1 "register_operand" "w,w,r") (match_operand:GPI 1 "register_operand" "r,w,w")
(match_operand:QI 2 "aarch64_reg_or_shift_imm_<mode>" "Us<cmode>,w,rUs<cmode>")))] (match_operand:QI 2 "aarch64_reg_or_shift_imm_<mode>" "rUs<cmode>,Us<cmode>,w")))]
"" ""
"@ "@
lsl\t%<w>0, %<w>1, %<w>2
shl\t%<rtn>0<vas>, %<rtn>1<vas>, %2 shl\t%<rtn>0<vas>, %<rtn>1<vas>, %2
ushl\t%<rtn>0<vas>, %<rtn>1<vas>, %<rtn>2<vas> ushl\t%<rtn>0<vas>, %<rtn>1<vas>, %<rtn>2<vas>"
lsl\t%<w>0, %<w>1, %<w>2" [(set_attr "simd" "no,yes,yes")
[(set_attr "simd" "yes,yes,no") (set_attr "type" "shift_reg,neon_shift_imm<q>, neon_shift_reg<q>")]
(set_attr "type" "neon_shift_imm<q>, neon_shift_reg<q>,shift_reg")]
) )
;; Logical right shift using SISD or Integer instruction ;; Logical right shift using SISD or Integer instruction
......
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