Commit 661b4dd0 by Jakub Jelinek Committed by Jakub Jelinek

sse.md (sse_storehps, [...]): Require in condition that at least one operand is not a MEM.

	* config/i386/sse.md (sse_storehps, sse_storelps,
	avx_<castmode><avxsizesuffix>_<castmode>,
	avx512f_<castmode><avxsizesuffix>_<castmode>,
	avx512f_<castmode><avxsizesuffix>_256<castmode>): Require
	in condition that at least one operand is not a MEM.

From-SVN: r245904
parent f620e1d5
2017-03-05 Jakub Jelinek <jakub@redhat.com>
* config/i386/sse.md (sse_storehps, sse_storelps,
avx_<castmode><avxsizesuffix>_<castmode>,
avx512f_<castmode><avxsizesuffix>_<castmode>,
avx512f_<castmode><avxsizesuffix>_256<castmode>): Require
in condition that at least one operand is not a MEM.
2017-03-03 Jakub Jelinek <jakub@redhat.com> 2017-03-03 Jakub Jelinek <jakub@redhat.com>
PR middle-end/79805 PR middle-end/79805
......
...@@ -6639,7 +6639,7 @@ ...@@ -6639,7 +6639,7 @@
(vec_select:V2SF (vec_select:V2SF
(match_operand:V4SF 1 "nonimmediate_operand" "v,v,o") (match_operand:V4SF 1 "nonimmediate_operand" "v,v,o")
(parallel [(const_int 2) (const_int 3)])))] (parallel [(const_int 2) (const_int 3)])))]
"TARGET_SSE" "TARGET_SSE && !(MEM_P (operands[0]) && MEM_P (operands[1]))"
"@ "@
%vmovhps\t{%1, %0|%q0, %1} %vmovhps\t{%1, %0|%q0, %1}
%vmovhlps\t{%1, %d0|%d0, %1} %vmovhlps\t{%1, %d0|%d0, %1}
...@@ -6692,7 +6692,7 @@ ...@@ -6692,7 +6692,7 @@
(vec_select:V2SF (vec_select:V2SF
(match_operand:V4SF 1 "nonimmediate_operand" " v,v,m") (match_operand:V4SF 1 "nonimmediate_operand" " v,v,m")
(parallel [(const_int 0) (const_int 1)])))] (parallel [(const_int 0) (const_int 1)])))]
"TARGET_SSE" "TARGET_SSE && !(MEM_P (operands[0]) && MEM_P (operands[1]))"
"@ "@
%vmovlps\t{%1, %0|%q0, %1} %vmovlps\t{%1, %0|%q0, %1}
%vmovaps\t{%1, %0|%0, %1} %vmovaps\t{%1, %0|%0, %1}
...@@ -18592,7 +18592,7 @@ ...@@ -18592,7 +18592,7 @@
(unspec:AVX256MODE2P (unspec:AVX256MODE2P
[(match_operand:<ssehalfvecmode> 1 "nonimmediate_operand" "xm,x")] [(match_operand:<ssehalfvecmode> 1 "nonimmediate_operand" "xm,x")]
UNSPEC_CAST))] UNSPEC_CAST))]
"TARGET_AVX" "TARGET_AVX && !(MEM_P (operands[0]) && MEM_P (operands[1]))"
"#" "#"
"&& reload_completed" "&& reload_completed"
[(set (match_dup 0) (match_dup 1))] [(set (match_dup 0) (match_dup 1))]
...@@ -19506,7 +19506,7 @@ ...@@ -19506,7 +19506,7 @@
(unspec:AVX512MODE2P (unspec:AVX512MODE2P
[(match_operand:<ssequartermode> 1 "nonimmediate_operand" "xm,x")] [(match_operand:<ssequartermode> 1 "nonimmediate_operand" "xm,x")]
UNSPEC_CAST))] UNSPEC_CAST))]
"TARGET_AVX512F" "TARGET_AVX512F && !(MEM_P (operands[0]) && MEM_P (operands[1]))"
"#" "#"
"&& reload_completed" "&& reload_completed"
[(set (match_dup 0) (match_dup 1))] [(set (match_dup 0) (match_dup 1))]
...@@ -19523,7 +19523,7 @@ ...@@ -19523,7 +19523,7 @@
(unspec:AVX512MODE2P (unspec:AVX512MODE2P
[(match_operand:<ssehalfvecmode> 1 "nonimmediate_operand" "xm,x")] [(match_operand:<ssehalfvecmode> 1 "nonimmediate_operand" "xm,x")]
UNSPEC_CAST))] UNSPEC_CAST))]
"TARGET_AVX512F" "TARGET_AVX512F && !(MEM_P (operands[0]) && MEM_P (operands[1]))"
"#" "#"
"&& reload_completed" "&& reload_completed"
[(set (match_dup 0) (match_dup 1))] [(set (match_dup 0) (match_dup 1))]
......
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