- Sep 18, 2005
-
-
Chris Lattner authored
struct S { unsigned int i : 6, j : 11, k : 15; } b; void plus3 (unsigned int x) { b.k += x; } to: _plus3: lis r2, ha16(L_b$non_lazy_ptr) lwz r2, lo16(L_b$non_lazy_ptr)(r2) lwz r3, 0(r2) rlwinm r4, r3, 0, 0, 14 add r4, r4, r3 rlwimi r4, r3, 0, 15, 31 stw r4, 0(r2) blr instead of: _plus3: lis r2, ha16(L_b$non_lazy_ptr) lwz r2, lo16(L_b$non_lazy_ptr)(r2) lwz r4, 0(r2) srwi r5, r4, 17 add r3, r5, r3 slwi r3, r3, 17 rlwimi r3, r4, 0, 15, 31 stw r3, 0(r2) blr llvm-svn: 23381
-
Chris Lattner authored
llvm-svn: 23380
-
Chris Lattner authored
struct S { unsigned int i : 6, j : 11, k : 15; } b; void plus1 (unsigned int x) { b.i += x; } as: _plus1: lis r2, ha16(L_b$non_lazy_ptr) lwz r2, lo16(L_b$non_lazy_ptr)(r2) lwz r4, 0(r2) add r3, r4, r3 rlwimi r3, r4, 0, 0, 25 stw r3, 0(r2) blr instead of: _plus1: lis r2, ha16(L_b$non_lazy_ptr) lwz r2, lo16(L_b$non_lazy_ptr)(r2) lwz r4, 0(r2) rlwinm r5, r4, 0, 26, 31 add r3, r5, r3 rlwimi r3, r4, 0, 0, 25 stw r3, 0(r2) blr llvm-svn: 23379
-
Chris Lattner authored
llvm-svn: 23378
-
Chris Lattner authored
llvm-svn: 23377
-
Chris Lattner authored
struct { unsigned int bit0:1; unsigned int ubyte:31; } sdata; void foo() { sdata.ubyte++; } into this: foo: add DWORD PTR [sdata], 2 ret instead of this: foo: mov %EAX, DWORD PTR [sdata] mov %ECX, %EAX add %ECX, 2 and %ECX, -2 and %EAX, 1 or %EAX, %ECX mov DWORD PTR [sdata], %EAX ret llvm-svn: 23376
-
Chris Lattner authored
llvm-svn: 23375
-
- Sep 17, 2005
-
-
Chris Lattner authored
llvm-svn: 23374
-
Chris Lattner authored
llvm-svn: 23373
-
- Sep 16, 2005
-
-
Nate Begeman authored
llvm-svn: 23371
-
Chris Lattner authored
llvm-svn: 23370
-
Chris Lattner authored
xforms. Run type inference on result patterns, so we always have fully typed results (and to catch errors in .td files). llvm-svn: 23369
-
- Sep 15, 2005
-
-
Chris Lattner authored
llvm-svn: 23368
-
Chris Lattner authored
returned. llvm-svn: 23367
-
Chris Lattner authored
llvm-svn: 23366
-
Chris Lattner authored
llvm-svn: 23365
-
Chris Lattner authored
llvm-svn: 23364
-
Chris Lattner authored
llvm-svn: 23363
-
Chris Lattner authored
predicates since they will have already matched at this point. llvm-svn: 23362
-
Chris Lattner authored
functions to preserve the Record for the xform instead of making it into a function name. llvm-svn: 23361
-
Chris Lattner authored
llvm-svn: 23360
-
- Sep 14, 2005
-
-
Chris Lattner authored
llvm-svn: 23359
-
Chris Lattner authored
llvm-svn: 23358
-
Chris Lattner authored
llvm-svn: 23357
-
Chris Lattner authored
llvm-svn: 23356
-
Chris Lattner authored
lists: only don't parse them if they are entirely missing (sparcv9). llvm-svn: 23355
-
Chris Lattner authored
llvm-svn: 23354
-
Chris Lattner authored
verifying information about the operands. llvm-svn: 23353
-
Chris Lattner authored
specified. The various *imm operands defined by PPC are really all i32, even though the actual immediate is restricted to a smaller value in it. llvm-svn: 23352
-
Chris Lattner authored
llvm-svn: 23351
-
Chris Lattner authored
llvm-svn: 23350
-
Chris Lattner authored
llvm-svn: 23349
-
Chris Lattner authored
llvm-svn: 23348
-
Chris Lattner authored
llvm-svn: 23347
-
Chris Lattner authored
llvm-svn: 23346
-
Chris Lattner authored
llvm-svn: 23345
-
Chris Lattner authored
llvm-svn: 23344
-
Chris Lattner authored
'set's. llvm-svn: 23343
-
Chris Lattner authored
llvm-svn: 23342
-
Chris Lattner authored
llvm-svn: 23341
-