Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | PowerPC: Do not use llc -march in tests. | Matthias Braun | 2017-08-01 | 1 | -1/+1 |
| | | | | | | | | | | | | | | | | | | | | | `llc -march` is problematic because it only switches the target architecture, but leaves the operating system unchanged. This occasionally leads to indeterministic tests because the OS from LLVM_DEFAULT_TARGET_TRIPLE is used. However we can simply always use `llc -mtriple` instead. This changes all the tests to do this to avoid people using -march when they copy and paste parts of tests. This patch: - Removes -march if the .ll file already has a matching `target triple` directive or -mtriple argument. - In all other cases changes -march=ppc32/-march=ppc64 to -mtriple=ppc32--/-mtriple=ppc64-- See also the discussion in https://reviews.llvm.org/D35287 llvm-svn: 309754 | ||||
* | Adding -verify-machineinstrs option to PowerPC tests | Ehsan Amiri | 2016-08-03 | 1 | -1/+1 |
| | | | | | | | | | | | Currently we have a number of tests that fail with -verify-machineinstrs. To detect this cases earlier we add the option to the testcases with the exception of tests that will currently fail with this option. PR 27456 keeps track of this failures. No code review, as discussed with Hal Finkel. llvm-svn: 277624 | ||||
* | [PowerPC] Improve instruction selection bit-permuting operations (32-bit) | Hal Finkel | 2014-12-16 | 1 | -2/+2 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The PowerPC backend, somewhat embarrassingly, did not generate an optimal-length sequence of instructions for a 32-bit bswap. While adding a pattern for the bswap intrinsic to fix this would not have been terribly difficult, doing so would not have addressed the real problem: we had been generating poor code for many bit-permuting operations (by which I mean things like byte-swap that permute the bits of one or more inputs around in various ways). Here are some initial steps toward solving this deficiency. Bit-permuting operations are represented, at the SDAG level, using ISD::ROTL, SHL, SRL, AND and OR (mostly with constant second operands). Looking back through these operations, we can build up a description of the bits in the resulting value in terms of bits of one or more input values (and constant zeros). For each bit, we compute the rotation amount from the original value, and then group consecutive (value, rotation factor) bits into groups. Groups sharing these attributes are then collected and sorted, and we can then instruction select the entire permutation using a combination of masked rotations (rlwinm), imm ands (andi/andis), and masked rotation inserts (rlwimi). The result is that instead of lowering an i32 bswap as: rlwinm 5, 3, 24, 16, 23 rlwinm 4, 3, 24, 0, 7 rlwimi 4, 3, 8, 8, 15 rlwimi 5, 3, 8, 24, 31 rlwimi 4, 5, 0, 16, 31 we now produce: rlwinm 4, 3, 8, 0, 31 rlwimi 4, 3, 24, 16, 23 rlwimi 4, 3, 24, 0, 7 and for the 'test6' example in the PowerPC/README.txt file: unsigned test6(unsigned x) { return ((x & 0x00FF0000) >> 16) | ((x & 0x000000FF) << 16); } we used to produce: lis 4, 255 rlwinm 3, 3, 16, 0, 31 ori 4, 4, 255 and 3, 3, 4 and now we produce: rlwinm 4, 3, 16, 24, 31 rlwimi 4, 3, 16, 8, 15 and, as a nice bonus, this fixes the FIXME in test/CodeGen/PowerPC/rlwimi-and.ll. This commit does not include instruction-selection for i64 operations, those will come later. llvm-svn: 224318 | ||||
* | add some nounwind's. | Chris Lattner | 2010-11-14 | 1 | -1/+1 |
| | | | | llvm-svn: 119086 | ||||
* | Eliminate more uses of llvm-as and llvm-dis. | Dan Gohman | 2009-09-09 | 1 | -1/+1 |
| | | | | llvm-svn: 81293 | ||||
* | Remove obsolete -f flags. | Dan Gohman | 2009-08-25 | 1 | -1/+1 |
| | | | | llvm-svn: 79992 | ||||
* | Remove llvm-upgrade and update tests. | Tanya Lattner | 2008-02-19 | 1 | -24/+22 |
| | | | | llvm-svn: 47325 | ||||
* | Convert tests using "| wc -l | grep ..." to use the count script. | Dan Gohman | 2007-08-15 | 1 | -2/+2 |
| | | | | llvm-svn: 41097 | ||||
* | For PR1319: | Reid Spencer | 2007-04-16 | 1 | -3/+4 |
| | | | | | | | | Remove && from the end of the lines to prevent tests from throwing run lines into the background. Also, clean up places where the same command is run multiple times by using a temporary file. llvm-svn: 36142 | ||||
* | Regression is gone, don't try to find it on clean target. | Reid Spencer | 2007-01-17 | 1 | -0/+30 |
llvm-svn: 33296 |