[llvm-bugs] [Bug 33744] New: Replace ShuffleKind::SK_Alternate with ShuffleKind::SK_Blend

via llvm-bugs llvm-bugs at lists.llvm.org
Tue Jul 11 06:02:08 PDT 2017


https://bugs.llvm.org/show_bug.cgi?id=33744

            Bug ID: 33744
           Summary: Replace ShuffleKind::SK_Alternate with
                    ShuffleKind::SK_Blend
           Product: libraries
           Version: trunk
          Hardware: PC
                OS: Windows NT
            Status: NEW
          Severity: enhancement
          Priority: P
         Component: Scalar Optimizations
          Assignee: unassignedbugs at nondot.org
          Reporter: llvm-dev at redking.me.uk
                CC: a.bataev at hotmail.com, dtemirbulatov at gmail.com,
                    hfinkel at anl.gov, llvm-bugs at lists.llvm.org,
                    mkuper at google.com, spatel+llvm at rotateright.com

ShuffleKind::SK_Alternate requires shuffle masks to only match an alternating
pattern from its 2 sources:

e.g. v4f32: <0,5,2,7> or <4,1,6,3>

This seems far too restrictive for most SIMD hardware which will probably
implement it using a general blend/bit-select instruction (permitting elements
from either source as long as they are inline):

e.g. v4f32: <0,5,2,7>, <4,1,6,3>, <0,1,6,7>, <4,1,2,3> etc.

Are there any reasons why we shouldn't replace ShuffleKind::SK_Alternate with
ShuffleKind::SK_Blend to encourage more vectorization?

-- 
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20170711/8596507a/attachment.html>


More information about the llvm-bugs mailing list