- Oct 28, 2010
-
-
Evan Cheng authored
llvm-svn: 117520
-
Evan Cheng authored
- For now, loads of [r, r] addressing mode is the same as the [r, r lsl/lsr/asr #] variants. ARMBaseInstrInfo::getOperandLatency() should identify the former case and reduce the output latency by 1. - Also identify [r, r << 2] case. This special form of shifter addressing mode is "free". llvm-svn: 117519
-
Dale Johannesen authored
Bruno, please review, but I'm pretty sure this is right. Patch by Alex Mac! llvm-svn: 117514
-
Owen Anderson authored
llvm-svn: 117513
-
Owen Anderson authored
llvm-svn: 117512
-
Bob Wilson authored
llvm-svn: 117511
-
Evan Cheng authored
complex load / store addressing mode) when they have higher cost and when they have more than one use. llvm-svn: 117509
-
Jim Grosbach authored
the LDR instructions have. This makes the literal/register forms of the instructions explicit and allows us to assign scheduling itineraries appropriately. rdar://8477752 llvm-svn: 117505
-
Owen Anderson authored
for specifying fractional bits for fixed point conversions. llvm-svn: 117501
-
- Oct 27, 2010
-
-
Jim Grosbach authored
llvm-svn: 117496
-
Owen Anderson authored
llvm-svn: 117495
-
Kevin Enderby authored
llvm-svn: 117485
-
Jim Grosbach authored
llvm-svn: 117483
-
Bob Wilson authored
elements than the result vector type. So, when an instruction like: %8 = shufflevector <2 x float> %4, <2 x float> %7, <4 x i32> <i32 1, i32 0, i32 3, i32 2> is translated to a DAG, each operand is changed to a concat_vectors node that appends 2 undef elements. That is: shuffle [a,b], [c,d] is changed to: shuffle [a,b,u,u], [c,d,u,u] That's probably the right thing for x86 but for NEON, we'd much rather have: shuffle [a,b,c,d], undef Teach the DAG combiner how to do that transformation for ARM. Radar 8597007. llvm-svn: 117482
-
Jim Grosbach authored
llvm-svn: 117478
-
Owen Anderson authored
llvm-svn: 117475
-
Michael J. Spencer authored
llvm-svn: 117474
-
Jim Grosbach authored
operands in the TableGen'erated bits, so we don't need to do the additional magic explicitly. llvm-svn: 117461
-
Owen Anderson authored
llvm-svn: 117459
-
Owen Anderson authored
llvm-svn: 117458
-
Jim Grosbach authored
encoding tricks. Handle the 'imm doesn't fit in the insn' case. llvm-svn: 117454
-
Kevin Enderby authored
(still to add ud2b). llvm-svn: 117435
-
Kevin Enderby authored
the wait prefix). llvm-svn: 117434
-
Kevin Enderby authored
sense, when the instruction takes the 16-bit ax register or m16 memory location. These changes to llvm-mc matches what the darwin assembler allows for these instructions. Done differently than in r117031 that caused a valgrind error which was later reverted. llvm-svn: 117433
-
Jim Grosbach authored
integer values), not with the addrmode2 encoding. llvm-svn: 117429
-
Kevin Enderby authored
will accept versions that the darwin assembler allows. Forms ending in "pi" and forms without all the operands. llvm-svn: 117427
-
Jim Grosbach authored
doesn't need the additional addrmode2 register operand. Missed it the first time around. llvm-svn: 117421
-
Wesley Peck authored
llvm-svn: 117420
-
Jim Grosbach authored
rdar://8477752. llvm-svn: 117419
-
Jim Grosbach authored
llvm-svn: 117418
-
Dale Johannesen authored
memory, so a MachineMemOperand is useful (not propagated into the MachineInstr yet). No functional change except for dump output. llvm-svn: 117413
-
Owen Anderson authored
llvm-svn: 117411
-
Jim Grosbach authored
explicit about the operands. Split out the different variants into separate instructions. This gives us the ability to, among other things, assign different scheduling itineraries to the variants. rdar://8477752. llvm-svn: 117409
-
- Oct 26, 2010
-
-
Owen Anderson authored
llvm-svn: 117402
-
Owen Anderson authored
llvm-svn: 117398
-
Owen Anderson authored
llvm-svn: 117394
-
Jim Grosbach authored
llvm-svn: 117388
-
Jim Grosbach authored
llvm-svn: 117387
-
Owen Anderson authored
llvm-svn: 117380
-
Rafael Espindola authored
llvm-svn: 117378
-