DescriptionPNaCl SIMD: allow element-aligned vector load/store
PNaCl currently breaks up vector load/store instructions into the corresponding
sub-elements of the vector using {insert/extract}element followed by scalar
load/store. This was originally done so that version 0 of PNaCl SIMD wouldn't
have to bother with vector load/store (especially their alignment), punting all
complexity to existing scalar instructions. This is very suboptimal
performance-wise, and re-creating the vector load/store on the translator side
isn't a trivial matter and has several caveats.
Add support for vector load/store, aligned to their element size, in PNaCl's
ABI.
R=jvoung@chromium.org
TEST= (cd ./toolchain_build/out/llvm_i686_linux_work/ && ninja check)
BUG= https://code.google.com/p/nativeclient/issues/detail?id=3870
Committed: https://gerrit.chromium.org/gerrit/gitweb?p=native_client/pnacl-llvm.git;a=commit;h=6cd52ee
Patch Set 1 #Patch Set 2 : A few fixes. #Patch Set 3 : Fix vector load/store alignment. #Patch Set 4 : Rebase. #
Total comments: 10
Patch Set 5 : Address jvoung's comments. #Patch Set 6 : Don't normalize vector alignment in StripAttributes. #Patch Set 7 : Add alloca test. #
Total comments: 1
Patch Set 8 : s/,/./ #
Messages
Total messages: 7 (0 generated)
|