From: Richard Guenther Date: Fri, 9 Apr 2010 10:41:37 +0000 (+0000) Subject: re PR target/43152 (vcond<> not supported for AVX float modes) X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=3f2060fd386c382197ec67f0c64eebdf44c79cf4;p=gcc.git re PR target/43152 (vcond<> not supported for AVX float modes) 2010-04-09 Richard Guenther PR target/43152 * config/i386/sse.md (vcond): Handle AVX modes as well. From-SVN: r158158 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index bdf0c5839ec..0db0161d598 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2010-04-09 Richard Guenther + + PR target/43152 + * config/i386/sse.md (vcond): Handle AVX modes as well. + 2010-04-09 Richard Guenther * tree-vectorizer.h (struct _stmt_vec_info): Document diff --git a/gcc/config/i386/sse.md b/gcc/config/i386/sse.md index 671dcd47371..f98913697b1 100644 --- a/gcc/config/i386/sse.md +++ b/gcc/config/i386/sse.md @@ -1538,14 +1538,15 @@ (set_attr "mode" "")]) (define_expand "vcond" - [(set (match_operand:SSEMODEF2P 0 "register_operand" "") - (if_then_else:SSEMODEF2P + [(set (match_operand:AVXMODEF2P 0 "register_operand" "") + (if_then_else:AVXMODEF2P (match_operator 3 "" - [(match_operand:SSEMODEF2P 4 "nonimmediate_operand" "") - (match_operand:SSEMODEF2P 5 "nonimmediate_operand" "")]) - (match_operand:SSEMODEF2P 1 "general_operand" "") - (match_operand:SSEMODEF2P 2 "general_operand" "")))] - "SSE_VEC_FLOAT_MODE_P (mode)" + [(match_operand:AVXMODEF2P 4 "nonimmediate_operand" "") + (match_operand:AVXMODEF2P 5 "nonimmediate_operand" "")]) + (match_operand:AVXMODEF2P 1 "general_operand" "") + (match_operand:AVXMODEF2P 2 "general_operand" "")))] + "(SSE_VEC_FLOAT_MODE_P (mode) + || AVX_VEC_FLOAT_MODE_P (mode))" { bool ok = ix86_expand_fp_vcond (operands); gcc_assert (ok);