Commit Graph

562 Commits

Author SHA1 Message Date
Dale Johannesen bcfa7c1255 Make test work on non-x86 hosts.
llvm-svn: 42671
2007-10-06 01:22:39 +00:00
Evan Cheng 5ee9cf6bca Test case for 3-address conversion.
llvm-svn: 42664
2007-10-05 23:33:09 +00:00
Evan Cheng 484cab7a2f Enable convertToThreeAddress for X86 by default.
llvm-svn: 42655
2007-10-05 22:31:10 +00:00
Evan Cheng 90a4185b5f New test case.
llvm-svn: 42628
2007-10-05 01:44:22 +00:00
Evan Cheng 89ca5b091f -pre-RA-sched=none, simple, simple-noitin are gone.
llvm-svn: 42505
2007-10-01 22:17:20 +00:00
Dan Gohman a90183e7d1 Teach SplitVectorOp how to split INSERT_VECTOR_ELT.
llvm-svn: 42457
2007-09-28 23:53:40 +00:00
Rafael Espindola 6c04ac1db0 Refactor the memcpy lowering for the x86 target.
The only generated code difference is that now we call memcpy when
the size of the array is unknown. This matches GCC behavior and is
better since the run time value can be arbitrarily large.

llvm-svn: 42433
2007-09-28 12:53:01 +00:00
Dale Johannesen 25a00a63eb Add sqrt and powi intrinsics for long double.
llvm-svn: 42423
2007-09-28 01:08:20 +00:00
Dale Johannesen b805d35d16 Modernize fabs.ll, add long double. Add tests
for direct codegen of fsin/fcos.

llvm-svn: 42369
2007-09-26 21:12:10 +00:00
Dan Gohman 31599685c7 When both x/y and x%y are needed (x and y both scalar integer), compute
both results with a single div or idiv instruction. This uses new X86ISD
nodes for DIV and IDIV which are introduced during the legalize phase
so that the SelectionDAG's CSE can automatically eliminate redundant
computations.

llvm-svn: 42308
2007-09-25 18:23:27 +00:00
Dale Johannesen 97d4bf2c41 Some tests for APFloat conversions.
llvm-svn: 42303
2007-09-25 17:50:55 +00:00
Evan Cheng 6cb71f7fe0 Forgot to check in the changes. Fix test case so it doesn't break with any scheduling changes.
llvm-svn: 42302
2007-09-25 17:47:38 +00:00
Dan Gohman 6002818999 Use the correct result value type instead of using getValueType(0)
in ExpandEXTRACT_VECTOR_ELT and SplitVectorOp. This fixes an abort
in the included testcase.

llvm-svn: 42264
2007-09-24 15:54:53 +00:00
Dale Johannesen ae4bb05103 Implementation of +sse -sse2 has changed; add
-sse to preserve intent of this test.

llvm-svn: 42247
2007-09-23 14:58:14 +00:00
Rafael Espindola 4730c04904 Don't add a default STACK_ALIGN (use the generic ABI alignment)
Implement calls to functions with byval arguments on X86

llvm-svn: 42192
2007-09-21 15:50:22 +00:00
Dan Gohman 4dbc582a36 Fix several more entries in the x86 reload/remat folding tables.
llvm-svn: 42162
2007-09-20 14:17:21 +00:00
Evan Cheng e7ff9da64b Clean up.
llvm-svn: 42112
2007-09-18 22:56:31 +00:00
Evan Cheng e2e8f2d96b Fix a bogus splat xform:
shuffle <undef, undef, x, undef>, <undef, undef, undef, undef>, <2, 2, 2, 2>
!=
<undef, undef, x, undef>

llvm-svn: 42111
2007-09-18 21:54:37 +00:00
Bill Wendling 067f1d8e95 Objective-C was generating EH frame info like this:
"_-[NSString(local) isNullOrNil]".eh = 0
        .no_dead_strip  "_-[NSString(local) isNullOrNil]".eh

The ".eh" should be inside the quotes.

