Chris Lattner
|
8e3aa16298
|
Convert pand/por/pxor to use multiclass
llvm-svn: 30811
|
2006-10-07 19:37:30 +00:00 |
|
Chris Lattner
|
33aecdebfc
|
Convert some more instructions over to use a new multiclass.
Fix a bug where the asmstring for PSUBQrm was wrong.
llvm-svn: 30810
|
2006-10-07 19:34:33 +00:00 |
|
Chris Lattner
|
260659336a
|
Fix a bug where PADDQrm printed paddd instead of paddq.
llvm-svn: 30809
|
2006-10-07 19:15:46 +00:00 |
|
Chris Lattner
|
0122bfac98
|
Add multiclass for SSE2 instructions that correspond to simple binops.
llvm-svn: 30808
|
2006-10-07 19:14:49 +00:00 |
|
Chris Lattner
|
db12d69657
|
rename:
PDI_binop_rm -> PDI_binop_rm_int
PDI_binop_rmi -> PDI_binop_rmi_int
to make it clear that these are for use with intrinsics.
llvm-svn: 30807
|
2006-10-07 19:02:31 +00:00 |
|
Chris Lattner
|
36709eed45
|
Convert saturating PADD/PSUB's to use a multiclass
llvm-svn: 30806
|
2006-10-07 18:48:46 +00:00 |
|
Chris Lattner
|
d5d4378010
|
Convert PAVG*, PMADDWD, and PMUL* to use multiclasses.
llvm-svn: 30805
|
2006-10-07 18:39:00 +00:00 |
|
Chris Lattner
|
753ec9950a
|
Fix typo in packsswb instr definition, where the load had the wrong type.
This allows us to use the multiclass for other packs.
llvm-svn: 30804
|
2006-10-07 18:23:58 +00:00 |
|
Rafael Espindola
|
38e9e2e01d
|
implement FUITOS and FUITOD
llvm-svn: 30803
|
2006-10-07 14:24:52 +00:00 |
|
Rafael Espindola
|
90a24709fb
|
implement FLDD
llvm-svn: 30802
|
2006-10-07 14:03:39 +00:00 |
|
Rafael Espindola
|
b8ce0f8bbd
|
implement fadds, faddd, fmuls and fmuld
llvm-svn: 30801
|
2006-10-07 13:46:42 +00:00 |
|
Chris Lattner
|
59bf33e5e4
|
handle pmin/pmax with multiclasses
llvm-svn: 30800
|
2006-10-07 07:49:33 +00:00 |
|
Chris Lattner
|
b007ac9ecf
|
regenerate
llvm-svn: 30799
|
2006-10-07 07:15:19 +00:00 |
|
Chris Lattner
|
b5b2e0340e
|
Bugfix: this allows multiclasses to have default arguments.
llvm-svn: 30798
|
2006-10-07 07:14:48 +00:00 |
|
Chris Lattner
|
2177d324c5
|
simplify pack and shift intrinsics with multiclasses
llvm-svn: 30797
|
2006-10-07 07:06:17 +00:00 |
|
Chris Lattner
|
31eb3af1a8
|
Use a multiclass to simplify 'SSE2 Integer comparison'
llvm-svn: 30796
|
2006-10-07 06:47:08 +00:00 |
|
Chris Lattner
|
7cde5d8820
|
move class defns close to uses to make it easier to read
llvm-svn: 30795
|
2006-10-07 06:33:36 +00:00 |
|
Chris Lattner
|
2842be4e37
|
simplify horizontal op definitions
llvm-svn: 30794
|
2006-10-07 06:31:41 +00:00 |
|
Chris Lattner
|
b3b659492b
|
remove more unneeded type info
llvm-svn: 30793
|
2006-10-07 06:27:03 +00:00 |
|
Chris Lattner
|
8a2d78d3cf
|
remove unneeded definitions and type info
llvm-svn: 30792
|
2006-10-07 06:19:41 +00:00 |
|
Chris Lattner
|
a75da38d99
|
remove some unneeded type info
llvm-svn: 30791
|
2006-10-07 06:17:43 +00:00 |
|
Chris Lattner
|
d704b454b9
|
simplify patterns by merging in operand info
llvm-svn: 30790
|
2006-10-07 05:50:25 +00:00 |
|
Chris Lattner
|
bf6419cef6
|
Factor operands into packed unary classes
llvm-svn: 30789
|
2006-10-07 05:47:20 +00:00 |
|
Chris Lattner
|
06c9aa41f1
|
remove dead/duplicate instructions
llvm-svn: 30788
|
2006-10-07 05:41:52 +00:00 |
|
Chris Lattner
|
72b130720d
|
Pull operand info up into parent class for scalar sse intrinsics.
llvm-svn: 30787
|
2006-10-07 05:26:13 +00:00 |
|
Chris Lattner
|
cf13d058a3
|
convert the sole sd unary intrinsic to a multiclass for consistency
llvm-svn: 30786
|
2006-10-07 05:19:31 +00:00 |
|
Chris Lattner
|
67ea3292d2
|
pull operand string into the multiclass
llvm-svn: 30785
|
2006-10-07 05:13:26 +00:00 |
|
Chris Lattner
|
e234302d01
|
Remove RSQRTSS[rm] RCPSS[rm], which are dead.
Introduce SS_IntUnary, a multiclass to replace SS_Int[rm].
llvm-svn: 30784
|
2006-10-07 05:09:48 +00:00 |
|
Chris Lattner
|
22137d1891
|
eliminate redundancy
llvm-svn: 30783
|
2006-10-07 04:52:09 +00:00 |
|
Chris Lattner
|
f5758df6cd
|
Fix a bug legalizing zero-extending i64 loads into 32-bit loads. The bottom
part was always forced to be sextload, even when we needed an zextload.
llvm-svn: 30782
|
2006-10-07 00:58:36 +00:00 |
|
Chris Lattner
|
f5b9b4a4b2
|
Set the jt section
llvm-svn: 30781
|
2006-10-06 22:52:33 +00:00 |
|
Chris Lattner
|
3f92c791b4
|
initialize ivar
llvm-svn: 30780
|
2006-10-06 22:52:08 +00:00 |
|
Chris Lattner
|
d5f5a433b2
|
If a target uses a GOT, put it in the jt data section, not the text
section. This will fix alpha when Andrew implements
AlphaTargetMachine::getTargetLowering().
llvm-svn: 30779
|
2006-10-06 22:50:56 +00:00 |
|
Chris Lattner
|
2ca01febcf
|
Alpha uses a got
llvm-svn: 30778
|
2006-10-06 22:46:51 +00:00 |
|
Chris Lattner
|
77545e4a28
|
Add support for targets to declare that they use a GOT
llvm-svn: 30777
|
2006-10-06 22:46:34 +00:00 |
|
Chris Lattner
|
b5b96302f2
|
jump tables handle pic
llvm-svn: 30776
|
2006-10-06 22:32:29 +00:00 |
|
Chris Lattner
|
ad60994822
|
print labels even if a MBB doesn't have a corresponding LLVM BB, just don't
print the LLVM BB label.
llvm-svn: 30775
|
2006-10-06 21:28:17 +00:00 |
|
Rafael Espindola
|
a96c205e12
|
add optional input flag to FMRRD
llvm-svn: 30774
|
2006-10-06 20:33:26 +00:00 |
|
Rafael Espindola
|
54301ca490
|
add support for calling functions that return double
llvm-svn: 30771
|
2006-10-06 19:10:05 +00:00 |
|
Evan Cheng
|
6d15f83d46
|
80 col violation.
llvm-svn: 30770
|
2006-10-06 18:57:51 +00:00 |
|
Chris Lattner
|
399106d8f8
|
ugly codegen
llvm-svn: 30769
|
2006-10-06 17:39:34 +00:00 |
|
Chris Lattner
|
0d39b3a4cf
|
Fix a miscompilation of:
long long foo(long long X) {
return (long long)(signed char)(int)X;
}
Instead of:
_foo:
extsb r2, r4
srawi r3, r4, 31
mr r4, r2
blr
we now produce:
_foo:
extsb r4, r4
srawi r3, r4, 31
blr
This fixes a miscompilation in ConstantFolding.cpp.
llvm-svn: 30768
|
2006-10-06 17:34:12 +00:00 |
|
Rafael Espindola
|
d870b158b3
|
fix some bugs affecting functions with no arguments
llvm-svn: 30767
|
2006-10-06 17:26:30 +00:00 |
|
Rafael Espindola
|
f35563ff66
|
fix the stack alignment
llvm-svn: 30766
|
2006-10-06 14:29:47 +00:00 |
|
Rafael Espindola
|
f679bdf121
|
add support for calling functions that have double arguments
llvm-svn: 30765
|
2006-10-06 12:50:22 +00:00 |
|
Evan Cheng
|
9ce3d493f0
|
Still need to support -mcpu=<> or cross compilation will fail. Doh.
llvm-svn: 30764
|
2006-10-06 09:17:41 +00:00 |
|
Evan Cheng
|
6fc0ae2136
|
Do away with CPU feature list. Just use CPUID to detect MMX, SSE, SSE2, SSE3, and 64-bit support.
llvm-svn: 30763
|
2006-10-06 08:21:07 +00:00 |
|
Evan Cheng
|
35a3337e1d
|
It appears the inline asm in GetCpuIDAndInfo() may clobbers some registers if it isn't inlined (at < -O3). Force it to be inlined.
llvm-svn: 30762
|
2006-10-06 07:50:56 +00:00 |
|
Chris Lattner
|
621a182abd
|
add an accessor
llvm-svn: 30761
|
2006-10-06 01:16:29 +00:00 |
|
Chris Lattner
|
5fc3bb074c
|
MachineBasicBlock::splice was incorrectly updating parent pointers on
instructions.
llvm-svn: 30760
|
2006-10-06 01:12:44 +00:00 |
|