summaryrefslogtreecommitdiffstats
path: root/llvm/tools/llvm-cfi-verify/llvm-cfi-verify.cpp
diff options
context:
space:
mode:
authorGuozhi Wei <carrot@google.com>2017-11-06 19:09:38 +0000
committerGuozhi Wei <carrot@google.com>2017-11-06 19:09:38 +0000
commite3b8d9a312bf5eb02808763a4b265c4a77952e25 (patch)
treeb1807a55414ec593f4c60abac1cd3169b407cd88 /llvm/tools/llvm-cfi-verify/llvm-cfi-verify.cpp
parent5ebf7a87f33992197add391b98db58a056c22faa (diff)
downloadbcm5719-llvm-e3b8d9a312bf5eb02808763a4b265c4a77952e25.tar.gz
bcm5719-llvm-e3b8d9a312bf5eb02808763a4b265c4a77952e25.zip
[PPC] Use xxbrd to speed up bswap64
Power doesn't have bswap instructions, so llvm generates following code sequence for bswap64. rotldi 5, 3, 16 rotldi 4, 3, 8 rotldi 9, 3, 24 rotldi 10, 3, 32 rotldi 11, 3, 48 rotldi 12, 3, 56 rldimi 4, 5, 8, 48 rldimi 4, 9, 16, 40 rldimi 4, 10, 24, 32 rldimi 4, 11, 40, 16 rldimi 4, 12, 48, 8 rldimi 4, 3, 56, 0 But Power9 has vector bswap instructions, they can also be used to speed up scalar bswap intrinsic. With this patch, bswap64 can be translated to: mtvsrdd 34, 3, 3 xxbrd 34, 34 mfvsrld 3, 34 Differential Revision: https://reviews.llvm.org/D39510 llvm-svn: 317499
Diffstat (limited to 'llvm/tools/llvm-cfi-verify/llvm-cfi-verify.cpp')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud