summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
diff options
context:
space:
mode:
authorElena Demikhovsky <elena.demikhovsky@intel.com>2012-09-04 12:49:02 +0000
committerElena Demikhovsky <elena.demikhovsky@intel.com>2012-09-04 12:49:02 +0000
commitcbe99bbb36b1baa3986d92c2633d5cd08fda67a1 (patch)
treedf9e06fd65438b297f0d77fd5165d0b82eb7ec5b /llvm/lib/Bitcode/Reader/BitcodeReader.cpp
parent0342b473b1b54646832b58b8ce63f5496166951d (diff)
downloadbcm5719-llvm-cbe99bbb36b1baa3986d92c2633d5cd08fda67a1.tar.gz
bcm5719-llvm-cbe99bbb36b1baa3986d92c2633d5cd08fda67a1.zip
This patch optimizes shuffle instruction - generates 2 instructions instead of 4.
Since this specific shuffle is widely used in many workloads we have ~10% performance on them. shufflevector <8 x float> %A, <8 x float> %B, <8 x i32> <i32 0, i32 8, i32 2, i32 10, i32 4, i32 12, i32 6, i32 14> vmovaps (%rdx), %ymm0 vshufps $8, %ymm0, %ymm0, %ymm0 vmovaps (%rcx), %ymm1 vshufps $8, %ymm0, %ymm1, %ymm1 vunpcklps %ymm0, %ymm1, %ymm0 vmovaps (%rcx), %ymm0 vmovsldup (%rdx), %ymm1 vblendps $85, %ymm0, %ymm1, %ymm0 llvm-svn: 163134
Diffstat (limited to 'llvm/lib/Bitcode/Reader/BitcodeReader.cpp')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud