- Aug 06, 2009
-
-
David Goodwin authored
Add parameter to pattern classes to enable an itinerary to be specified for instructions. For now just use the existing itineraries or NoItinerary. llvm-svn: 78321
-
- Aug 05, 2009
-
-
Evan Cheng authored
llvm-svn: 78126
-
- Aug 04, 2009
-
-
David Goodwin authored
llvm-svn: 78101
-
David Goodwin authored
Initial support for single-precision FP using NEON. Added "neonfp" attribute to enable. Added patterns for some binary FP operations. llvm-svn: 78081
-
- Aug 01, 2009
-
-
Evan Cheng authored
instructions for calls since BL and BLX are always 32-bit long and BX is always 16-bit long. Also, we should be using BLX to call external function stubs. llvm-svn: 77756
-
- Jul 27, 2009
-
-
David Goodwin authored
Remove TPat. No patterns depend on just isThumb(). Must use either T1Pat (isThumb1Only()) or T2Pat (is Thumb2). llvm-svn: 77242
-
- Jul 23, 2009
-
-
David Goodwin authored
llvm-svn: 76806
-
- Jul 11, 2009
-
-
Evan Cheng authored
Major changes to Thumb (not Thumb2). Many 16-bit instructions either modifies CPSR when they are outside the IT blocks, or they can predicated when in Thumb2. Move the implicit def of CPSR to an optional def which defaults CPSR. This allows the 's' bit to be toggled dynamically. A side-effect of this change is asm printer is now using unified assembly. There are some minor clean ups and fixes as well. llvm-svn: 75359
-
- Jul 10, 2009
-
-
David Goodwin authored
llvm-svn: 75254
-
- Jul 09, 2009
-
-
Evan Cheng authored
- Make bits 25-27 for ldrh, etc. explicitly zero. Previously only the JIT uses the encoding information and it's assuming anything not specified to be zero. Making them explicit so the disassembler is happy. Patch by Sean Callanan. llvm-svn: 75065
-
- Jul 08, 2009
-
-
Bob Wilson authored
llvm-svn: 75019
-
Evan Cheng authored
Add a Thumb2 instruction flag to that indicates whether the instruction can be transformed to 16-bit variant. llvm-svn: 74988
-
- Jul 02, 2009
-
-
Evan Cheng authored
llvm-svn: 74696
-
Evan Cheng authored
Change the meaning of predicate hasThumb2 to mean thumb2 ISA is available, not that it's in thumb mode and thumb2 is available. Added isThumb2 predicate to replace the old predicate. llvm-svn: 74692
-
Bob Wilson authored
llvm-svn: 74658
-
- Jun 30, 2009
-
-
David Goodwin authored
llvm-svn: 74543
-
Evan Cheng authored
llvm-svn: 74500
-
- Jun 29, 2009
-
-
Evan Cheng authored
After much back and forth, I decided to deviate from ARM design and split LDR into 4 instructions (r + imm12, r + imm8, r + r << imm12, constantpool). The advantage of this is 1) it follows the latest ARM technical manual, and 2) makes it easier to reduce the width of the instruction later. The down side is this creates more inconsistency between the two sub-targets. We should split ARM LDR instruction in a similar fashion later. I've added a README entry for this. llvm-svn: 74420
-
- Jun 27, 2009
-
-
Evan Cheng authored
llvm-svn: 74368
-
- Jun 25, 2009
-
-
Evan Cheng authored
Change thumb2 instruction definitions so if-converter so add predicate operands and / or flip the 's' bit to set the condition flag. llvm-svn: 74158
-
- Jun 23, 2009
-
-
Evan Cheng authored
Add IsThumb1Only to most 16-bit thumb instructions since we want to isel 32-bit instructions when they are available. llvm-svn: 73985
-
Evan Cheng authored
also some contribution from Jim Grosbach, Bob Wilson, and Evan Cheng. I've done my best to consolidate the patches with those that were done by Viktor Kutuzov and Anton Korzh from Access Softek, Inc. Let me know if missed anything. I've completely reorganized the thumb2 td file, made more extensive uses of multiclass, etc. Test cases will be contributed later after I re-organize what's in svn first. llvm-svn: 73965
-
Bob Wilson authored
This is still a work in progress but most of the NEON instruction set is supported. llvm-svn: 73919
-
- Nov 14, 2008
-
-
Evan Cheng authored
llvm-svn: 59275
-
- Nov 13, 2008
-
-
Evan Cheng authored
llvm-svn: 59230
-
- Nov 12, 2008
-
-
Evan Cheng authored
llvm-svn: 59107
-
Evan Cheng authored
llvm-svn: 59104
-
- Nov 11, 2008
-
-
Evan Cheng authored
llvm-svn: 59088
-
Evan Cheng authored
llvm-svn: 59084
-
Evan Cheng authored
llvm-svn: 59074
-
Evan Cheng authored
llvm-svn: 59016
-
- Nov 07, 2008
-
-
Evan Cheng authored
llvm-svn: 58836
-
Evan Cheng authored
llvm-svn: 58828
-
- Nov 06, 2008
-
-
Evan Cheng authored
llvm-svn: 58818
-
Evan Cheng authored
- Consolidate instruction formats. - Other clean up. llvm-svn: 58808
-
Evan Cheng authored
llvm-svn: 58800
-
Evan Cheng authored
llvm-svn: 58793
-
Evan Cheng authored
llvm-svn: 58789
-
Evan Cheng authored
llvm-svn: 58780
-
- Nov 05, 2008
-
-
Evan Cheng authored
Restructure ARM code emitter to use instruction formats instead of addressing modes to determine how to encode instructions. llvm-svn: 58764
-