Dan Gohman
69e9573064
Recognize more opportunities to use SSE min and max instructions,
...
swapping the operands if necessary.
llvm-svn: 80940
2009-09-03 20:34:31 +00:00
Mon P Wang
24516ac0ca
Test cases for vector shifts changes r80935
...
Changed the old vector shift test to use FileCheck
llvm-svn: 80936
2009-09-03 19:57:35 +00:00
Evan Cheng
41e87f2f13
Reference to hidden symbols do not have to go through non-lazy pointer in non-pic mode. rdar://7187172.
...
llvm-svn: 80904
2009-09-03 07:04:02 +00:00
Chris Lattner
e460c8f660
merge all the basic linux/32 pic tests together into one test.
...
llvm-svn: 80902
2009-09-03 06:29:23 +00:00
Chris Lattner
51fec7f6f6
rename test
...
llvm-svn: 80901
2009-09-03 06:16:49 +00:00
Chris Lattner
f32c2d890c
eliminate some uses of prcontext. Any help here would be appreciated :)
...
llvm-svn: 80520
2009-08-30 21:45:23 +00:00
Dan Gohman
f7b76078bb
CMOV_GR8 clobbers EFLAGS when its expansion involves an xor to set
...
a register to 0. This fixes PR4814.
llvm-svn: 80445
2009-08-29 22:19:15 +00:00
Dan Gohman
60fae1b2a2
X86FastISel support for loading and storing values of type i1.
...
llvm-svn: 80186
2009-08-27 00:31:47 +00:00
Dan Gohman
613d152216
Expand i8 selects into control flow instead of 16-bit conditional
...
moves. This avoids the need to promote the operands (or implicitly
extend them, a partial register update condition), and can reduce
i8 register pressure. This substantially speeds up code such as
write_hex in lib/Support/raw_ostream.cpp.
subclass-coalesce.ll is too trivial and no longer tests what it was
originally intended to test.
llvm-svn: 80184
2009-08-27 00:14:12 +00:00
Dan Gohman
6bd4a58365
Don't use INSERT_SUBREG to model anyext operations on x86-64, as it
...
leads to partial-register definitions. To help avoid redundant
zero-extensions, also teach the h-register matching patterns that
use movzbl to match anyext as well as zext.
llvm-svn: 80099
2009-08-26 14:59:13 +00:00
Chris Lattner
70bb855eb0
convert to filecheck
...
llvm-svn: 80025
2009-08-25 20:49:04 +00:00
Daniel Dunbar
e3e4e68583
Switch abi-isel.ll to FileCheck; it's not much faster, but it now tests a lot
...
more and is much nicer to the OS.
- Dan, please check. If there are parts of the test you think I should strip
out so it doesn't cause random failures let me know (there are still some PIC
label numbers in it, for example).
llvm-svn: 80019
2009-08-25 18:45:03 +00:00
Dan Gohman
bf08e82d8e
Remove obsolete -f flags.
...
llvm-svn: 79992
2009-08-25 15:38:29 +00:00
Dale Johannesen
b8888477db
Fix PR 4751, another difficulty with %a modifier on x86.
...
llvm-svn: 79961
2009-08-25 00:16:14 +00:00
Dale Johannesen
add8a314dd
Split test into 3.
...
llvm-svn: 79926
2009-08-24 17:51:19 +00:00
Jakob Stoklund Olesen
291647e0d9
Fix PR4753.
...
When undoing a reuse in ReuseInfo::GetRegForReload, check if it was only a
sub-register being used. The MachineOperand::getSubReg() method is only valid
for virtual registers, so we have to recover the sub-register index manually.
llvm-svn: 79855
2009-08-23 13:01:45 +00:00
Eli Friedman
79615641f1
Make x86 test actually test x86 code generation. Fix the
...
construct on ARM, which was breaking by coincidence, and add a similar
testcase for ARM.
llvm-svn: 79719
2009-08-22 03:13:10 +00:00
Chris Lattner
cf54f19140
rename test, make more specific.
...
llvm-svn: 79712
2009-08-22 00:44:24 +00:00
Dale Johannesen
f6b2759c5e
Use FileCheck even though this means testing for something
...
that has nothing to do with the point of the test, per Chris.
llvm-svn: 79569
2009-08-20 22:12:08 +00:00
Dan Gohman
f2f57ebc84
Fix an x86 code size regression: prefer RIP-relative addressing
...
over absolute addressing even in non-PIC mode (unless the address
has an index or something else incompatible), because it has a
smaller encoding.
llvm-svn: 79553
2009-08-20 18:23:44 +00:00
Dale Johannesen
facc542d5e
Use FileCheck for the test run where it's appropriate.
...
llvm-svn: 79534
2009-08-20 16:58:04 +00:00
Dale Johannesen
fc8ee02c25
Handle 'a' modifier in X86 asms. PR 4742.
...
llvm-svn: 79484
2009-08-19 22:44:41 +00:00
Bill Wendling
a62629a929
Make this test platform neutral.
...
llvm-svn: 79447
2009-08-19 18:51:45 +00:00
Dan Gohman
eb6fbd7fd1
Add an x86 peep that narrows TEST instructions to forms that use
...
a smaller encoding. These kinds of patterns are very frequent in
sqlite3, for example.
llvm-svn: 79439
2009-08-19 18:16:17 +00:00
Eli Friedman
914b41055a
PR4737: Fix a nasty bug in load narrowing with non-power-of-two types.
...
llvm-svn: 79415
2009-08-19 08:46:10 +00:00
Dan Gohman
56c2c54a37
Legalize the shift amount operand of SRL_PARTS, SHL_PARTS, and
...
SRA_PARTS, as is done for SRL, SHL, and SRA.
llvm-svn: 79380
2009-08-18 23:36:17 +00:00
Dan Gohman
b2e9d23bd9
Make this test less sensitive to assembler differences.
...
llvm-svn: 79348
2009-08-18 17:19:46 +00:00
Chris Lattner
f0cde76e79
force a triple so this passes on darwin
...
llvm-svn: 79345
2009-08-18 16:55:45 +00:00
Dan Gohman
5022dd9cc9
Make tail merging handle blocks with repeated predecessors correctly, and
...
remove RemoveDuplicateSuccessor, as it is no longer necessary, and because
it breaks assumptions made in
MachineBasicBlock::isOnlyReachableByFallthrough.
Convert test/CodeGen/X86/omit-label.ll to FileCheck and add a testcase
for PR4732.
test/CodeGen/Thumb2/thumb2-ifcvt2.ll sees a diff with this commit due to
it being bugpoint-reduced to the point where it doesn't matter what the
condition for the branch is.
Add some more interesting code to
test/CodeGen/X86/2009-08-06-branchfolder-crash.ll, which is the testcase
that originally motivated the RemoveDuplicateSuccessor code, to help
verify that the original problem isn't being re-broken.
llvm-svn: 79338
2009-08-18 15:18:18 +00:00
Eli Friedman
d61a2e81bc
Fix test on Linux.
...
llvm-svn: 79140
2009-08-15 21:28:17 +00:00
Chris Lattner
d910c3a30e
implement support for CHECK-NEXT: in filecheck.
...
llvm-svn: 79123
2009-08-15 18:32:21 +00:00
Chris Lattner
56dc61a487
specify a target triple so global variable manglings are consistent etc.
...
llvm-svn: 79118
2009-08-15 17:35:05 +00:00
Chris Lattner
adc768c073
convert to filecheck.
...
llvm-svn: 79117
2009-08-15 17:28:09 +00:00
Chris Lattner
27345be0c7
rename this test to sse2.ll
...
llvm-svn: 79116
2009-08-15 17:24:09 +00:00
Chris Lattner
43cfb4db61
merge a bunch more sse3 tests into sse3.ll
...
llvm-svn: 79115
2009-08-15 17:21:44 +00:00
Chris Lattner
34e10616f5
convert test to filecheck format.
...
llvm-svn: 79114
2009-08-15 17:05:03 +00:00
Chris Lattner
58942aabef
rename test
...
llvm-svn: 79113
2009-08-15 17:01:44 +00:00
Chris Lattner
83d747a703
this is a test for sse3, simplify it.
...
llvm-svn: 79112
2009-08-15 17:01:19 +00:00
Dan Gohman
d69323d37a
On x86-64, for a varargs function, don't store the xmm registers to
...
the register save area if %al is 0. This avoids touching xmm
regsiters when they aren't actually used.
llvm-svn: 79061
2009-08-15 01:38:56 +00:00
Anton Korobeynikov
933d8e1118
Properly handle indirect win64 args when they're passed in memory
...
llvm-svn: 79009
2009-08-14 18:19:10 +00:00
Bruno Cardoso Lopes
f2855aabec
Change MCSectionELF to represent a section semantically instead of
...
syntactically as a string, very similiar to what Chris did with MachO.
The parsing support and validation is not introduced yet.
llvm-svn: 78890
2009-08-13 05:07:35 +00:00
Dan Gohman
4b9cae5af3
Various AsmWriter output cleanups. Use WriteAsOperand instead of
...
PrintUnmangledNameSafely.
llvm-svn: 78878
2009-08-13 01:36:44 +00:00
Dan Gohman
8ce3f1d1df
Use WriteAsOperand to print BasicBlock names.
...
llvm-svn: 78838
2009-08-12 20:56:56 +00:00
Dale Johannesen
f126196725
Test for 78821, sort of. While that bug is nondeterministic,
...
this test failed consistently on a Darwin build.
llvm-svn: 78822
2009-08-12 17:43:47 +00:00
Chris Lattner
1ba56c8c6c
one last (?) bad x86 triple test.
...
llvm-svn: 78801
2009-08-12 06:49:44 +00:00
Chris Lattner
27cd94c25a
fix some pastos in triple lines.
...
llvm-svn: 78800
2009-08-12 06:49:12 +00:00
Chris Lattner
f5d73f0aef
another bogus triple
...
llvm-svn: 78798
2009-08-12 06:36:52 +00:00
Chris Lattner
c709c59153
fix another broken target triple.
...
llvm-svn: 78796
2009-08-12 06:29:18 +00:00
Chris Lattner
cfbcfcc3c4
fix an incorrect target triple.
...
llvm-svn: 78795
2009-08-12 06:28:51 +00:00
Dan Gohman
f64bbe9328
Fix a bug in the DAGCombiner's handling of multiple linked
...
MERGE_VALUES nodes. Replacing the result values with the
operands in one MERGE_VALUES node may cause another
MERGE_VALUES node be CSE'd with the first one, and bring
its uses along, so that the first one isn't dead, as this
code expects. Fix this by iterating until the node is
really dead. This fixes PR4699.
llvm-svn: 78619
2009-08-10 23:43:19 +00:00