<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="/rss.xsl.xml"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
    <title>Changes in splat-bug.ll</title>
    <description></description>
    <language>en</language>
    <copyright>Copyright 2015</copyright>
    <generator>Java</generator><item>
        <title>a538b0f0 - Adding -verify-machineinstrs option to PowerPC tests</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/llvm/test/CodeGen/PowerPC/splat-bug.ll#a538b0f0</link>
        <description>Adding -verify-machineinstrs option to PowerPC testsCurrently we have a number of tests that fail with -verify-machineinstrs.To detect this cases earlier we add the option to the testcases with theexception of tests that will currently fail with this option. PR 27456 keepstrack of this failures.No code review, as discussed with Hal Finkel.llvm-svn: 277624

            List of files:
            /llvm-project-15.0.7/llvm/test/CodeGen/PowerPC/splat-bug.ll</description>
        <pubDate>Wed, 03 Aug 2016 18:17:35 +0000</pubDate>
        <dc:creator>Ehsan Amiri &lt;amehsan@ca.ibm.com&gt;</dc:creator>
    </item>
<item>
        <title>71dddd51 - [PATCH] Correct type used for VADD_SPLAT optimization on PowerPC</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/llvm/test/CodeGen/PowerPC/splat-bug.ll#71dddd51</link>
        <description>[PATCH] Correct type used for VADD_SPLAT optimization on PowerPCIn PPCISelLowering.cpp: PPCTargetLowering::LowerBUILD_VECTOR(), thereis an optimization for certain patterns to generate one or two vectorsplats followed by a vector add or subtract.  This operation isrepresented by a VADD_SPLAT in the selection DAG.  Prior to thispatch, it was possible for the VADD_SPLAT to be assigned the wrongdata type, causing incorrect code generation.  This patch corrects theproblem.Specifically, the code previously assigned the value type of theBUILD_VECTOR node to the newly generated VADD_SPLAT node.  This iscorrect much of the time, but not always.  The problem is that thecall to isConstantSplat() may return a SplatBitSize that is not thesame as the number of bits in the original element vector type.  Thecorrect type to assign is a vector type with the same element bit sizeas SplatBitSize.The included test case shows an example of this, where theBUILD_VECTOR node has a type of v16i8.  The vector to be built is {0,16, 0, 16, 0, 16, 0, 16, 0, 16, 0, 16, 0, 16, 0, 16}.  isConstantSplatdetects that we can generate a splat of 16 for type v8i16, which isthe type we must assign to the VADD_SPLAT node.  If we do not, wegenerate a vspltisb of 8 and a vaddubm, which generates the incorrectresult {16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,16}.  The correct code generation is a vspltish of 8 and a vadduhm.This patch also corrected code generation forCodeGen/PowerPC/2008-07-10-SplatMiscompile.ll, which had been markedas an XFAIL, so we can remove the XFAIL from the test case.llvm-svn: 209662

            List of files:
            /llvm-project-15.0.7/llvm/test/CodeGen/PowerPC/splat-bug.ll</description>
        <pubDate>Tue, 27 May 2014 15:57:51 +0000</pubDate>
        <dc:creator>Bill Schmidt &lt;wschmidt@linux.vnet.ibm.com&gt;</dc:creator>
    </item>
</channel>
</rss>
