diff options
Diffstat (limited to 'gcc')
-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); |