<feed xmlns='http://www.w3.org/2005/Atom'>
<title>llvm/test/CodeGen, branch stable</title>
<subtitle>http://llvm.org</subtitle>
<id>https://git.amat.us/llvm/atom/test/CodeGen?h=stable</id>
<link rel='self' href='https://git.amat.us/llvm/atom/test/CodeGen?h=stable'/>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/'/>
<updated>2013-04-01T21:48:05Z</updated>
<entry>
<title>R600: Add support for native control flow</title>
<updated>2013-04-01T21:48:05Z</updated>
<author>
<name>Vincent Lejeune</name>
<email>vljn@ovi.com</email>
</author>
<published>2013-04-01T21:48:05Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=08001a5a1565adb8ce18b97537dd75075992d09a'/>
<id>urn:sha1:08001a5a1565adb8ce18b97537dd75075992d09a</id>
<content type='text'>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@178505 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>R600: Emit CF_ALU and use true kcache register.</title>
<updated>2013-04-01T21:47:42Z</updated>
<author>
<name>Vincent Lejeune</name>
<email>vljn@ovi.com</email>
</author>
<published>2013-04-01T21:47:42Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=8e59191eb8033133f5b2923d2056d4362af913ce'/>
<id>urn:sha1:8e59191eb8033133f5b2923d2056d4362af913ce</id>
<content type='text'>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@178503 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Fix a bad assert in PPCTargetLowering</title>
<updated>2013-04-01T18:42:58Z</updated>
<author>
<name>Hal Finkel</name>
<email>hfinkel@anl.gov</email>
</author>
<published>2013-04-01T18:42:58Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=a1646ceb9a5da080607e503c8bd36241aa465613'/>
<id>urn:sha1:a1646ceb9a5da080607e503c8bd36241aa465613</id>
<content type='text'>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@178489 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Add triple to test/CodeGen/PowerPC/stfiwx-2</title>
<updated>2013-04-01T18:18:44Z</updated>
<author>
<name>Hal Finkel</name>
<email>hfinkel@anl.gov</email>
</author>
<published>2013-04-01T18:18:44Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=6c81b118caf83e579aaf85c7dca9aebc389abae9'/>
<id>urn:sha1:6c81b118caf83e579aaf85c7dca9aebc389abae9</id>
<content type='text'>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@178486 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Merge load/store sequences with adresses: base + index + offset</title>
<updated>2013-04-01T18:12:58Z</updated>
<author>
<name>Arnold Schwaighofer</name>
<email>aschwaighofer@apple.com</email>
</author>
<published>2013-04-01T18:12:58Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=f28a29b776b7dc2b97d09c75d69494f862c216b3'/>
<id>urn:sha1:f28a29b776b7dc2b97d09c75d69494f862c216b3</id>
<content type='text'>
We would also like to merge sequences that involve a variable index like in the
example below.

    int index = *idx++
    int i0 = c[index+0];
    int i1 = c[index+1];
    b[0] = i0;
    b[1] = i1;

By extending the parsing of the base pointer to handle dags that contain a
base, index, and offset we can handle examples like the one above.

The dag for the code above will look something like:

 (load (i64 add (i64 copyfromreg %c)
                (i64 signextend (i8 load %index))))

 (load (i64 add (i64 copyfromreg %c)
                (i64 signextend (i32 add (i32 signextend (i8 load %index))
                                         (i32 1)))))

The code that parses the tree ignores the intermediate sign extensions. However,
if there is a sign extension it needs to be on all indexes.

 (load (i64 add (i64 copyfromreg %c)
                (i64 signextend (add (i8 load %index)
                                     (i8 1))))
 vs

 (load (i64 add (i64 copyfromreg %c)
                (i64 signextend (i32 add (i32 signextend (i8 load %index))
                                         (i32 1)))))
radar://13536387

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@178483 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Add more PPC floating-point conversion instructions</title>
<updated>2013-04-01T17:52:07Z</updated>
<author>
<name>Hal Finkel</name>
<email>hfinkel@anl.gov</email>
</author>
<published>2013-04-01T17:52:07Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=46479197843ecb651adc9417c49bbd1b00acfcb6'/>
<id>urn:sha1:46479197843ecb651adc9417c49bbd1b00acfcb6</id>
<content type='text'>
The P7 and A2 have additional floating-point conversion instructions which
allow a direct two-instruction sequence (plus load/store) to convert from all
combinations (signed/unsigned i32/i64) &lt;--&gt; (float/double) (on previous cores,
only some combinations were directly available).

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@178480 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Fix PowerPC/cttz.ll to specify a cpu (and use FileCheck)</title>
<updated>2013-04-01T16:31:56Z</updated>
<author>
<name>Hal Finkel</name>
<email>hfinkel@anl.gov</email>
</author>
<published>2013-04-01T16:31:56Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=dc8efbae143626074fbb2420dde357d16e17bf57'/>
<id>urn:sha1:dc8efbae143626074fbb2420dde357d16e17bf57</id>
<content type='text'>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@178472 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Add the PPC popcntw instruction</title>
<updated>2013-04-01T15:58:15Z</updated>
<author>
<name>Hal Finkel</name>
<email>hfinkel@anl.gov</email>
</author>
<published>2013-04-01T15:58:15Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=1fce88313e4d46fdd432b68f7c54fde972c0b526'/>
<id>urn:sha1:1fce88313e4d46fdd432b68f7c54fde972c0b526</id>
<content type='text'>
The popcntw instruction is available whenever the popcntd instruction is
available, and performs a separate popcnt on the lower and upper 32-bits.
Ignoring the high-order count, this can be used for the 32-bit input case
(saving on the explicit zero extension otherwise required to use popcntd).

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@178470 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>X86: Promote sitofp &lt;8 x i16&gt; to &lt;8 x i32&gt; when AVX is available.</title>
<updated>2013-03-31T12:49:15Z</updated>
<author>
<name>Benjamin Kramer</name>
<email>benny.kra@googlemail.com</email>
</author>
<published>2013-03-31T12:49:15Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=b8f0d89d0584e37e205c04ed5753f57a23365403'/>
<id>urn:sha1:b8f0d89d0584e37e205c04ed5753f57a23365403</id>
<content type='text'>
A vector sext + sitofp is a lot cheaper than 8 scalar conversions.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@178448 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Add the PPC lfiwax instruction</title>
<updated>2013-03-31T10:12:51Z</updated>
<author>
<name>Hal Finkel</name>
<email>hfinkel@anl.gov</email>
</author>
<published>2013-03-31T10:12:51Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=8049ab15e4b638a07d6f230329945c2310eca27b'/>
<id>urn:sha1:8049ab15e4b638a07d6f230329945c2310eca27b</id>
<content type='text'>
This instruction is available on modern PPC64 CPUs, and is now used
to improve the SINT_TO_FP lowering (by eliminating the need for the
separate sign extension instruction and decreasing the amount of
needed stack space).

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@178446 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
</feed>
