Summary: | Poppler 0.5.3 crashes with gcc-option -ftree-vectorize | ||
---|---|---|---|
Product: | poppler | Reporter: | Mathy Vanvoorden <matje> |
Component: | general | Assignee: | poppler-bugs <poppler-bugs> |
Status: | RESOLVED INVALID | QA Contact: | |
Severity: | normal | ||
Priority: | medium | ||
Version: | unspecified | ||
Hardware: | x86 (IA32) | ||
OS: | Linux (All) | ||
Whiteboard: | |||
i915 platform: | i915 features: |
Description
Mathy Vanvoorden
2006-07-26 00:30:40 UTC
After looking around a bit, it seems the problem is in the loop @ line 30. When compiling it with -ftree-vectorizer-verbose=5 I get: OutputDev.cc:30: note: Alignment of access forced using peeling. OutputDev.cc:30: note: Vectorizing an unaligned access. OutputDev.cc:30: note: LOOP VECTORIZED. OutputDev.cc:30: note: vectorized 1 loops in function. The problem seems to be that gcc can't detect if ctm is aligned properly (because it's a pointer) for vectorization so it just guesses. I tried to find a solution for this, but nothing really good turned up. The only viable work-around I found is to replace the loop with individual assignments to copy the array. Gcc-devs are currently working on implementing #pragma novector to disable vectorization for certain loops, but that isn't included yet. I guess that this is in more ways a gcc-bug then a poppler-bug. Is this still a problem? No answer, closing the bug |
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.