From 659c0e684c883ab1ac7a5e8eb42c14bee47b3b4c Mon Sep 17 00:00:00 2001 From: Joseph Myers Date: Tue, 6 May 2014 21:35:15 +0100 Subject: * config/i386/sse.md (*mov_internal) (*_loadu) (*_loaddqu) (_andnot3, 3, *andnot3) (*3, *andnot3) (3): Only consider TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL for modes of size 16. From-SVN: r210124 --- gcc/ChangeLog | 10 ++++++++++ gcc/config/i386/sse.md | 33 ++++++++++++++++++++------------- 2 files changed, 30 insertions(+), 13 deletions(-) (limited to 'gcc') diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 00b1e5a..a0526f2 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,13 @@ +2014-05-06 Joseph Myers + + * config/i386/sse.md (*mov_internal) + (*_loadu) + (*_loaddqu) + (_andnot3, 3, *andnot3) + (*3, *andnot3) + (3): Only consider + TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL for modes of size 16. + 2014-05-06 Richard Sandiford Revert: diff --git a/gcc/config/i386/sse.md b/gcc/config/i386/sse.md index 72a4d6d..c91626b 100644 --- a/gcc/config/i386/sse.md +++ b/gcc/config/i386/sse.md @@ -758,11 +758,10 @@ [(set_attr "type" "sselog1,ssemov,ssemov") (set_attr "prefix" "maybe_vex") (set (attr "mode") - (cond [(match_test "TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL") - (const_string "") - (and (match_test " == 16") - (and (eq_attr "alternative" "2") - (match_test "TARGET_SSE_TYPELESS_STORES"))) + (cond [(and (match_test " == 16") + (ior (match_test "TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL") + (and (eq_attr "alternative" "2") + (match_test "TARGET_SSE_TYPELESS_STORES")))) (const_string "") (match_test "TARGET_AVX") (const_string "") @@ -967,7 +966,8 @@ (set_attr "ssememalign" "8") (set_attr "prefix" "maybe_vex") (set (attr "mode") - (cond [(match_test "TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL") + (cond [(and (match_test " == 16") + (match_test "TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL")) (const_string "") (match_test "TARGET_AVX") (const_string "") @@ -1089,7 +1089,8 @@ (const_string "1"))) (set_attr "prefix" "maybe_vex") (set (attr "mode") - (cond [(match_test "TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL") + (cond [(and (match_test " == 16") + (match_test "TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL")) (const_string "") (match_test "TARGET_AVX") (const_string "") @@ -2377,7 +2378,8 @@ (set_attr "type" "sselog") (set_attr "prefix" "orig,maybe_evex") (set (attr "mode") - (cond [(match_test "TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL") + (cond [(and (match_test " == 16") + (match_test "TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL")) (const_string "") (match_test "TARGET_AVX") (const_string "") @@ -2449,7 +2451,8 @@ (set_attr "type" "sselog") (set_attr "prefix" "orig,maybe_evex") (set (attr "mode") - (cond [(match_test "TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL") + (cond [(and (match_test " == 16") + (match_test "TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL")) (const_string "") (match_test "TARGET_AVX") (const_string "") @@ -2513,7 +2516,8 @@ (set_attr "type" "sselog") (set_attr "prefix" "orig,vex") (set (attr "mode") - (cond [(match_test "TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL") + (cond [(and (match_test " == 16") + (match_test "TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL")) (const_string "V4SF") (match_test "TARGET_AVX") (const_string "") @@ -2600,7 +2604,8 @@ (set_attr "type" "sselog") (set_attr "prefix" "orig,vex") (set (attr "mode") - (cond [(match_test "TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL") + (cond [(and (match_test " == 16") + (match_test "TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL")) (const_string "V4SF") (match_test "TARGET_AVX") (const_string "") @@ -9047,7 +9052,8 @@ (const_string "*"))) (set_attr "prefix" "") (set (attr "mode") - (cond [(match_test "TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL") + (cond [(and (match_test " == 16") + (match_test "TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL")) (const_string "") (match_test "TARGET_AVX2") (const_string "") @@ -9140,7 +9146,8 @@ (const_string "*"))) (set_attr "prefix" "") (set (attr "mode") - (cond [(match_test "TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL") + (cond [(and (match_test " == 16") + (match_test "TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL")) (const_string "") (match_test "TARGET_AVX2") (const_string "") -- cgit v1.1