diff options
author | 2007-07-18 20:23:34 +0000 | |
---|---|---|
committer | 2007-07-18 20:23:34 +0000 | |
commit | 776962a97a840b87efa1fe8812cffe66b59ae292 (patch) | |
tree | 667de766b23d35585861e58b9be444d5d825f250 /llvm/test/CodeGen/X86/sse-align-3.ll | |
parent | Fix an issue where assignments that caused a SmallPtrSet to become non-small (diff) | |
download | llvm-project-776962a97a840b87efa1fe8812cffe66b59ae292.tar.gz llvm-project-776962a97a840b87efa1fe8812cffe66b59ae292.tar.bz2 llvm-project-776962a97a840b87efa1fe8812cffe66b59ae292.zip |
Implement initial memory alignment awareness for SSE instructions. Vector loads
and stores that have a specified alignment of less than 16 bytes now use
instructions that support misaligned memory references.
llvm-svn: 40015
Diffstat (limited to 'llvm/test/CodeGen/X86/sse-align-3.ll')
-rw-r--r-- | llvm/test/CodeGen/X86/sse-align-3.ll | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/llvm/test/CodeGen/X86/sse-align-3.ll b/llvm/test/CodeGen/X86/sse-align-3.ll new file mode 100644 index 000000000000..6f96bba69e41 --- /dev/null +++ b/llvm/test/CodeGen/X86/sse-align-3.ll @@ -0,0 +1,12 @@ +; RUN: llvm-as < %s | llc -march=x86-64 | grep movap | wc -l | grep 2 + +define void @foo(<4 x float>* %p, <4 x float> %x) +{ + store <4 x float> %x, <4 x float>* %p + ret void +} +define void @bar(<2 x double>* %p, <2 x double> %x) +{ + store <2 x double> %x, <2 x double>* %p + ret void +} |