- Dec 07, 2010
-
-
Jim Grosbach authored
llvm-svn: 121072
-
- Dec 01, 2010
-
-
Jim Grosbach authored
instruction at MC lowering. Add binary encoding information for the ADR, including fixup data for the label operand. llvm-svn: 120594
-
- Nov 30, 2010
-
-
Owen Anderson authored
Thumb2 encoding to share code with the ARM encoding, which gets use fixup support for free. It also allows us to fold away at least one codegen-only pattern. llvm-svn: 120481
-
Owen Anderson authored
llvm-svn: 120449
-
Bob Wilson authored
The only reasonable way I could find to do this is to provide an alternate version of the addrmode6 operand with a different encoding function. Use it for all the VLD-dup instructions for the sake of consistency. llvm-svn: 120358
-
- Nov 19, 2010
-
-
Jason W Kim authored
Fix .o emission of ARM movt/movw. MCSymbolRefExpr::VK_ARM_(HI||LO)16 for the .o path now works for ARM. Note: lo16AllZero remains in ARMInstrInfo.td - It can be factored out when Thumb movt is repaired. Existing tests cover this update. llvm-svn: 119760
-
- Nov 17, 2010
-
-
Bill Wendling authored
instructions have to distinguish between lists of single- and double-precision registers in order for the ASM matcher to do a proper job. In all other respects, a list of single- or double-precision registers are the same as a list of GPR registers. llvm-svn: 119460
-
- Nov 11, 2010
-
-
Jim Grosbach authored
llvm-svn: 118829
-
- Nov 03, 2010
-
-
Jim Grosbach authored
parts. Represent the operation mode as an optional operand instead. rdar://8614429 llvm-svn: 118137
-
- Nov 01, 2010
-
-
Chris Lattner authored
CodeGenInstruction into its own helper class. No functionality change. llvm-svn: 117893
-
- Oct 28, 2010
-
-
Evan Cheng authored
complex load / store addressing mode) when they have higher cost and when they have more than one use. llvm-svn: 117509
-
Owen Anderson authored
for specifying fractional bits for fixed point conversions. llvm-svn: 117501
-
- Oct 27, 2010
-
-
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 15, 2010
-
-
Jim Grosbach authored
llvm-svn: 116588
-
- Oct 13, 2010
-
-
Jim Grosbach authored
and handle the operand explicitly. Flesh out encoding information. Add an explicit disassembler testcase for the instruction. llvm-svn: 116432
-
Jim Grosbach authored
llvm-svn: 116421
-
- Oct 12, 2010
-
-
Cameron Esfahani authored
llvm-svn: 116282
-
- Oct 05, 2010
-
-
Jim Grosbach authored
llvm-svn: 115664
-
- Sep 09, 2010
-
-
- Sep 01, 2010
-
-
Chris Lattner authored
llvm-svn: 112707
-
- Aug 16, 2010
-
-
Bob Wilson authored
instructions besides saturate instructions. No functional changes. llvm-svn: 111168
-
- Aug 12, 2010
-
-
Johnny Chen authored
the memory barrier variants (other than 'SY' full system domain read and write) are treated as one instruction with option operand. llvm-svn: 110951
-
Bob Wilson authored
instruction opcode. This also fixes part of PR7792. llvm-svn: 110875
-
- Jul 30, 2010
-
-
Jim Grosbach authored
have 4 bits per register in the operand encoding), but have undefined behavior when the operand value is 13 or 15 (SP and PC, respectively). The trivial coalescer in linear scan sometimes will merge a copy from SP into a subsequent instruction which uses the copy, and if that instruction cannot legally reference SP, we get bad code such as: mls r0,r9,r0,sp instead of: mov r2, sp mls r0, r9, r0, r2 This patch adds a new register class for use by Thumb2 that excludes the problematic registers (SP and PC) and is used instead of GPR for those operands which cannot legally reference PC or SP. The trivial coalescer explicitly requires that the register class of the destination for the COPY instruction contain the source register for the COPY to be considered for coalescing. This prevents errant instructions like that above. PR7499 llvm-svn: 109842
-
- Jul 20, 2010
-
-
Chris Lattner authored
llvm-svn: 108893
-
Bruno Cardoso Lopes authored
llvm-svn: 108769
-
- Jul 09, 2010
-
-
Bruno Cardoso Lopes authored
notes: - The instructions are being added with dummy placeholder patterns using some 256 specifiers, this is not meant to work now, but since there are some multiclasses generic enough to accept them, when we go for codegen, the stuff will be already there. - Add VEX encoding bits to support YMM - Add MOVUPS and MOVAPS in the first round - Use "Y" as suffix for those Instructions: MOVUPSYrr, ... - All AVX instructions in X86InstrSSE.td will move soon to a new X86InstrAVX file. llvm-svn: 107996
-
- Jul 08, 2010
-
-
Chris Lattner authored
in the integrated assembler. Still some discussion to be done. llvm-svn: 107825
-
- Jun 23, 2010
-
-
Nico Weber authored
llvm-svn: 106671
-
- Jun 16, 2010
-
-
Dale Johannesen authored
call must not be callee-saved; following x86, add a new regclass to represent this. Also fixes a couple of bugs. Still disabled by default; Thumb doesn't work yet. llvm-svn: 106053
-
- Jun 11, 2010
-
-
Bob Wilson authored
the machine instruction representation of the immediate value to be encoded into an integer with similar fields as the actual VMOV instruction. This makes things easier for the disassembler, since it can just stuff the bits into the immediate operand, but harder for the asm printer since it has to decode the value to be printed. Testcase for the encoding will follow later when MC has more support for ARM. llvm-svn: 105836
-
- May 14, 2010
-
-
Evan Cheng authored
llvm-svn: 103760
-
- May 06, 2010
-
-
Sean Callanan authored
and %rcr_, leaving just %cr_ which is what people expect. Updated the disassembler to support this unified register set. Added a testcase to verify that the registers continue to be decoded correctly. llvm-svn: 103196
-
Evan Cheng authored
Re-apply 103156 and 103157. 103156 didn't break anything. 10315 exposed a coalescer bug that's fixed by 103170. llvm-svn: 103172
-
- Apr 24, 2010
-
-
Sean Callanan authored
memory operands rather than immediate operands. llvm-svn: 102217
-
- Apr 14, 2010
-
-
Benjamin Kramer authored
llvm-svn: 101241
-
- Apr 13, 2010
-
-
Sean Callanan authored
code. It used to #include the enhanced disassembly information for the targets it supported straight out of lib/Target/{X86,ARM,...} but now it uses a new interface provided by MCDisassembler, and (so far) implemented by X86 and ARM. Also removed hacky #define-controlled initialization of targets in edis. If clients only want edis to initialize a limited set of targets, they can set --enable-targets on the configure command line. llvm-svn: 101179
-
- Apr 08, 2010
-
-
Benjamin Kramer authored
llvm-svn: 100754
-
Sean Callanan authored
I also added a rule to the ARM target's Makefile to build the ARM-specific instruction information table for the enhanced disassembler. I will add the test harness for all this stuff in a separate commit. llvm-svn: 100735
-
- Mar 19, 2010
-
-
Chris Lattner authored
to a vector that CGT stores instead of synthesizing it on every call. llvm-svn: 98910
-