llvm-svn: 42074
2007-09-18 01:47:22 +00:00
Dan Gohman 863bdc332d Emit integer x<1 as x<=0, as comparisons with zero (now includeing
64-bit) can use test instead of cmp with an immediate.

llvm-svn: 42026
2007-09-17 14:49:27 +00:00
Dan Gohman 51d1929b9e Use "test reg,reg" in place of "cmp reg,0" for 64-bit operands. This was
previously only done for 32-bit and smaller operands.

llvm-svn: 42024
2007-09-17 14:35:24 +00:00
Rafael Espindola 272f7304f0 Add support for functions with byval arguments on x86
llvm-svn: 41953
2007-09-14 15:48:13 +00:00
Dan Gohman a95cbb0007 Avoid storing and reloading zeros and other constants from stack slots
by flagging the associated instructions as being trivially rematerializable.

llvm-svn: 41775
2007-09-07 21:32:51 +00:00
Rafael Espindola 1de0c86717 Add support for having different alignment for objects on call frames.
The x86-64 ABI states that objects passed on the stack have
8 byte alignment. Implement that.

llvm-svn: 41768
2007-09-07 14:52:14 +00:00
Anton Korobeynikov 122bf4be7e Split eh.select / eh.typeid.for intrinsics into i32/i64 versions. This is needed, because they just "mark" register
liveins and we let frontend solve type issue, not lowering code :)

llvm-svn: 41763
2007-09-07 11:39:35 +00:00
Anton Korobeynikov a07765b8f4 Proper handle case, when aliasee is external weak symbol referenced only by alias itself.
Also, fix a case, when target doesn't have weak symbols supported.

llvm-svn: 41746
2007-09-06 17:21:48 +00:00
Evan Cheng 189df733ed Fix a bug in X86InstrInfo::convertToThreeAddress that caused it to codegen:
leal    (,%rcx,8), %rcx
It should be
leal    (,%rcx,8), %ecx

llvm-svn: 41735
2007-09-06 00:14:41 +00:00
Dale Johannesen 6480cc6f8c Change all floating constants that are not exactly
representable to use hex format.

llvm-svn: 41722
2007-09-05 17:50:36 +00:00
Evan Cheng e0cb6bb8da Fix for PR1632. EHSELECTION always produces a i32 value.
llvm-svn: 41712
2007-09-04 20:39:26 +00:00
Rafael Espindola e636fc05d6 Initial support for calling functions with byval arguments on x86-64
llvm-svn: 41643
2007-08-31 15:06:30 +00:00
Evan Cheng 2e9d48aa0d Update test case to reflect Dale's change.
llvm-svn: 41639
2007-08-31 06:29:32 +00:00
Tanya Lattner ffb806cf0e Do not run on darwin.
llvm-svn: 41608
2007-08-30 16:07:20 +00:00
Evan Cheng ebb8540067 Added support to fold X86 load / store instructions. This allow rematerialized loads to be folded into their uses.
llvm-svn: 41599
2007-08-30 05:54:07 +00:00
Dan Gohman 312b70a970 Add explicit triples to avoid default behavior that varies by host.
llvm-svn: 41510
2007-08-27 20:54:48 +00:00
Dan Gohman 8dc0b93151 If the source and destination pointers in an llvm.memmove are known
to not alias each other, it can be translated as an llvm.memcpy.

llvm-svn: 41489
2007-08-27 16:26:13 +00:00
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
Lauro Ramos Venancio fe6e3f49b1 Add TLS tests.
llvm-svn: 36360
2007-04-23 01:29:35 +00:00
Reid Spencer 225b2732a4 Use the llvm_supports_target function to prevent running of tests for
targets that LLVM is not configured to support.

llvm-svn: 36315
2007-04-21 20:41:27 +00:00
Evan Cheng b76ba096fe Fix test.
llvm-svn: 36266
2007-04-20 00:45:36 +00:00
Chris Lattner 1af7b8451e new testcase
llvm-svn: 36243
2007-04-18 03:04:37 +00:00
Evan Cheng 9fcce44e7f New crasher test case.
llvm-svn: 36241
2007-04-18 02:35:10 +00:00
Anton Korobeynikov 8b7aab009e Implemented correct stack probing on mingw/cygwin for dynamic alloca's.
Also, fixed static case in presence of eax livin. This fixes PR331

