diff options
author | Richard Guenther <rguenther@suse.de> | 2010-04-09 10:41:37 +0000 |
---|---|---|
committer | Richard Biener <rguenth@gcc.gnu.org> | 2010-04-09 10:41:37 +0000 |
commit | 3f2060fd386c382197ec67f0c64eebdf44c79cf4 (patch) | |
tree | 797973450c5b52c26a7b2f2baf6278c2aa64d85d | |
parent | b690cc0f331d0f63e2de4f0aa2e3883444cfead2 (diff) | |
download | gcc-3f2060fd386c382197ec67f0c64eebdf44c79cf4.zip gcc-3f2060fd386c382197ec67f0c64eebdf44c79cf4.tar.gz gcc-3f2060fd386c382197ec67f0c64eebdf44c79cf4.tar.bz2 |
re PR target/43152 (vcond<> not supported for AVX float modes)
2010-04-09 Richard Guenther <rguenther@suse.de>
PR target/43152
* config/i386/sse.md (vcond<mode>): Handle AVX modes as well.
From-SVN: r158158
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/config/i386/sse.md | 15 |
2 files changed, 13 insertions, 7 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index bdf0c58..0db0161 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,10 @@ 2010-04-09 Richard Guenther <rguenther@suse.de> + PR target/43152 + * config/i386/sse.md (vcond<mode>): Handle AVX modes as well. + +2010-04-09 Richard Guenther <rguenther@suse.de> + * tree-vectorizer.h (struct _stmt_vec_info): Document that vectype is the type of the LHS. (supportable_widening_operation, supportable_narrowing_operation): diff --git a/gcc/config/i386/sse.md b/gcc/config/i386/sse.md index 671dcd4..f989136 100644 --- a/gcc/config/i386/sse.md +++ b/gcc/config/i386/sse.md @@ -1538,14 +1538,15 @@ (set_attr "mode" "<MODE>")]) (define_expand "vcond<mode>" - [(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>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>mode) + || AVX_VEC_FLOAT_MODE_P (<MODE>mode))" { bool ok = ix86_expand_fp_vcond (operands); gcc_assert (ok); |