Tanya Lattner
|
fb76291234
|
Minor fixes for the release.
llvm-svn: 27854
|
2006-04-20 04:35:34 +00:00 |
Chris Lattner
|
6400606664
|
This has been fixed! Thanks Reid.
llvm-svn: 27853
|
2006-04-20 04:24:28 +00:00 |
Chris Lattner
|
d05559828a
|
Yeah that's right!
llvm-svn: 27852
|
2006-04-20 04:22:06 +00:00 |
Chris Lattner
|
70dfe24866
|
Fixes from Tanya
llvm-svn: 27851
|
2006-04-20 04:01:31 +00:00 |
Reid Spencer
|
df65ba121b
|
Add in missing #defines for _OpenBSD_ systems.
llvm-svn: 27850
|
2006-04-20 00:18:39 +00:00 |
Evan Cheng
|
15c264b753
|
Handle v2i64 BUILD_VECTOR custom lowering correctly. v2i64 is a legal type,
but i64 is not. If possible, change a i64 op to a f64 (e.g. load, constant)
and then cast it back.
llvm-svn: 27849
|
2006-04-20 00:11:39 +00:00 |
Reid Spencer
|
48b9203a40
|
Allow OpenBSD to be recognized as a UNIX platform.
llvm-svn: 27848
|
2006-04-19 23:47:16 +00:00 |
Evan Cheng
|
4a1b0d3292
|
isSplatMask() bug: first element can be an undef.
llvm-svn: 27847
|
2006-04-19 23:28:59 +00:00 |
Chris Lattner
|
73eb58e1a2
|
Simplify some code
llvm-svn: 27846
|
2006-04-19 23:17:50 +00:00 |
Evan Cheng
|
a3caaee503
|
- Added support to do aribitrary 4 wide shuffle with no more than three
instructions.
- Fixed a commute vector_shuff bug.
llvm-svn: 27845
|
2006-04-19 22:48:17 +00:00 |
Evan Cheng
|
6d5297dac3
|
Prefer {p}unpack* and mov*dup over {p}shuf* as well.
llvm-svn: 27844
|
2006-04-19 21:15:24 +00:00 |
Evan Cheng
|
52df74000a
|
Renamed AddedCost to AddedComplexity.
llvm-svn: 27843
|
2006-04-19 20:38:28 +00:00 |
Evan Cheng
|
b416a25174
|
- Renamed AddedCost to AddedComplexity.
- Added more movhlps and movlhps patterns.
llvm-svn: 27842
|
2006-04-19 20:37:34 +00:00 |
Evan Cheng
|
9235d848b7
|
Rename AddedCost to AddedComplexity.
llvm-svn: 27841
|
2006-04-19 20:36:09 +00:00 |
Evan Cheng
|
7855e4d032
|
Commute vector_shuffle to match more movlhps, movlp{s|d} cases.
llvm-svn: 27840
|
2006-04-19 20:35:22 +00:00 |
Chris Lattner
|
f2f4aedc6e
|
Final piece to get relinked .o files buildable universal on Darwin.
llvm-svn: 27839
|
2006-04-19 18:45:29 +00:00 |
Chris Lattner
|
7d17a77d5e
|
Regenerate
llvm-svn: 27838
|
2006-04-19 18:38:19 +00:00 |
Chris Lattner
|
b3305fb203
|
When on darwin, compiler_flags need to be percolated down to the 'gcc -r'
command line so that relinked .o files can be built universal.
llvm-svn: 27837
|
2006-04-19 18:34:41 +00:00 |
Evan Cheng
|
cc7abc6c38
|
More mov{h|l}p{d|s} patterns.
llvm-svn: 27836
|
2006-04-19 18:20:17 +00:00 |
Evan Cheng
|
aeb09ccdd3
|
- More mov{h|l}ps patterns.
- Increase cost (complexity) of patterns which match mov{h|l}ps ops. These
are preferred over shufps in most cases.
llvm-svn: 27835
|
2006-04-19 18:11:52 +00:00 |
Evan Cheng
|
aa3325e925
|
Allow "let AddedCost = n in" to increase pattern complexity.
llvm-svn: 27834
|
2006-04-19 18:07:24 +00:00 |
Chris Lattner
|
7b96902d35
|
Alpha too!
llvm-svn: 27833
|
2006-04-19 17:20:48 +00:00 |
Chris Lattner
|
05bbec5020
|
add a note
llvm-svn: 27832
|
2006-04-19 16:22:38 +00:00 |
Andrew Lenharth
|
02f9df3b7b
|
Another simple case type merge case to try
llvm-svn: 27831
|
2006-04-19 15:34:34 +00:00 |
Andrew Lenharth
|
edf349aba6
|
deal with memchr
llvm-svn: 27830
|
2006-04-19 15:34:02 +00:00 |
Andrew Lenharth
|
7f2cee3d3e
|
friendlier error message
llvm-svn: 27829
|
2006-04-19 15:33:35 +00:00 |
Chris Lattner
|
a922a516b0
|
add a note
llvm-svn: 27828
|
2006-04-19 05:55:06 +00:00 |
Chris Lattner
|
bfab82817a
|
Add a note.
llvm-svn: 27827
|
2006-04-19 05:53:27 +00:00 |
Chris Lattner
|
263fc2a642
|
grammaro
llvm-svn: 27826
|
2006-04-19 04:21:57 +00:00 |
Chris Lattner
|
cb2170fb37
|
Fix a bug owen noticed
llvm-svn: 27825
|
2006-04-19 04:21:16 +00:00 |
Chris Lattner
|
c3e92b56a3
|
Change wording
llvm-svn: 27824
|
2006-04-19 04:12:01 +00:00 |
Chris Lattner
|
e9e46a746d
|
add a note
llvm-svn: 27823
|
2006-04-19 04:05:21 +00:00 |
Chris Lattner
|
0b7fd71e1c
|
add some more notes
llvm-svn: 27822
|
2006-04-19 04:02:47 +00:00 |
Andrew Lenharth
|
7c8be502e9
|
stupid stuff
llvm-svn: 27821
|
2006-04-19 03:45:25 +00:00 |
Andrew Lenharth
|
2bdd6fe9ef
|
fix printing call graphs
llvm-svn: 27820
|
2006-04-18 23:45:19 +00:00 |
Andrew Lenharth
|
3e642d012a
|
I understand now. Shoot.
llvm-svn: 27819
|
2006-04-18 22:36:11 +00:00 |
Evan Cheng
|
3823aa1d0f
|
- PEXTRW cannot take a memory location as its first source operand.
- PINSRWrmi encoding bug.
llvm-svn: 27818
|
2006-04-18 21:59:43 +00:00 |
Evan Cheng
|
43f4ef4ffb
|
SHUFP{S|D}, PSHUF* encoding bugs. Left out the mask immediate operand.
llvm-svn: 27817
|
2006-04-18 21:56:36 +00:00 |
Evan Cheng
|
a179ea631d
|
Name change for clarity sake
llvm-svn: 27816
|
2006-04-18 21:55:35 +00:00 |
Evan Cheng
|
09e36ef710
|
Encoding bug: CMPPSrmi, CMPPDrmi dropped operand 2 (condtion immediate).
llvm-svn: 27815
|
2006-04-18 21:31:08 +00:00 |
Evan Cheng
|
d799d680f4
|
Name change for clarity sake
llvm-svn: 27814
|
2006-04-18 21:29:50 +00:00 |
Evan Cheng
|
0ee281f37c
|
Left a pattern out
llvm-svn: 27813
|
2006-04-18 21:29:08 +00:00 |
Andrew Lenharth
|
f70cb84083
|
llvm.memc* improvements. helps PA a lot in some specmarks
llvm-svn: 27812
|
2006-04-18 20:59:52 +00:00 |
Andrew Lenharth
|
49e188d7f7
|
llvm.memc* improvements. helps PA a lot in some specmarks
llvm-svn: 27811
|
2006-04-18 19:54:11 +00:00 |
Chris Lattner
|
34c901b50e
|
These are correctly encoded by the JIT. I checked :)
llvm-svn: 27810
|
2006-04-18 19:03:38 +00:00 |
Chris Lattner
|
197d762232
|
add a note
llvm-svn: 27809
|
2006-04-18 18:30:19 +00:00 |
Chris Lattner
|
518834c67e
|
Fix a crash on:
void foo2(vector float *A, vector float *B) {
vector float C = (vector float)vec_cmpeq(*A, *B);
if (!vec_any_eq(*A, *B))
*B = (vector float){0,0,0,0};
*A = C;
}
llvm-svn: 27808
|
2006-04-18 18:28:22 +00:00 |
Evan Cheng
|
e2d25a1a50
|
Fixed an encoding bug: movd from XMM to R32.
llvm-svn: 27807
|
2006-04-18 18:19:00 +00:00 |
Chris Lattner
|
1e174c87c3
|
pretty print node name
llvm-svn: 27806
|
2006-04-18 18:05:58 +00:00 |
Chris Lattner
|
9754d142a4
|
Implement an important entry from README_ALTIVEC:
If an altivec predicate compare is used immediately by a branch, don't
use a (serializing) MFCR instruction to read the CR6 register, which requires
a compare to get it back to CR's. Instead, just branch on CR6 directly. :)
For example, for:
void foo2(vector float *A, vector float *B) {
if (!vec_any_eq(*A, *B))
*B = (vector float){0,0,0,0};
}
We now generate:
_foo2:
mfspr r2, 256
oris r5, r2, 12288
mtspr 256, r5
lvx v2, 0, r4
lvx v3, 0, r3
vcmpeqfp. v2, v3, v2
bne cr6, LBB1_2 ; UnifiedReturnBlock
LBB1_1: ; cond_true
vxor v2, v2, v2
stvx v2, 0, r4
mtspr 256, r2
blr
LBB1_2: ; UnifiedReturnBlock
mtspr 256, r2
blr
instead of:
_foo2:
mfspr r2, 256
oris r5, r2, 12288
mtspr 256, r5
lvx v2, 0, r4
lvx v3, 0, r3
vcmpeqfp. v2, v3, v2
mfcr r3, 2
rlwinm r3, r3, 27, 31, 31
cmpwi cr0, r3, 0
beq cr0, LBB1_2 ; UnifiedReturnBlock
LBB1_1: ; cond_true
vxor v2, v2, v2
stvx v2, 0, r4
mtspr 256, r2
blr
LBB1_2: ; UnifiedReturnBlock
mtspr 256, r2
blr
This implements CodeGen/PowerPC/vec_br_cmp.ll.
llvm-svn: 27804
|
2006-04-18 17:59:36 +00:00 |