PS: Why don't we still have push/pop instructions? :)
llvm-svn: 36195
2007-04-17 09:20:00 +00:00
Chris Lattner f69ab9475c refix this
llvm-svn: 36172
2007-04-16 21:30:21 +00:00
Chris Lattner e0a060043b use an x86 t-t for an x86 test. Thanks to Dan for noticing this!
llvm-svn: 36170
2007-04-16 21:26:37 +00:00
Chris Lattner 320ce04cb2 fix this test
llvm-svn: 36160
2007-04-16 21:05:37 +00:00
Evan Cheng a17265bfbd Fixes tests and remove xfail.
llvm-svn: 36152
2007-04-16 20:04:11 +00:00
Evan Cheng 6ccf9a8362 One more callee-saved register used.
llvm-svn: 36151
2007-04-16 18:59:25 +00:00
Reid Spencer 6e87ec4351 For PR1319:
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
2007-04-16 17:36:08 +00:00
Reid Spencer 4dcf8bff4b For PR1319:
Fix syntax of tests to ensure grep pattern is properly quoted.

llvm-svn: 36134
2007-04-16 15:31:49 +00:00
Reid Spencer 86f337eeda For PR1319:
Fix test syntax per new rules.

llvm-svn: 36133
2007-04-16 15:15:52 +00:00
Reid Spencer 15326fa114 For PR1336:
Rename test functions to not conflict with an instruction mnemonic.

llvm-svn: 36130
2007-04-16 14:23:07 +00:00
Reid Spencer b100325547 For PR1336:
Ignore case for instruction mnemonic comparison.

llvm-svn: 36129
2007-04-16 14:20:28 +00:00
Reid Spencer 5203d296c6 Wrap long line.
llvm-svn: 36128
2007-04-16 14:17:04 +00:00
Reid Spencer 0c1a31c92f For PR1336:
Ignore case for register name compare.

llvm-svn: 36127
2007-04-16 14:14:31 +00:00
Reid Spencer 6584cf60f2 For PR1336:
XFAIL tests covered by the PR. These will be un-XFAILed as they are fixed.

llvm-svn: 36093
2007-04-15 23:00:46 +00:00
Reid Spencer 1c75ef2ce2 For PR1319: Upgrade to new test harness.
llvm-svn: 36091
2007-04-15 22:20:47 +00:00
Chris Lattner a9ce1c0130 this test isn't testing what it thought it was
llvm-svn: 36088
2007-04-15 21:33:36 +00:00
Chris Lattner 26d9e9c452 New testcase
llvm-svn: 35969
2007-04-13 20:28:08 +00:00
Chris Lattner 9bab80543a new testcase
llvm-svn: 35942
2007-04-12 05:58:21 +00:00
Reid Spencer d029c7e666 Make the llvm-runtest function much more amenable by eliminating all the
global variables that needed to be passed in. This makes it possible to
add new global variables with only a couple changes (Makefile and llvm-dg.exp)
instead of touching every single dg.exp file.

llvm-svn: 35918
2007-04-11 19:56:59 +00:00
Chris Lattner 2feb7abbd5 this got better
llvm-svn: 35908
2007-04-11 16:12:27 +00:00
Chris Lattner 9f780e339e new testcases for integer abs function
llvm-svn: 35880
2007-04-11 05:02:57 +00:00
Chris Lattner ea1369275b add another test
llvm-svn: 35801
2007-04-09 05:26:48 +00:00
Chris Lattner 8a06ca02d8 The x constraint allows scalar FP values as well as vectors.
llvm-svn: 35798
2007-04-09 05:11:03 +00:00
Chris Lattner d733c17fce testcase for PR1314
llvm-svn: 35778
2007-04-08 22:22:53 +00:00
Evan Cheng 8f61b79d60 Better still.
llvm-svn: 35663
2007-04-04 08:49:40 +00:00
Evan Cheng ee06655d6b These got better.
llvm-svn: 35661
2007-04-04 07:41:15 +00:00
Chris Lattner dd59227a73 fix this testcase on ppc hosts
llvm-svn: 35603
2007-04-02 20:39:48 +00:00
Reid Spencer 84c90a9431 Let llvm-upgrade upgrade the bswap intrinsic.
llvm-svn: 35569
2007-04-02 01:09:19 +00:00
Reid Spencer c3d87685ad For PR1297:
Update these test cases to use proper signatures for bswap which is now
and overloaded intrinsic. Its name must be of the form llvm.bswap.i32.i32
since both the parameter and the result or of type "iAny". Also, the
bit counting intrinsics changed to always return i32.

