summaryrefslogtreecommitdiffstats
path: root/llvm/test/CodeGen/X86/avx-shift.ll
diff options
context:
space:
mode:
authorBenjamin Kramer <benny.kra@googlemail.com>2013-02-04 15:19:33 +0000
committerBenjamin Kramer <benny.kra@googlemail.com>2013-02-04 15:19:33 +0000
commit2c9da989c20aacc523b8751ca45a11f4f24f8d54 (patch)
tree270c2a37c402a15b718d229d2f7e5e40648c096f /llvm/test/CodeGen/X86/avx-shift.ll
parent0611298446763222cb555d89aefe9f42cba0f683 (diff)
downloadbcm5719-llvm-2c9da989c20aacc523b8751ca45a11f4f24f8d54.tar.gz
bcm5719-llvm-2c9da989c20aacc523b8751ca45a11f4f24f8d54.zip
X86: Open up some opportunities for constant folding by postponing shift lowering.
Fixes PR15141. llvm-svn: 174327
Diffstat (limited to 'llvm/test/CodeGen/X86/avx-shift.ll')
-rw-r--r--llvm/test/CodeGen/X86/avx-shift.ll10
1 files changed, 10 insertions, 0 deletions
diff --git a/llvm/test/CodeGen/X86/avx-shift.ll b/llvm/test/CodeGen/X86/avx-shift.ll
index 681747b844a..b0bff454c18 100644
--- a/llvm/test/CodeGen/X86/avx-shift.ll
+++ b/llvm/test/CodeGen/X86/avx-shift.ll
@@ -112,6 +112,16 @@ define <8 x i32> @vshift08(<8 x i32> %a) nounwind {
ret <8 x i32> %bitop
}
+; PR15141
+; CHECK: _vshift13:
+; CHECK-NOT: vpsll
+; CHECK: vcvttps2dq
+; CHECK-NEXT: vpmulld
+define <4 x i32> @vshift13(<4 x i32> %in) {
+ %T = shl <4 x i32> %in, <i32 0, i32 1, i32 2, i32 4>
+ ret <4 x i32> %T
+}
+
;;; Uses shifts for sign extension
; CHECK: _sext_v16i16
; CHECK: vpsllw
OpenPOWER on IntegriCloud