diff options
author | Uros Bizjak <ubizjak@gmail.com> | 2007-09-30 14:45:32 +0200 |
---|---|---|
committer | Uros Bizjak <uros@gcc.gnu.org> | 2007-09-30 14:45:32 +0200 |
commit | 94a73152cc79020dbcb1f6874bdd0661c2a4a30b (patch) | |
tree | 73e0fba4c2a3214d2d3cb31d5f41dbc16fee3a08 /gcc/tree-vect-analyze.c | |
parent | dc472c59a52d068c37cb0c14e94564da8729f232 (diff) | |
download | gcc-94a73152cc79020dbcb1f6874bdd0661c2a4a30b.zip gcc-94a73152cc79020dbcb1f6874bdd0661c2a4a30b.tar.gz gcc-94a73152cc79020dbcb1f6874bdd0661c2a4a30b.tar.bz2 |
re PR tree-optimization/33597 (Internal compiler error while compiling libswscale from ffmpeg)
PR tree-optimization/33597
* tree-vect-analyze.c (vect_build_slp_tree): Check if optab handler
for LSHIFT_EXPR and RSHIFT_EXPR is available for vec_mode.
testsuite/ChangeLog:
PR tree-optimization/33597
* gcc.dg/vect/pr33597.c: New testcase.
From-SVN: r128891
Diffstat (limited to 'gcc/tree-vect-analyze.c')
-rw-r--r-- | gcc/tree-vect-analyze.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/gcc/tree-vect-analyze.c b/gcc/tree-vect-analyze.c index 86ca6b6..92ef5be 100644 --- a/gcc/tree-vect-analyze.c +++ b/gcc/tree-vect-analyze.c @@ -2696,6 +2696,13 @@ vect_build_slp_tree (loop_vec_info loop_vinfo, slp_tree *node, return false; } icode = (int) optab->handlers[(int) vec_mode].insn_code; + if (icode == CODE_FOR_nothing) + { + if (vect_print_dump_info (REPORT_SLP)) + fprintf (vect_dump, + "Build SLP failed: op not supported by target."); + return false; + } optab_op2_mode = insn_data[icode].operand[2].mode; if (!VECTOR_MODE_P (optab_op2_mode)) { |