summaryrefslogtreecommitdiffstats
path: root/llvm/test/CodeGen/X86/avx.ll
diff options
context:
space:
mode:
authorChandler Carruth <chandlerc@gmail.com>2014-09-29 09:57:07 +0000
committerChandler Carruth <chandlerc@gmail.com>2014-09-29 09:57:07 +0000
commit6cbf43167bf33689e8b02920cde6758f8dba8d8d (patch)
tree3d84d1cfbea37efed53fd83ddf4d15e079e28b18 /llvm/test/CodeGen/X86/avx.ll
parent3f11c0d79c897e16f190df8ca397ec8c1daf0aaa (diff)
downloadbcm5719-llvm-6cbf43167bf33689e8b02920cde6758f8dba8d8d.tar.gz
bcm5719-llvm-6cbf43167bf33689e8b02920cde6758f8dba8d8d.zip
[x86] Make the new vector shuffle lowering lower blends as VSELECT
nodes, and rely exclusively on its logic. This removes a ton of duplication from the blend lowering and centralizes it in one place. One downside is that it requires a bunch of hacks to make this work with the current legalization framework. We have to manually speculate one aspect of legalizing VSELECT nodes to get everything to work nicely because the existing legalization framework isn't *actually* bottom-up. The other grossness is that we somewhat duplicate the analysis of constant blends. I'm on the fence here. If reviewers thing this would look better with VSELECT when it has constant operands dumping over tho VECTOR_SHUFFLE, we could go that way. But it would be a substantial change because currently all of the actual blend instructions are matched via patterns in the TD files based around VSELECT nodes (despite them not being perfect fits for that). Suggestions welcome, but at least this removes the rampant duplication in the backend. llvm-svn: 218600
Diffstat (limited to 'llvm/test/CodeGen/X86/avx.ll')
-rw-r--r--llvm/test/CodeGen/X86/avx.ll2
1 files changed, 1 insertions, 1 deletions
diff --git a/llvm/test/CodeGen/X86/avx.ll b/llvm/test/CodeGen/X86/avx.ll
index cba6d98f5a8..f66b1b47cc2 100644
--- a/llvm/test/CodeGen/X86/avx.ll
+++ b/llvm/test/CodeGen/X86/avx.ll
@@ -3,7 +3,7 @@
define <4 x i32> @blendvb_fallback_v4i32(<4 x i1> %mask, <4 x i32> %x, <4 x i32> %y) {
; CHECK-LABEL: @blendvb_fallback_v4i32
-; CHECK: vblendvps
+; CHECK: vpblendvb
; CHECK: ret
%ret = select <4 x i1> %mask, <4 x i32> %x, <4 x i32> %y
ret <4 x i32> %ret
OpenPOWER on IntegriCloud