- Aug 19, 2005
-
-
Chris Lattner authored
us to compile stuff like this: double %test(double %A, double %B, double %C, double %E) { %F = mul double %A, %A %G = add double %F, %B %H = sub double -0.0, %G %I = mul double %H, %C %J = add double %I, %E ret double %J } to: _test: fnmadd f0, f1, f1, f2 fmadd f1, f0, f3, f4 blr woot! llvm-svn: 22937
-
Chris Lattner authored
llvm-svn: 22936
-
Chris Lattner authored
llvm-svn: 22935
-
Chris Lattner authored
llvm-svn: 22934
-
Chris Lattner authored
This gets us this for the previous testcase: _test: lis r2, 0 ori r3, r2, 65535 blr Note that we actually write to r3 (the return reg) correctly now :) llvm-svn: 22933
-
Chris Lattner authored
temporary registers for things that define a register. This allows dag->dag isel to compile this: int %test() { ret int 65535 } into: _test: lis r2, 0 ori r2, r2, 65535 blr Next up, getting CopyFromReg to work, allowing arguments and cross-bb values. llvm-svn: 22932
-
Chris Lattner authored
Emit this: static const TargetOperandInfo OperandInfo6[] = { { &PPC32::CRRCRegClass }, { 0 }, }; instead of this: static const TargetOperandInfo OperandInfo6[] = { { PPC32::CRRCRegisterClass }, { 0 }, }; For operand information, which does not require dynamic (startup-time) initialization. llvm-svn: 22931
-
Chris Lattner authored
to be accessed. llvm-svn: 22930
-
Chris Lattner authored
llvm-svn: 22929
-
Chris Lattner authored
llvm-svn: 22928
-
Chris Lattner authored
llvm-svn: 22927
-
Chris Lattner authored
llvm-svn: 22926
-
Chris Lattner authored
llvm-svn: 22925
-
Chris Lattner authored
llvm-svn: 22924
-
Chris Lattner authored
namespace instead of the reg class namespace. Update getRegClassForType() to use modified names due to tblgen change. llvm-svn: 22923
-
Chris Lattner authored
llvm-svn: 22922
-
Chris Lattner authored
llvm-svn: 22921
-
Chris Lattner authored
anonymous regclass definition renaming. Change the generated code to emit register classes as properly namespace qualified entities like everything else. expose the actual class definition as an object, though this isn't quite usable yet. llvm-svn: 22920
-
Chris Lattner authored
in one way: the generated tables require dynamic initialization for the register classes. This will be fixed in a future patch. llvm-svn: 22919
-
Chris Lattner authored
llvm-svn: 22918
-
Chris Lattner authored
llvm-svn: 22917
-
Chris Lattner authored
llvm-svn: 22916
-
Chris Lattner authored
llvm-svn: 22915
-
Chris Lattner authored
llvm-svn: 22914
-
Chris Lattner authored
llvm-svn: 22913
-
Chris Lattner authored
llvm-svn: 22912
-
Chris Lattner authored
llvm-svn: 22911
-
Chris Lattner authored
llvm-svn: 22910
-
Chris Lattner authored
llvm-svn: 22909
-
Chris Lattner authored
operands. llvm-svn: 22908
-
Jeff Cohen authored
llvm-svn: 22907
-
Jeff Cohen authored
llvm-svn: 22905
-
Duraid Madina authored
(which died about a week ago) so we're back to load-(2^n-1)-then-AND sequences. slow, but things should now be Almost Completely Working, modulo those pesky alignment/ABI issues. llvm-svn: 22904
-
Chris Lattner authored
llvm-svn: 22903
-
Jeff Cohen authored
llvm-svn: 22902
-
Nate Begeman authored
instruction. llvm-svn: 22901
-
Chris Lattner authored
llvm-svn: 22900
-
Chris Lattner authored
llvm-svn: 22899
-
Chris Lattner authored
llvm-svn: 22898
-
Chris Lattner authored
words. There is no way for one of these targets to have a > 32-bit immediate! llvm-svn: 22897
-