llvm-svn: 35548
2007-04-01 07:36:28 +00:00
Chris Lattner d1440c429f add a testcase for x86
llvm-svn: 35516
2007-03-30 21:22:46 +00:00
Chris Lattner 17331da6bd new testcases
llvm-svn: 35433
2007-03-28 18:11:17 +00:00
Chris Lattner 66cb5db76f new testcase
llvm-svn: 35432
2007-03-28 18:03:14 +00:00
Reid Spencer 44259a29c0 Remove use of implementation keyword.
llvm-svn: 35412
2007-03-28 02:38:26 +00:00
Chris Lattner 25f82845b3 new testcase
llvm-svn: 35331
2007-03-25 05:00:23 +00:00
Chris Lattner 6089146aa3 new testcase
llvm-svn: 35326
2007-03-25 04:35:23 +00:00
Chris Lattner f4579c7872 new testcase
llvm-svn: 35323
2007-03-25 02:17:58 +00:00
Chris Lattner 421ac38bd6 new testcase
llvm-svn: 35317
2007-03-25 01:44:40 +00:00
Chris Lattner d95d748a4d These functions should use shll, not lea.
llvm-svn: 35203
2007-03-20 06:01:41 +00:00
Reid Spencer 7953b683fc For PR1258:
Revise numeric value references to accommodate collapsed type planes.

llvm-svn: 35170
2007-03-19 18:27:35 +00:00
Devang Patel ac1f488548 Test case for X86 inline asm constraint 'I'
llvm-svn: 35130
2007-03-17 00:14:52 +00:00
Bill Wendling 144b8bbf17 And now support for MMX logical operations.
llvm-svn: 35125
2007-03-16 09:44:46 +00:00
Bill Wendling e31034125c Multiplication support for MMX.
llvm-svn: 35118
2007-03-15 21:24:36 +00:00
Evan Cheng ca6fab953f This got better.
llvm-svn: 35090
2007-03-13 23:26:41 +00:00
Bill Wendling e9b81f5366 Adding more arithmetic operators to MMX. This is an almost exact copy of
the addition. Please let me know if you have suggestions.

llvm-svn: 35055
2007-03-10 09:57:05 +00:00
Chris Lattner 577e8b4ed8 upgrade this testcase, add test for fp immediate to memory operand.
llvm-svn: 35034
2007-03-08 22:33:06 +00:00
Bill Wendling c8eb6b1b15 Add MMX arithmetic testcase.
llvm-svn: 35032
2007-03-08 22:14:51 +00:00
Bill Wendling b1c86b49ea Add the emms intrinsic for MMX support.
llvm-svn: 34938
2007-03-05 23:09:45 +00:00
Evan Cheng b7bef1bc74 Add a new test case.
llvm-svn: 34842
2007-03-02 10:37:19 +00:00
Anton Korobeynikov af8be4458f Ensure that fastcall'ed function is correctly mangled & stack is
properly aligned

