aboutsummaryrefslogtreecommitdiff
path: root/test/CodeGen/X86/avx-sext.ll
diff options
context:
space:
mode:
authorNadav Rotem <nrotem@apple.com>2013-03-19 18:38:27 +0000
committerNadav Rotem <nrotem@apple.com>2013-03-19 18:38:27 +0000
commitb05130e1b20ed17ae9d5ab3351933babd27213e1 (patch)
tree0919c8c78dc13adfff0fe2dd5742f9b39e78f652 /test/CodeGen/X86/avx-sext.ll
parenta45a22758de20f519385a8060e3e7d504deab3da (diff)
Optimize sext <4 x i8> and <4 x i16> to <4 x i64>.
Patch by Ahmad, Muhammad T <muhammad.t.ahmad@intel.com> git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@177421 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/CodeGen/X86/avx-sext.ll')
-rwxr-xr-xtest/CodeGen/X86/avx-sext.ll21
1 files changed, 21 insertions, 0 deletions
diff --git a/test/CodeGen/X86/avx-sext.ll b/test/CodeGen/X86/avx-sext.ll
index 7ae0d36c08..b9c7000510 100755
--- a/test/CodeGen/X86/avx-sext.ll
+++ b/test/CodeGen/X86/avx-sext.ll
@@ -165,3 +165,24 @@ define <4 x i64> @sext_4i8_to_4i64(<4 x i8> %mask) {
ret <4 x i64> %extmask
}
+; AVX: sext_4i8_to_4i64
+; AVX: vpmovsxbd
+; AVX: vpmovsxdq
+; AVX: vpmovsxdq
+; AVX: ret
+define <4 x i64> @load_sext_4i8_to_4i64(<4 x i8> *%ptr) {
+ %X = load <4 x i8>* %ptr
+ %Y = sext <4 x i8> %X to <4 x i64>
+ ret <4 x i64>%Y
+}
+
+; AVX: sext_4i16_to_4i64
+; AVX: vpmovsxwd
+; AVX: vpmovsxdq
+; AVX: vpmovsxdq
+; AVX: ret
+define <4 x i64> @load_sext_4i16_to_4i64(<4 x i16> *%ptr) {
+ %X = load <4 x i16>* %ptr
+ %Y = sext <4 x i16> %X to <4 x i64>
+ ret <4 x i64>%Y
+}