Request for reviews (M): 7199010: incorrect vector alignment (original) (raw)
Christian Thalinger christian.thalinger at oracle.com
Wed Sep 19 11:27:52 PDT 2012
- Previous message: Request for reviews (M): 7199010: incorrect vector alignment
- Next message: Request for reviews (M): 7199010: incorrect vector alignment
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Looks good. -- Chris
On Sep 18, 2012, at 6:21 PM, Vladimir Kozlov <vladimir.kozlov at oracle.com> wrote:
http://cr.openjdk.java.net/~kvn/7199010/webrev
Vector memory operations could be misaligned when accesses to arrays of different types are vectorized in one loop. It leads to hw trap on SPARC and slow performance on old x86 (with slow unaligned memory instructions). It was caused by 2 main reasons: using ivadjustmentinbytes instead of ivadjustment (number of iterations) and typo in samevelttype(). Fixes: Used ivadjustment as number of iterations in pre-loop to calculate correct offset in SuperWord::memoryalignment() method. Fixed typo in SuperWord::samevelttype(). Allowed misaligned memory operations for vectors only on x86 which have fast misaligned memory instructions. I also did some code style clean up there. Note, the flag AlignVector is used in x64.ad file: const bool Matcher::misalignedvectorsok() { return !AlignVector; } Excluded LoadUI2L node from vector operations because it reports incorrect memory size. Thanks, Vladimir
- Previous message: Request for reviews (M): 7199010: incorrect vector alignment
- Next message: Request for reviews (M): 7199010: incorrect vector alignment
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the hotspot-compiler-dev mailing list