llvm-svn: 34788
2007-03-01 16:29:22 +00:00
Chris Lattner debe91c78a Eliminate enable-x86-fastcc
llvm-svn: 34753
2007-02-28 18:38:58 +00:00
Chris Lattner cbb545158b fastcc -> fastcall
llvm-svn: 34749
2007-02-28 18:35:36 +00:00
Chris Lattner 559b60da64 fastcc -> fastcall
llvm-svn: 34747
2007-02-28 18:21:50 +00:00
Chris Lattner 6fa4086649 fastcc -> fastcall
llvm-svn: 34746
2007-02-28 17:42:50 +00:00
Chris Lattner 900b4f62be new testcase
llvm-svn: 34622
2007-02-26 03:16:20 +00:00
Chris Lattner c864f6a786 new testcase
llvm-svn: 34614
2007-02-25 23:08:29 +00:00
Chris Lattner 39a72143cb new testcase
llvm-svn: 34612
2007-02-25 22:23:15 +00:00
Chris Lattner 2b8b520e53 verify that double is returned in XMM0 if the function is fastcc.
llvm-svn: 34591
2007-02-25 09:30:03 +00:00
Chris Lattner 26ef86b6fe new testcase
llvm-svn: 34583
2007-02-25 08:23:01 +00:00
Chris Lattner 64b8352586 verify i128 return on x86-64 continues to codegen optimally.
llvm-svn: 34575
2007-02-25 06:06:49 +00:00
Evan Cheng 0c99b096c5 Added test case for PR1207.
llvm-svn: 34429
2007-02-19 21:53:59 +00:00
Dale Johannesen 12920dda9e Fixes PR 1200
llvm-svn: 34359
2007-02-17 00:44:34 +00:00
Chris Lattner 9b600ab5a6 new testcase, by Dan Gohman
llvm-svn: 34255
2007-02-13 23:41:24 +00:00
Evan Cheng 815c25d191 i64 setcc tests.
llvm-svn: 34067
2007-02-08 22:27:55 +00:00
Reid Spencer 61ae7b7869 Make the RUN: line readable.
llvm-svn: 33906
2007-02-05 10:09:41 +00:00
Reid Spencer 4e76c3a482 For PR411:
Don't re-use var names.

llvm-svn: 33899
2007-02-05 04:00:04 +00:00
Chris Lattner 03503b5e31 new testcase for x86 backend miscompilation
llvm-svn: 33883
2007-02-04 20:15:15 +00:00
Reid Spencer 2341c22ec7 Changes to support making the shift instructions be true BinaryOperators.
This feature is needed in order to support shifts of more than 255 bits
on large integer types.  This changes the syntax for llvm assembly to
make shl, ashr and lshr instructions look like a binary operator:
   shl i32 %X, 1
instead of
   shl i32 %X, i8 1
Additionally, this should help a few passes perform additional optimizations.

llvm-svn: 33776
2007-02-02 02:16:23 +00:00
Reid Spencer af6a408117 For PR411:
Update these tests to not use the same name even though the type of the
value differs. After PR411 hits, type planes will be gone and it will be
illegal for a name to be used twice, regardless of type.

llvm-svn: 33660
2007-01-30 16:16:01 +00:00
Chris Lattner 6acab41ede test that the 'ir' constraint works.
llvm-svn: 33646
2007-01-29 23:55:20 +00:00
Reid Spencer ce380568b5 For PR761:
Remove "target endian/pointersize" or add "target datalayout" to make
the test parse properly or set the datalayout because defaults changes.

For PR645:
Make global names use the @ prefix.

For llvm-upgrade changes:
Fix test cases or completely remove use of llvm-upgrade for test cases
that cannot survive the new renaming or upgrade capabilities.

llvm-svn: 33533
2007-01-26 08:25:06 +00:00
Anton Korobeynikov 3f6d52834b * Fix one more bug in PIC codegen: extra load is needed for *all*
non-statics.
* Introduce new option to output zero-initialized data to .bss section.
This can reduce size of binaries. Enable it by default for ELF &
Cygwin/Mingw targets. Probably, Darwin should be also added.

llvm-svn: 33299
2007-01-17 10:33:08 +00:00
Reid Spencer 83b3d82672 Regression is gone, don't try to find it on clean target.
llvm-svn: 33296
2007-01-17 07:59:14 +00:00