Rafael Espindola
ff33241e16
call libc memcpy/memset if array size is bigger then threshold.
...
Coping 100MB array (after a warmup) shows that glibc 2.6.1 implementation on
x86-64 (core 2) is 30% faster (from 0.270917s to 0.188079s)
llvm-svn: 41479
2007-08-27 10:18:20 +00:00
Evan Cheng
595401079e
Test dag xform: Fold C ? 0 : 1 to ~C or zext(~C) or trunc(~C)
...
llvm-svn: 41164
2007-08-18 06:11:57 +00:00
Evan Cheng
2c4ea1e411
New test. Make sure dynamic_stackalloc size is rounded up.
...
llvm-svn: 41135
2007-08-16 23:52:23 +00:00
Evan Cheng
1393d88cc6
Update test: dynamic_stackalloc size *must* be rounded to ensure stack ptr be left in a valid state.
...
llvm-svn: 41134
2007-08-16 23:51:28 +00:00
Rafael Espindola
4ba05408ac
add byval test
...
llvm-svn: 41123
2007-08-16 13:09:02 +00:00
Dan Gohman
ada7205b76
Convert tests using "grep -c ... | grep ..." to use the count script.
...
llvm-svn: 41100
2007-08-15 13:49:33 +00:00
Dan Gohman
85c1e51b34
Delete extraneous uses of wc -l.
...
llvm-svn: 41099
2007-08-15 13:45:35 +00:00
Dan Gohman
5327cf7b48
Convert another test to use the count script. This one didn't fit the
...
regex used to convert all the others because the first '|' was on a
separate line.
llvm-svn: 41098
2007-08-15 13:42:36 +00:00
Dan Gohman
f9dd170e36
Convert tests using "| wc -l | grep ..." to use the count script.
...
llvm-svn: 41097
2007-08-15 13:36:28 +00:00
Chris Lattner
687dbf1a99
tcl seems to hate |& for some reason.
...
llvm-svn: 41073
2007-08-14 16:19:35 +00:00
Chris Lattner
0e92458068
switch this to use fastcc to avoid fpstack traffic on x86-32. Switch to
...
using the count script instead of wc -l
llvm-svn: 41072
2007-08-14 16:14:10 +00:00
Evan Cheng
5c6d53d2ff
Update test case. A spill should now be deleted.
...
llvm-svn: 41070
2007-08-14 09:16:00 +00:00
Evan Cheng
5e221dbe8f
Spiller reuse test case.
...
llvm-svn: 41068
2007-08-14 05:51:03 +00:00
Evan Cheng
2814fe847d
Now capable of rematerializing coalesced live intervals.
...
llvm-svn: 41061
2007-08-13 23:54:16 +00:00
Dan Gohman
ccb3611881
When x86 addresses matching exceeds its recursion limit, check to
...
see if the base register is already occupied before assuming it can be
used. This fixes bogus code generation in the accompanying testcase.
llvm-svn: 41049
2007-08-13 20:03:06 +00:00
Chris Lattner
4e7f673f65
Fix PR1607
...
llvm-svn: 41048
2007-08-13 18:42:37 +00:00
Christopher Lamb
030a59d967
Fix test so it passes.
...
llvm-svn: 41012
2007-08-10 22:20:57 +00:00
Christopher Lamb
b372abab14
Increase efficiency of sign_extend_inreg by using subregisters for truncation. As the README suggests sign_extend_subreg is selected to (sext(trunc)).
...
llvm-svn: 41010
2007-08-10 21:48:46 +00:00
Christopher Lamb
d36d30b53c
Add 2-addr to 3-addr promotion code that allows 32-bit LEA to be used via subregisters when 16-bit LEA is disabled.
...
llvm-svn: 41007
2007-08-10 21:18:25 +00:00
Dan Gohman
a17799a3bd
Fix EXTRACT_ELEMENT, EXTRACT_SUBVECTOR, and EXTRACT_VECTOR_ELT to
...
use an intptr ValueType instead of i32 for the index operand in
getCopyToParts.
llvm-svn: 40987
2007-08-10 14:59:38 +00:00
Chris Lattner
39d751058a
allow this to pass on ppc hosts.
...
llvm-svn: 40846
2007-08-05 18:48:18 +00:00
Dan Gohman
8932bff7fe
Fix the alignment requirements of several unpck and shuf instructions.
...
Generalize isPSHUFDMask and add a unary SHUFPD pattern so that SHUFPD's
memory operand alignment can be tested as well, with a fix to avoid
breaking MMX's use of isPSHUFDMask.
llvm-svn: 40756
2007-08-02 21:17:01 +00:00
Dan Gohman
fa3eeeedc0
Mark the SSE and MMX load instructions that
...
X86InstrInfo::isReallyTriviallyReMaterializable knows how to handle
with the isReMaterializable flag so that it is given a chance to handle
them. Without hoisting constant-pool loads from loops this isn't very
visible, though it does keep CodeGen/X86/constant-pool-remat-0.ll from
making a copy of the constant pool on the stack.
llvm-svn: 40736
2007-08-02 14:27:55 +00:00
Evan Cheng
824693c87a
Fix test.
...
llvm-svn: 40721
2007-08-02 05:04:16 +00:00
Evan Cheng
41ccce7169
New test. Bogus implicit-def prevented a copy from being coalesced.
...
llvm-svn: 40690
2007-08-01 20:26:40 +00:00
Chris Lattner
9182684222
we're now handling this right :)
...
llvm-svn: 40675
2007-08-01 17:10:30 +00:00
Evan Cheng
09a141df31
Requires SSE2.
...
llvm-svn: 40657
2007-08-01 00:10:12 +00:00
Dan Gohman
54ec4bfa5f
Change the x86 assembly output to use tab characters to separate the
...
mnemonics from their operands instead of single spaces. This makes the
assembly output a little more consistent with various other compilers
(f.e. GCC), and slightly easier to read. Also, update the regression
tests accordingly.
llvm-svn: 40648
2007-07-31 20:11:57 +00:00
Evan Cheng
12c6be84ff
Redo and generalize previously removed opt for pinsrw: (vextract (v4i32 bc (v4f32 s2v (f32 load ))), 0) -> (i32 load )
...
llvm-svn: 40628
2007-07-31 08:04:03 +00:00
Dan Gohman
4788552deb
Re-apply 40504, but with a fix for the segfault it caused in oggenc:
...
Make the alignedload and alignedstore patterns always require 16-byte
alignment. This way when they are used in the "Fs" instructions, in which
a vector instruction is used for a scalar purpose, they can still require
the full vector alignment. And add a regression test for this.
llvm-svn: 40555
2007-07-27 17:16:43 +00:00
Evan Cheng
931de40afa
Reverting 40504 for now. It's breaking oggenc.
...
llvm-svn: 40547
2007-07-27 01:37:47 +00:00
Evan Cheng
dfa5d283fd
Test case for PR1573.
...
llvm-svn: 40539
2007-07-26 17:45:57 +00:00
Evan Cheng
e9ba8e0765
Fix test.
...
llvm-svn: 40536
2007-07-26 17:07:03 +00:00
Dan Gohman
8455bd3fae
Remove X86ISD::LOAD_PACK and X86ISD::LOAD_UA and associated code from the
...
x86 target, replacing them with the new alignment attributes on memory
references.
llvm-svn: 40504
2007-07-26 00:31:09 +00:00
Dan Gohman
f906c7286f
Use movaps to load a v4f32 build_vector of all-constant values into a
...
register instead of loading each element individually.
llvm-svn: 40478
2007-07-24 22:55:08 +00:00
Dan Gohman
45863cc202
Update these regression tests to accomodate X86InstrSSE.td now using movups/movaps
...
for everything.
llvm-svn: 40101
2007-07-20 16:31:26 +00:00
Evan Cheng
f195429a0e
New test.
...
llvm-svn: 40077
2007-07-20 00:27:56 +00:00
Evan Cheng
a39fd10e32
New test.
...
llvm-svn: 40073
2007-07-19 23:53:50 +00:00
Evan Cheng
8ab393548f
Try fixing it again.
...
llvm-svn: 40072
2007-07-19 23:53:29 +00:00
Reid Spencer
314e1cb7ee
For PR1553:
...
Change the keywords for the zext and sext parameter attributes to be
zeroext and signext so they don't conflict with the keywords for the
instructions of the same name. This gets around the ambiguity.
llvm-svn: 40069
2007-07-19 23:13:04 +00:00
Bill Wendling
dd96b98bf6
Don't need the "&&" to glue lines together.
...
llvm-svn: 40063
2007-07-19 18:06:26 +00:00
Bill Wendling
e8ea3303ce
Testcase for PR1549
...
llvm-svn: 40041
2007-07-19 06:31:11 +00:00
Evan Cheng
dcc3451f8a
New test.
...
llvm-svn: 40020
2007-07-18 21:39:16 +00:00
Dan Gohman
776962a97a
Implement initial memory alignment awareness for SSE instructions. Vector loads
...
and stores that have a specified alignment of less than 16 bytes now use
instructions that support misaligned memory references.
llvm-svn: 40015
2007-07-18 20:23:34 +00:00
Dan Gohman
a7b65c30a3
It's not necessary to do rounding for alloca operations when the requested
...
alignment is equal to the stack alignment.
llvm-svn: 40004
2007-07-18 16:29:46 +00:00
Evan Cheng
5184c9d787
Fix test.
...
llvm-svn: 39976
2007-07-17 18:16:09 +00:00
Evan Cheng
9ae2eb43d8
Use push / pop for prologues and epilogues.
...
llvm-svn: 39967
2007-07-17 07:59:08 +00:00
Dale Johannesen
2182f06f2d
Skeleton of post-RA scheduler; doesn't do anything yet.
...
Change name of -sched option and DEBUG_TYPE to
pre-RA-sched; adjust testcases.
llvm-svn: 39816
2007-07-13 17:13:54 +00:00
Evan Cheng
ade8183fe8
Add test case for PR1545.
...
llvm-svn: 39749
2007-07-11 19:29:05 +00:00
Dan Gohman
60d6f96da3
Change the peep for EXTRACT_VECTOR_ELT of BUILD_PAIR to look for
...
the new CONCAT_VECTORS node type instead, as that's what legalize
uses now. And add a peep for EXTRACT_VECTOR_ELT of INSERT_VECTOR_ELT.
llvm-svn: 38503
2007-07-10 18:20:44 +00:00
Dan Gohman
4bd45b3d53
Add a regression test for folding spill code into scalar min and max.
...
llvm-svn: 38492
2007-07-10 15:34:29 +00:00
Chris Lattner
318ff8dd94
force a cpu without SSE
...
llvm-svn: 38466
2007-07-09 17:35:18 +00:00
Chris Lattner
0937478073
allow this to work on ppc-darwin
...
llvm-svn: 38465
2007-07-09 17:32:28 +00:00
Bill Wendling
3053244b27
Allow a GR64 to be moved into an MMX register via the "movd" instruction.
...
Still need to have JIT generate this code.
llvm-svn: 37863
2007-07-04 00:19:54 +00:00
Dale Johannesen
a8bf39ee31
New testcases for rev 37847 (PR's 1489 and 1505).
...
llvm-svn: 37848
2007-07-03 00:58:37 +00:00
Dan Gohman
9ff9908413
Add a basic test-case for passing and returning <4 x double> and
...
<8 x float> values on X86.
llvm-svn: 37845
2007-07-02 16:23:47 +00:00
Dan Gohman
11a4008a59
New test case. DAGCombiner should be able to fold -sin(-x)
...
in -enable-unsafe-fp-math mode.
llvm-svn: 37841
2007-07-02 15:43:20 +00:00
Evan Cheng
d21e3ab873
New test.
...
llvm-svn: 37823
2007-06-29 23:17:15 +00:00
Evan Cheng
62acd01275
New test.
...
llvm-svn: 37815
2007-06-29 21:40:30 +00:00
John Criswell
2660cef6d7
Convert .cvsignore files
...
llvm-svn: 37801
2007-06-29 16:35:07 +00:00
Evan Cheng
b99f152f29
New tests.
...
llvm-svn: 37787
2007-06-29 00:27:18 +00:00
Evan Cheng
6ba3e8b27d
New test case: identity operation of RHS / LHS of a VECTOR_SHUFFLE.
...
llvm-svn: 37637
2007-06-19 00:06:08 +00:00
Chris Lattner
5f232faf8c
ensure we don't regress on these tests. We generate aweful code in x86-32 for
...
these though.
llvm-svn: 37619
2007-06-17 23:29:57 +00:00
Bill Wendling
ec6be07c22
XFAILing until I can fix properly.
...
llvm-svn: 37618
2007-06-16 23:57:51 +00:00
Bill Wendling
c8f293b4f9
Testcase for MMX int to MMX register failure.
...
llvm-svn: 37612
2007-06-16 06:31:47 +00:00
Chris Lattner
2d7f447a7a
make this test harder, include a tied register.
...
llvm-svn: 37600
2007-06-15 19:09:53 +00:00
Dale Johannesen
616627b002
Do not treat FP_REG_KILL as terminator in branch analysis (X86).
...
llvm-svn: 37578
2007-06-14 22:03:45 +00:00
Chris Lattner
af56be7f2c
new testcase for PR1495
...
llvm-svn: 37452
2007-06-06 01:21:46 +00:00
Evan Cheng
59754300a8
New test.
...
llvm-svn: 37431
2007-06-05 01:45:08 +00:00
Dale Johannesen
0558dda319
Tail merging wasn't working for predecessors of landing pads. PR 1496.
...
llvm-svn: 37427
2007-06-04 23:52:54 +00:00
Dale Johannesen
3c0a13762d
Implement smarter algorithm for choosing which blocks to tail-merge.
...
See test/CodeGen/X86/test-pic-jtbl.ll for a case where it works well;
shaves another 10K off our favorite benchmark. I was hesitant about
this because of compile speed, but seems to do OK on a bootstrap.
llvm-svn: 37392
2007-06-01 23:02:45 +00:00
Dale Johannesen
d750b46f8b
tail merging shrinks this code a bit. Could do more in future.
...
llvm-svn: 37316
2007-05-23 21:09:26 +00:00
Evan Cheng
204af78b96
Add test for PR1259.
...
llvm-svn: 37273
2007-05-21 23:30:33 +00:00
Chris Lattner
0306944992
add source
...
llvm-svn: 37253
2007-05-19 01:22:52 +00:00
Chris Lattner
afa90dc355
new testcase
...
llvm-svn: 37251
2007-05-19 01:21:39 +00:00
Evan Cheng
0465aca5d2
New test case.
...
llvm-svn: 37174
2007-05-17 18:49:50 +00:00
Chris Lattner
5de4944f70
testcase for PR1427
...
llvm-svn: 37140
2007-05-17 03:29:17 +00:00
Chris Lattner
1087473e51
testcase for maskmovq
...
llvm-svn: 37101
2007-05-16 06:14:10 +00:00
Evan Cheng
03c64ec842
New test.
...
llvm-svn: 37048
2007-05-14 20:47:21 +00:00
Evan Cheng
5c7ce4561f
Doh. .cpp -> .ll
...
llvm-svn: 37047
2007-05-14 20:43:28 +00:00
Duncan Sands
7208cd6e4e
Testcase for PR1398.
...
llvm-svn: 36905
2007-05-07 20:45:20 +00:00
Chris Lattner
86dfbe0a13
remove this xfail'd test, move it to the X86 readme.
...
llvm-svn: 36800
2007-05-05 22:10:53 +00:00
Chris Lattner
879c39ae48
We need support for tail calls, this is moved to PR1392
...
llvm-svn: 36798
2007-05-05 22:03:12 +00:00
Chris Lattner
cc1aa37fbf
new testcase for PR1371
...
llvm-svn: 36786
2007-05-05 19:38:43 +00:00
Evan Cheng
847f31ec25
negatize -> negative
...
llvm-svn: 36683
2007-05-03 18:20:17 +00:00
Reid Spencer
0659c45204
Split target dependent test portions to target-specific directories.
...
llvm-svn: 36612
2007-05-01 02:56:15 +00:00
Reid Spencer
e7449654d1
For PR1370:
...
Rearrange some tests so that if PowerPC is not being built we don't try to
run PowerPC specific tests.
llvm-svn: 36587
2007-04-30 05:11:58 +00:00
Anton Korobeynikov
8a00ba1c69
Updated aliases test
...
llvm-svn: 36558
2007-04-29 10:34:42 +00:00
Chris Lattner
5f59451529
new testcase for PR1356
...
llvm-svn: 36535
2007-04-28 06:41:13 +00:00
Chris Lattner
73b3b80815
update for new inline asm syntax
...
llvm-svn: 36526
2007-04-28 05:20:26 +00:00
Dan Gohman
16259b4ff2
testcase for PR1339: http://llvm.org/PR1339
...
llvm-svn: 36492
2007-04-26 21:04:39 +00:00
Anton Korobeynikov
4ff20ff903
Add test to proper place. Also, XFAIL until ppc bootstrap will be ok.
...
llvm-svn: 36491
2007-04-26 20:49:05 +00:00
Anton Korobeynikov
d7ae7f1659
Fixx off-by-one bug, which prevents llvm-gcc bootstrap on ppc32
...
llvm-svn: 36490
2007-04-26 20:44:04 +00:00
Evan Cheng
d3d914b9f8
PR1348 test case.
...
llvm-svn: 36457
2007-04-26 01:14:14 +00:00
Evan Cheng
9f12bc480b
New test case.
...
llvm-svn: 36455
2007-04-26 00:07:36 +00:00
Chris Lattner
2a4853b424
&& no longer needed
...
llvm-svn: 36453
2007-04-25 22:32:55 +00:00
Bill Wendling
9b8d17db61
Testcase for codegen bug.
...
llvm-svn: 36450
2007-04-25 21:58:17 +00:00
Anton Korobeynikov
a97b694c82
Implement aliases. This fixes PR1017 and it's dependent bugs. CFE part
...
will follow.
llvm-svn: 36435
2007-04-25 14:27:10 +00:00
Chris Lattner
61e8297c44
new testcase that crashes llc
...
llvm-svn: 36412
2007-04-25 00:00:12 +00:00
Bill Wendling
f4fb685122
Testcases for MMX.
...
llvm-svn: 36408
2007-04-24 22:28:30 +00:00