summaryrefslogtreecommitdiffstats
path: root/llvm/test/CodeGen/X86/stack-folding-int-avx1.ll
diff options
context:
space:
mode:
authorSimon Pilgrim <llvm-dev@redking.me.uk>2015-02-07 21:20:11 +0000
committerSimon Pilgrim <llvm-dev@redking.me.uk>2015-02-07 21:20:11 +0000
commitcbc3b2fdc28228064a858df381812badd7833c5b (patch)
tree790bdd17008eda3fd1af00e9d1015d49fcd75c19 /llvm/test/CodeGen/X86/stack-folding-int-avx1.ll
parent3880bee0ff044e2ddd7790c45a919436123830f8 (diff)
downloadbcm5719-llvm-cbc3b2fdc28228064a858df381812badd7833c5b.tar.gz
bcm5719-llvm-cbc3b2fdc28228064a858df381812badd7833c5b.zip
[X86][SSE] Added missing stack folding tests for (v)mpsadbw instruction
llvm-svn: 228506
Diffstat (limited to 'llvm/test/CodeGen/X86/stack-folding-int-avx1.ll')
-rw-r--r--llvm/test/CodeGen/X86/stack-folding-int-avx1.ll9
1 files changed, 9 insertions, 0 deletions
diff --git a/llvm/test/CodeGen/X86/stack-folding-int-avx1.ll b/llvm/test/CodeGen/X86/stack-folding-int-avx1.ll
index 6e32d8007fb..3880ce0ee6b 100644
--- a/llvm/test/CodeGen/X86/stack-folding-int-avx1.ll
+++ b/llvm/test/CodeGen/X86/stack-folding-int-avx1.ll
@@ -94,6 +94,15 @@ define i64 @stack_fold_movq_store(<2 x i64> %a0) {
ret i64 %1
}
+define <8 x i16> @stack_fold_mpsadbw(<16 x i8> %a0, <16 x i8> %a1) {
+ ;CHECK-LABEL: stack_fold_mpsadbw
+ ;CHECK: vmpsadbw $7, {{-?[0-9]*}}(%rsp), {{%xmm[0-9][0-9]*}}, {{%xmm[0-9][0-9]*}} {{.*#+}} 16-byte Folded Reload
+ %1 = tail call <2 x i64> asm sideeffect "nop", "=x,~{xmm2},~{xmm3},~{xmm4},~{xmm5},~{xmm6},~{xmm7},~{xmm8},~{xmm9},~{xmm10},~{xmm11},~{xmm12},~{xmm13},~{xmm14},~{xmm15},~{flags}"()
+ %2 = call <8 x i16> @llvm.x86.sse41.mpsadbw(<16 x i8> %a0, <16 x i8> %a1, i8 7)
+ ret <8 x i16> %2
+}
+declare <8 x i16> @llvm.x86.sse41.mpsadbw(<16 x i8>, <16 x i8>, i8) nounwind readnone
+
define <16 x i8> @stack_fold_pabsb(<16 x i8> %a0) {
;CHECK-LABEL: stack_fold_pabsb
;CHECK: vpabsb {{-?[0-9]*}}(%rsp), {{%xmm[0-9][0-9]*}} {{.*#+}} 16-byte Folded Reload
OpenPOWER on IntegriCloud