Nate Begeman
b2c4bf3ff6
Handle some more real world cases of rlwimi. These don't come up that
...
regularly in "normal" code, but for things like software graphics, they
make a big difference.
For the following code:
unsigned short Trans16Bit(unsigned srcA,unsigned srcB,unsigned alpha)
{
unsigned tmpA,tmpB,mixed;
tmpA = ((srcA & 0x03E0) << 15) | (srcA & 0x7C1F);
tmpB = ((srcB & 0x03E0) << 15) | (srcB & 0x7C1F);
mixed = (tmpA * alpha) + (tmpB * (32 - alpha));
return ((mixed >> 5) & 0x7C1F) | ((mixed >> 20) & 0x03E0);
}
We now generate:
_Trans16Bit:
.LBB_Trans16Bit_0: ; entry
andi. r2, r4, 31775
rlwimi r2, r4, 15, 7, 11
subfic r4, r5, 32
mullw r2, r2, r4
andi. r4, r3, 31775
rlwimi r4, r3, 15, 7, 11
mullw r3, r4, r5
add r2, r2, r3
srwi r3, r2, 5
andi. r3, r3, 31775
rlwimi r3, r2, 12, 22, 26
blr
Instead of:
_Trans16Bit:
.LBB_Trans16Bit_0: ; entry
slwi r2, r4, 15
rlwinm r2, r2, 0, 7, 11
andi. r4, r4, 31775
or r2, r2, r4
subfic r4, r5, 32
mullw r2, r2, r4
slwi r4, r3, 15
rlwinm r4, r4, 0, 7, 11
andi. r3, r3, 31775
or r3, r4, r3
mullw r3, r3, r5
add r2, r2, r3
srwi r3, r2, 5
andi. r3, r3, 31775
srwi r2, r2, 20
rlwimi r3, r2, 0, 22, 26
blr
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22201 91177308-0d34-0410-b5e6-96231b3b80d8
2005-06-08 04:14:27 +00:00
Nate Begeman
6dae3308f5
Fix lli linking on Mac OS X 10.4.1 for Intel.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22200 91177308-0d34-0410-b5e6-96231b3b80d8
2005-06-08 01:02:38 +00:00
Andrew Lenharth
141e488a70
Remove code for conversion from old style va_args. Preparing the way for
...
returning to the old style :)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22199 91177308-0d34-0410-b5e6-96231b3b80d8
2005-06-08 00:49:08 +00:00
Misha Brukman
6d2e334cce
We also have V8, so do not force every Sparc to be treated like a V9. It is
...
still possible to force V9 (even if configure doesn't think it's one) via
``./configure --target=sparcv9-sun-solaris2.8'' so nothing is lost.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22198 91177308-0d34-0410-b5e6-96231b3b80d8
2005-06-06 19:29:36 +00:00
Misha Brukman
4391bb537d
* Add ability to specify the target LLVM will compile for via configure
...
* Minor whitespace cleanups
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22197 91177308-0d34-0410-b5e6-96231b3b80d8
2005-06-06 19:17:05 +00:00
Misha Brukman
5e96a3a49f
Fix spelling of `correlate'
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22196 91177308-0d34-0410-b5e6-96231b3b80d8
2005-06-06 19:08:04 +00:00
Andrew Lenharth
cd7f8cf70b
allow marking of loads and stores in the instruction stream with enough information to reconstruct the Value* if it existed
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22195 91177308-0d34-0410-b5e6-96231b3b80d8
2005-06-06 19:03:55 +00:00
Andrew Lenharth
eee2a881cf
hide basic block labels. The utility of these for debuging is long since passed
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22194 91177308-0d34-0410-b5e6-96231b3b80d8
2005-06-06 19:03:09 +00:00
Misha Brukman
b8ee91a80f
* Replace block of commented-out lines with #if 0
...
* Remove warning "control reaches end of non-void function"
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22193 91177308-0d34-0410-b5e6-96231b3b80d8
2005-06-06 17:39:46 +00:00
Andrew Lenharth
837be1ec35
hack to fix bzip2 (bug 571)
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22192 91177308-0d34-0410-b5e6-96231b3b80d8
2005-06-04 12:43:56 +00:00
Reid Spencer
c84492c2db
Fix the definitions of LLVMGCC and LLVMGXX to include the EXEEXT (the
...
.exe extension) on Cygwin. This fixes the last few remaining Cygwin
issues. Thanks to Aaron Gray for tracking this down.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22191 91177308-0d34-0410-b5e6-96231b3b80d8
2005-06-02 22:34:49 +00:00
Reid Spencer
628214eb74
Make sure that Cygwin assembly includes _ as part of function names.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22190 91177308-0d34-0410-b5e6-96231b3b80d8
2005-06-02 21:33:19 +00:00
Reid Spencer
932e2e33eb
Put in a hack for Cygwin that prevents mkdtemp from being used since
...
configure seems to find it on Cygwin but linking against it fails.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22189 91177308-0d34-0410-b5e6-96231b3b80d8
2005-06-02 05:38:20 +00:00
Andrew Lenharth
e3c8c0a49d
try custom expanders, doesn't seem to expand yet, so disabled
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22188 91177308-0d34-0410-b5e6-96231b3b80d8
2005-05-31 19:49:34 +00:00
Andrew Lenharth
591ec57c09
switch to the new live in thing. Really, this time it works
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22187 91177308-0d34-0410-b5e6-96231b3b80d8
2005-05-31 18:42:18 +00:00
Andrew Lenharth
14f30c927d
switch to the new live in thing
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22186 91177308-0d34-0410-b5e6-96231b3b80d8
2005-05-31 18:37:16 +00:00
Andrew Lenharth
fd5e4b778f
switch to the new live in thing
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22185 91177308-0d34-0410-b5e6-96231b3b80d8
2005-05-31 18:35:43 +00:00
Reid Spencer
085ae945af
Make sure the tools get built if no build target is specified.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22184 91177308-0d34-0410-b5e6-96231b3b80d8
2005-05-29 00:49:24 +00:00
Andrew Lenharth
044f31ffb1
match gcc, makes diff easier
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22179 91177308-0d34-0410-b5e6-96231b3b80d8
2005-05-27 03:39:30 +00:00
Andrew Lenharth
69520ed67a
Fix 2005-05-12-Int64ToFP
...
The issue is there is no unsigned -> double conversion, only signed. So I
need to test the sign and do a different thing depending on it. Ideally
this should be in a different BB, but in the mean time, I use a branch
free method.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22177 91177308-0d34-0410-b5e6-96231b3b80d8
2005-05-26 18:18:34 +00:00
Misha Brukman
f5f37f0d8f
Add a -cvstag option for testing specific branches, such as release candidates
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22176 91177308-0d34-0410-b5e6-96231b3b80d8
2005-05-26 16:28:55 +00:00
Reid Spencer
8b1f7676bd
Add a "libs-only" target for avoiding construction of the tools and
...
runtime libraries.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22169 91177308-0d34-0410-b5e6-96231b3b80d8
2005-05-25 21:03:17 +00:00
Reid Spencer
45eeed9b35
Two dist-check related changes:
...
1. Allow DIST_CHECK_CONFIG_OPTION to specify a set of options to be passed
to the configure script during the dist-check target. This allows things
to be passed down on a project basis so the configure doesn't fail.
2. Use the tar | (cd ; tar ) idiom to copy files which is more flexible
than using the cp command. THis allows us to exclude CVS .svn
directories at source rather than stripping them out of the tar ball.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22166 91177308-0d34-0410-b5e6-96231b3b80d8
2005-05-24 02:33:20 +00:00
Reid Spencer
70dd5214c4
Remove trailing blank line, just to test whether the new commit script
...
is going to credit the commit correctly or not.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22165 91177308-0d34-0410-b5e6-96231b3b80d8
2005-05-21 01:29:30 +00:00
Reid Spencer
89026028d1
Make the registration hash_map static. No other module needs it. Also,
...
document what its for a little better.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22164 91177308-0d34-0410-b5e6-96231b3b80d8
2005-05-21 01:27:04 +00:00
Reid Spencer
0660f754df
Adjust the file comment to read a little easier.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22163 91177308-0d34-0410-b5e6-96231b3b80d8
2005-05-21 00:57:44 +00:00
Reid Spencer
b82baf04ec
Make sure ... arguments are casted to sbyte* where needed.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22162 91177308-0d34-0410-b5e6-96231b3b80d8
2005-05-21 00:39:30 +00:00
Reid Spencer
5845623148
Add a "brief" comment for CastToCStr
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22161 91177308-0d34-0410-b5e6-96231b3b80d8
2005-05-21 00:23:23 +00:00
Chris Lattner
35e6dc8ccf
new testcase
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22160 91177308-0d34-0410-b5e6-96231b3b80d8
2005-05-20 22:25:44 +00:00
Chris Lattner
9375135999
Fix mismatched type problem that crashed on cases like this:
...
sprintf(P, "%s", X);
Where X is not an sbyte*. This fixes the bug JohnMC reported on llvm-bugs.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22159 91177308-0d34-0410-b5e6-96231b3b80d8
2005-05-20 22:22:25 +00:00
Chris Lattner
42eb7524ef
Fix Transforms/SimplifyCFG/switch-simplify-crash.ll
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22158 91177308-0d34-0410-b5e6-96231b3b80d8
2005-05-20 22:19:54 +00:00
Chris Lattner
07b5c9d68f
New testcase that crashes simplifycfg, identified accidentally by JohnMC
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22157 91177308-0d34-0410-b5e6-96231b3b80d8
2005-05-20 22:19:34 +00:00
Nate Begeman
be13634907
C'mon everybody, let's modify X86JITInfo.cpp. This time, we add <iostream>
...
so that the shiny new use of std::cerr is defined.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22156 91177308-0d34-0410-b5e6-96231b3b80d8
2005-05-20 21:29:24 +00:00
Reid Spencer
2a43970b28
Finally get the quoting right for both Unix and Windows for the llvmgcc and
...
llvmgxx programs. dejagnu doesn't understand single quote and we need to
pass double quotes through to the shell in order to escape blanks in the
paths. This patch uses \" to escape the quotes passed through to the shell.
Thanks to Aaron Gray for testing this out on cygwin.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22155 91177308-0d34-0410-b5e6-96231b3b80d8
2005-05-20 20:13:41 +00:00
Misha Brukman
57ebf3d6a8
Since everyone else has "fixed" this file, might as well join in the fun.
...
* Change assert() to std::cerr printout, as it will not appear in opt builds
* Add comments to clarify what #ifdef/#else/#endif match what condition(s)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22154 91177308-0d34-0410-b5e6-96231b3b80d8
2005-05-20 19:46:50 +00:00
Andrew Lenharth
edd47f21c5
now with a legend, and multiple lines work.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22153 91177308-0d34-0410-b5e6-96231b3b80d8
2005-05-20 17:50:51 +00:00
Andrew Lenharth
24d77506d0
OK, the simple scheme for the db plus a couple of cgi scripts that
...
do the dynamic plotting of stuff. Still being tested, but makes graphs
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22152 91177308-0d34-0410-b5e6-96231b3b80d8
2005-05-20 17:33:42 +00:00
Chris Lattner
170fbcbc63
Fix this a 3rd time :)
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22151 91177308-0d34-0410-b5e6-96231b3b80d8
2005-05-20 17:00:21 +00:00
Andrew Lenharth
75a51277d2
fix compilation error due to no abort being defined. There is probably a better way to do this
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22150 91177308-0d34-0410-b5e6-96231b3b80d8
2005-05-20 16:34:44 +00:00
Duraid Madina
04aa46d647
re-enable direct calls, this should just be a performance boost
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22148 91177308-0d34-0410-b5e6-96231b3b80d8
2005-05-20 11:39:17 +00:00
Duraid Madina
732c843f0e
this seems dead (and broke the ia64 build, so..)
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22147 91177308-0d34-0410-b5e6-96231b3b80d8
2005-05-20 06:21:59 +00:00
Chris Lattner
6184febcda
Give the asmparser the ability to parse strings. Patch contributed by
...
Alexander Friedman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22146 91177308-0d34-0410-b5e6-96231b3b80d8
2005-05-20 03:25:47 +00:00
Chris Lattner
98c162a086
Give the asmparser the ability to parse strings, patch contributed by
...
Alexander Friedman!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22145 91177308-0d34-0410-b5e6-96231b3b80d8
2005-05-20 03:25:29 +00:00
Jeff Cohen
8bc6f934e8
Fix tail call support in VC++ builds
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22143 91177308-0d34-0410-b5e6-96231b3b80d8
2005-05-20 01:35:39 +00:00
Reid Spencer
ad38cd6ad0
Make sure that tool names don't have any leading or trailing spaces in them.
...
If they do, it screws up the concatenation of the .exe suffix on cygwin.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22142 91177308-0d34-0410-b5e6-96231b3b80d8
2005-05-19 21:10:31 +00:00
Reid Spencer
5da2d08433
Make sure that tool names don't have any leading or trailing spaces in them.
...
If they do, it screws up the concatenation of the .exe suffix on cygwin.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22141 91177308-0d34-0410-b5e6-96231b3b80d8
2005-05-19 21:03:11 +00:00
Reid Spencer
aa8bc43007
Build the install directories just exactly as any others. Hopefully this
...
helps out cygwin build.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22140 91177308-0d34-0410-b5e6-96231b3b80d8
2005-05-19 20:26:14 +00:00
Reid Spencer
dde5e387d2
For PR514: Do not configure removed files
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22139 91177308-0d34-0410-b5e6-96231b3b80d8
2005-05-19 08:37:50 +00:00
Reid Spencer
ed93e115c8
For PR514: Do not configure removed files
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22138 91177308-0d34-0410-b5e6-96231b3b80d8
2005-05-19 08:31:55 +00:00
Chris Lattner
1030f72f8a
Fastcc passes arguments in EAX and EDX, make sure the JIT doesn't clobber them
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22137 91177308-0d34-0410-b5e6-96231b3b80d8
2005-05-19 06:49:17 +00:00