Commit 659c0e68 by Joseph Myers Committed by Joseph Myers

* config/i386/sse.md (*mov<mode>_internal)

	(*<sse>_loadu<ssemodesuffix><avxsizesuffix><mask_name>)
	(*<sse2_avx_avx512f>_loaddqu<mode><mask_name>)
	(<sse>_andnot<mode>3, <code><mode>3, *andnot<mode>3)
	(*<code><mode>3, *andnot<mode>3<mask_name>)
	(<mask_codefor><code><mode>3<mask_name>): Only consider
	TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL for modes of size 16.

From-SVN: r210124
parent 15ee1a77
2014-05-06 Joseph Myers <joseph@codesourcery.com>
* config/i386/sse.md (*mov<mode>_internal)
(*<sse>_loadu<ssemodesuffix><avxsizesuffix><mask_name>)
(*<sse2_avx_avx512f>_loaddqu<mode><mask_name>)
(<sse>_andnot<mode>3, <code><mode>3, *andnot<mode>3)
(*<code><mode>3, *andnot<mode>3<mask_name>)
(<mask_codefor><code><mode>3<mask_name>): Only consider
TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL for modes of size 16.
2014-05-06 Richard Sandiford <rdsandiford@googlemail.com> 2014-05-06 Richard Sandiford <rdsandiford@googlemail.com>
Revert: Revert:
......
...@@ -758,11 +758,10 @@ ...@@ -758,11 +758,10 @@
[(set_attr "type" "sselog1,ssemov,ssemov") [(set_attr "type" "sselog1,ssemov,ssemov")
(set_attr "prefix" "maybe_vex") (set_attr "prefix" "maybe_vex")
(set (attr "mode") (set (attr "mode")
(cond [(match_test "TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL") (cond [(and (match_test "<MODE_SIZE> == 16")
(const_string "<ssePSmode>") (ior (match_test "TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL")
(and (match_test "<MODE_SIZE> == 16")
(and (eq_attr "alternative" "2") (and (eq_attr "alternative" "2")
(match_test "TARGET_SSE_TYPELESS_STORES"))) (match_test "TARGET_SSE_TYPELESS_STORES"))))
(const_string "<ssePSmode>") (const_string "<ssePSmode>")
(match_test "TARGET_AVX") (match_test "TARGET_AVX")
(const_string "<sseinsnmode>") (const_string "<sseinsnmode>")
...@@ -967,7 +966,8 @@ ...@@ -967,7 +966,8 @@
(set_attr "ssememalign" "8") (set_attr "ssememalign" "8")
(set_attr "prefix" "maybe_vex") (set_attr "prefix" "maybe_vex")
(set (attr "mode") (set (attr "mode")
(cond [(match_test "TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL") (cond [(and (match_test "<MODE_SIZE> == 16")
(match_test "TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL"))
(const_string "<ssePSmode>") (const_string "<ssePSmode>")
(match_test "TARGET_AVX") (match_test "TARGET_AVX")
(const_string "<MODE>") (const_string "<MODE>")
...@@ -1089,7 +1089,8 @@ ...@@ -1089,7 +1089,8 @@
(const_string "1"))) (const_string "1")))
(set_attr "prefix" "maybe_vex") (set_attr "prefix" "maybe_vex")
(set (attr "mode") (set (attr "mode")
(cond [(match_test "TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL") (cond [(and (match_test "<MODE_SIZE> == 16")
(match_test "TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL"))
(const_string "<ssePSmode>") (const_string "<ssePSmode>")
(match_test "TARGET_AVX") (match_test "TARGET_AVX")
(const_string "<sseinsnmode>") (const_string "<sseinsnmode>")
...@@ -2377,7 +2378,8 @@ ...@@ -2377,7 +2378,8 @@
(set_attr "type" "sselog") (set_attr "type" "sselog")
(set_attr "prefix" "orig,maybe_evex") (set_attr "prefix" "orig,maybe_evex")
(set (attr "mode") (set (attr "mode")
(cond [(match_test "TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL") (cond [(and (match_test "<MODE_SIZE> == 16")
(match_test "TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL"))
(const_string "<ssePSmode>") (const_string "<ssePSmode>")
(match_test "TARGET_AVX") (match_test "TARGET_AVX")
(const_string "<MODE>") (const_string "<MODE>")
...@@ -2449,7 +2451,8 @@ ...@@ -2449,7 +2451,8 @@
(set_attr "type" "sselog") (set_attr "type" "sselog")
(set_attr "prefix" "orig,maybe_evex") (set_attr "prefix" "orig,maybe_evex")
(set (attr "mode") (set (attr "mode")
(cond [(match_test "TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL") (cond [(and (match_test "<MODE_SIZE> == 16")
(match_test "TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL"))
(const_string "<ssePSmode>") (const_string "<ssePSmode>")
(match_test "TARGET_AVX") (match_test "TARGET_AVX")
(const_string "<MODE>") (const_string "<MODE>")
...@@ -2513,7 +2516,8 @@ ...@@ -2513,7 +2516,8 @@
(set_attr "type" "sselog") (set_attr "type" "sselog")
(set_attr "prefix" "orig,vex") (set_attr "prefix" "orig,vex")
(set (attr "mode") (set (attr "mode")
(cond [(match_test "TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL") (cond [(and (match_test "<MODE_SIZE> == 16")
(match_test "TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL"))
(const_string "V4SF") (const_string "V4SF")
(match_test "TARGET_AVX") (match_test "TARGET_AVX")
(const_string "<ssevecmode>") (const_string "<ssevecmode>")
...@@ -2600,7 +2604,8 @@ ...@@ -2600,7 +2604,8 @@
(set_attr "type" "sselog") (set_attr "type" "sselog")
(set_attr "prefix" "orig,vex") (set_attr "prefix" "orig,vex")
(set (attr "mode") (set (attr "mode")
(cond [(match_test "TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL") (cond [(and (match_test "<MODE_SIZE> == 16")
(match_test "TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL"))
(const_string "V4SF") (const_string "V4SF")
(match_test "TARGET_AVX") (match_test "TARGET_AVX")
(const_string "<ssevecmode>") (const_string "<ssevecmode>")
...@@ -9047,7 +9052,8 @@ ...@@ -9047,7 +9052,8 @@
(const_string "*"))) (const_string "*")))
(set_attr "prefix" "<mask_prefix3>") (set_attr "prefix" "<mask_prefix3>")
(set (attr "mode") (set (attr "mode")
(cond [(match_test "TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL") (cond [(and (match_test "<MODE_SIZE> == 16")
(match_test "TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL"))
(const_string "<ssePSmode>") (const_string "<ssePSmode>")
(match_test "TARGET_AVX2") (match_test "TARGET_AVX2")
(const_string "<sseinsnmode>") (const_string "<sseinsnmode>")
...@@ -9140,7 +9146,8 @@ ...@@ -9140,7 +9146,8 @@
(const_string "*"))) (const_string "*")))
(set_attr "prefix" "<mask_prefix3>") (set_attr "prefix" "<mask_prefix3>")
(set (attr "mode") (set (attr "mode")
(cond [(match_test "TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL") (cond [(and (match_test "<MODE_SIZE> == 16")
(match_test "TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL"))
(const_string "<ssePSmode>") (const_string "<ssePSmode>")
(match_test "TARGET_AVX2") (match_test "TARGET_AVX2")
(const_string "<sseinsnmode>") (const_string "<sseinsnmode>")
......
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