dce4a407a24b04eebc6a376f8e62b41aaa7b071f |
|
29-May-2014 |
Stephen Hines <srhines@google.com> |
Update LLVM for 3.5 rebase (r209712). Change-Id: I149556c940fb7dc92d075273c87ff584f400941f
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
36b56886974eae4f9c5ebc96befd3e7bfe5de338 |
|
24-Apr-2014 |
Stephen Hines <srhines@google.com> |
Update to LLVM 3.5a. Change-Id: Ifadecab779f128e62e430c2b4f6ddd84953ed617
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
44edc227c743052bd58e73a5e1402fa68ed728f0 |
|
24-Oct-2013 |
Tim Northover <tnorthover@apple.com> |
ARM: Mark double-precision instructions as such This prevents us from silently accepting invalid instructions on (for example) Cortex-M4 with just single-precision VFP support. No tests for the extra Pat Requires because they're essentially assertions: the affected code should have been lowered to libcalls before ISel. rdar://problem/15302004 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@193354 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
5df37dab763ce377095389c4ea1cff88db369954 |
|
19-Sep-2013 |
Amara Emerson <amara.emerson@arm.com> |
[ARMv8] Add support for the v8 cryptography extensions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@190996 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
0b90c6223d9c49b5e0dc4bf4e53796b0714d7b80 |
|
27-Aug-2013 |
Joey Gouly <joey.gouly@arm.com> |
[ARMv8] Add MC support for the new load/store acquire/release instructions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@189388 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
f7ab3a84b3e1b5a647ae9456a5edb99d86b35329 |
|
22-Aug-2013 |
Tim Northover <tnorthover@apple.com> |
ARM: use TableGen patterns to select CMOV operations. Back in the mists of time (2008), it seems TableGen couldn't handle the patterns necessary to match ARM's CMOV node that we convert select operations to, so we wrote a lot of fairly hairy C++ to do it for us. TableGen can deal with it now: there were a few minor differences to CodeGen (see tests), but nothing obviously worse that I could see, so we should probably address anything that *does* come up in a localised manner. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188995 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
59b3300664d062bf04159eacaeb44d6c729e6a8c |
|
18-Jul-2013 |
Joey Gouly <joey.gouly@arm.com> |
[ARMv8] Add NEON instructions VCVT{A, N, P, M}. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@186574 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
19c14abf1c4ccebfa7d07bdd6ea8462a15c0b749 |
|
17-Jul-2013 |
Joey Gouly <joey.gouly@arm.com> |
[ARMv8] Add support for the NEON instructions vmaxnm/vminnm. This adds a new class for non-predicable NEON instructions and a new DecoderNamespace for v8 NEON instructions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@186504 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
12f45c3782c0d01bcf9973bbc23dba2b17ce54cb |
|
09-Jul-2013 |
Joey Gouly <joey.gouly@arm.com> |
Add MC assembly/disassembly support for VRINT{A, N, P, M} to V8FP. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185929 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
9fb5a6588becc92be1d7cf503d2947b170be3c31 |
|
09-Jul-2013 |
Joey Gouly <joey.gouly@arm.com> |
Add MC assembly/disassembly support for VCVT{A, N, P, M} to V8FP. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185922 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
2a9683289b78a2533b261e1b341f9ea9724465a0 |
|
06-Jul-2013 |
Joey Gouly <joey.gouly@arm.com> |
Add MC support for the v8fp instructions: vmaxnm and vminnm. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185767 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
4ea250524f77a67102118747dad6ee69f9f3b3aa |
|
04-Jul-2013 |
Joey Gouly <joey.gouly@arm.com> |
Add support for MC assembling and disassembling of vsel{ge, gt, eq, vs} instructions. This adds a new decoder table/namespace 'VFPV8', as these instructions have their top 4 bits as 0b1111, while other Thumb instructions have 0b1110. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185642 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
c19bd321362166805194cbaf170e06a4790d2da9 |
|
26-Jun-2013 |
Tim Northover <tnorthover@apple.com> |
ARM: fix more cases where predication may or may not be allowed Unfortunately this addresses two issues (by the time I'd disentangled the logic it wasn't worth putting it back to half-broken): + Coprocessor instructions should all be predicable in Thumb mode. + BKPT should never be predicable. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184965 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
242c9f4615feeee2fbdd1f29cd9a8e8ffd43c075 |
|
31-May-2013 |
Tim Northover <tnorthover@apple.com> |
ARM: add fstmx and fldmx instructions for assembly These instructions are deprecated oddities, but we still need to be able to disassemble (and reassemble) them if and when they're encountered. Patch by Amaury de la Vieuville. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183011 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
eb1641d54a7eda7717304bc4d55d059208d8ebed |
|
29-Sep-2012 |
Bob Wilson <bob.wilson@apple.com> |
Add LLVM support for Swift. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@164899 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
169e9ba2b2c78675a0fa5ad8aebb987fe9c00e23 |
|
11-May-2012 |
Silviu Baranga <silviu.baranga@arm.com> |
Added the missing bit definition for the 4th bit of the STR (post reg) instruction. It is now set to 0. The patch also sets the unpredictable mask for SEL and SXTB-type instructions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@156609 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
d8b3ed8f25c1ba76a6db875cd2d6eaa016bd4646 |
|
20-Apr-2012 |
Jim Grosbach <grosbach@apple.com> |
ARM: Update NEON assembly two-operand aliases. Use the new TwoOperandAliasConstraint to handle lots of the two-operand aliases for NEON instructions. There's still more to go, but this is a good chunk of them. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@155210 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
35ee7d28a69173ca0c11fb6b3271518bf4c5bff6 |
|
18-Apr-2012 |
Silviu Baranga <silviu.baranga@arm.com> |
Added support for disassembling unpredictable swp/swpb ARM instructions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@155004 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
31d157ae1ac2cd9c787dc3c1d28e64c682803844 |
|
18-Feb-2012 |
Jia Liu <proljc@gmail.com> |
Emacs-tag and some comment fix for all ARM, CellSPU, Hexagon, MBlaze, MSP430, PPC, PTX, Sparc, X86, XCore. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@150878 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
3015dfb7d739f4cc0b1408555889ecea880ffac9 |
|
09-Feb-2012 |
James Molloy <james.molloy@arm.com> |
Teach the MC and disassembler about SoftFail, and hook it up to UNPREDICTABLE on ARM. Wire this to tBLX in order to provide test coverage. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@150169 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
78d13e191e0f6bcb4bef5bc5c8c5f6e5be1f4070 |
|
24-Jan-2012 |
Jim Grosbach <grosbach@apple.com> |
NEON add correct predicates for some asm aliases. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148815 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
8b31f95bdde1e3809a1c9fdb6926b1840effcf9c |
|
23-Jan-2012 |
Jim Grosbach <grosbach@apple.com> |
Simplify some NEON assembly pseudo definitions. Let the generic token alias definitions handle the data subtype suffices. We don't need explicit versions for each. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148718 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
c7448f8d47de96333d6854113fb9f0e7affb31cd |
|
22-Dec-2011 |
Jim Grosbach <grosbach@apple.com> |
ARM VFP add encoding of the bitcount to fixed-point<-->floating point. insns. The value from the operands isn't right yet, but we weren't encoding it at all previously. The parser needs to twiddle the values when building the instruction. Partial for: rdar://10558523 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@147170 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
485d8bf7e5537a19d3ad63e65f841bd7e63d4d06 |
|
13-Dec-2011 |
Jim Grosbach <grosbach@apple.com> |
ARM add more 'gas' compatibility aliases for NEON instructions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146507 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
6b044c26094a9f86da7d12945b00a47a5f07cf6d |
|
08-Dec-2011 |
Jim Grosbach <grosbach@apple.com> |
ARM VSHR implied destination operand form aliases. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146192 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
1ceef1a49122cec6d79c0714719d99db27ab1764 |
|
07-Dec-2011 |
Jim Grosbach <grosbach@apple.com> |
ARM tidy up and remove no longer needed InstAlias definitions. The TokenAlias handling of data type suffices renders these unnecessary. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146010 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
9f3d220c632a9c18b424248592d2bc7b023956d2 |
|
07-Dec-2011 |
Jim Grosbach <grosbach@apple.com> |
ARM Implement ARM ARM Table A7-3 via TokenAlias. Data type suffix aliasing. Previously handled via lots of instruction aliases. Cleanup of those forthcoming. rdar://10435076 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146007 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
253ef7a77930f6855a5bf24037e9dfbc65a1ee85 |
|
05-Dec-2011 |
Jim Grosbach <grosbach@apple.com> |
ARM assembly parsing for the rest of the VMUL data type aliases. Finish up rdar://10522016. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145846 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
afb500ace12698a99daa5d7c10bfedcbfef48022 |
|
05-Dec-2011 |
Jim Grosbach <grosbach@apple.com> |
ARM assmebler parsing for two-operand VMUL instructions. Combined destination and first source operand for f32 variant of the VMUL (by scalar) instruction. rdar://10522016 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145842 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
872eedbb3a46618e333db42ee9c41fda34eb1e9b |
|
02-Dec-2011 |
Jim Grosbach <grosbach@apple.com> |
ARM VLD1 single lane assembly parsing. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145712 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
dad2f8e7fb2df5fb080a38fa4c33a01f19729f15 |
|
02-Dec-2011 |
Jim Grosbach <grosbach@apple.com> |
Clean up aliases for ARM VLD1 single-lane assembly parsing a bit. Add the 16-bit lane variants while I'm at it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145693 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
5b2fb2083c387009607f438a2a986c3e0a2cd0be |
|
15-Nov-2011 |
Jim Grosbach <grosbach@apple.com> |
ARM assembly parsing for data type suffices on NEON VMOV aliases. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@144722 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
0530d0d5d9dfaae2e3c78a52729abcbf9fcdd21b |
|
15-Nov-2011 |
Jim Grosbach <grosbach@apple.com> |
Split out the plain '.{8|16|32|64}' suffix handling. Make it easier to deal with aliases for instructions that do require a suffix but accept more specific variants of the same size. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@144588 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
ef448767a35148261d6c82a8e55e6e2f4be8e631 |
|
15-Nov-2011 |
Jim Grosbach <grosbach@apple.com> |
ARM parsing optional datatype suffix for VAND/VEOR/VORR instructions. rdar://10435076 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@144587 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
ffc658b056b7cc0b3f6a2626694b6a4216ed728d |
|
15-Nov-2011 |
Jim Grosbach <grosbach@apple.com> |
ARM VLDR/VSTR instructions don't need a size suffix. Canonicallize on the non-suffixed form, but continue to accept assembly that has any correctly sized type suffix. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@144583 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
02e3d9268fe456ebe4fe6ae277507bb7933ec3df |
|
14-Nov-2011 |
Jim Grosbach <grosbach@apple.com> |
ARM assembly parsing type suffix options for VLDR/VSTR. rdar://10435076 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@144575 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
9588c10b69121d9746b09e868fcc8879cbd98e3a |
|
12-Nov-2011 |
Jim Grosbach <grosbach@apple.com> |
ARM refactor simple immediate asm operand render methods. These immediate operands all use the same simple logic for rendering to MCInst, so have them share the method for doing so. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@144439 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
71810ab7c0ecd6927dde1eee0c73169642f3764d |
|
10-Nov-2011 |
Jim Grosbach <grosbach@apple.com> |
ARM assembly parsing for ASR(immediate). Start of rdar://9704684 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@144293 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
681460f954e9c13ffd2f02f27bba048ccf90abaf |
|
01-Nov-2011 |
Jim Grosbach <grosbach@apple.com> |
ARM VLD/VST assembly parsing for symbolic address operands. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143413 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
cb9fed665550376b7c65c7e1157a58911193e2e2 |
|
28-Oct-2011 |
Owen Anderson <resistor@mac.com> |
Reapply r143202, with a manual decoding hook for SWP. This change inadvertantly exposed a decoding ambiguity between SWP and CPS that the auto-generated decoder can't handle. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143208 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
460a90540b045c102012da2492999557e6840526 |
|
08-Oct-2011 |
Jim Grosbach <grosbach@apple.com> |
ARM NEON assembly parsing and encoding for VDUP(scalar). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@141446 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
5cd5ac6ad455880395e34ac647f1e962a83763a0 |
|
03-Oct-2011 |
Jim Grosbach <grosbach@apple.com> |
ARM assembly parsing and encoding for VMRS/FMSTAT. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@141025 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
a3157b402695ef9d5f6a03e8e3afc5bddf3a3df7 |
|
12-Sep-2011 |
Owen Anderson <resistor@mac.com> |
Port more encoding tests to decoding tests, and correct an improper Thumb2 pre-indexed load decoding this uncovered. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139522 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
a77295db19527503d6b290e4f34f273d0a789365 |
|
09-Sep-2011 |
Jim Grosbach <grosbach@apple.com> |
Thumb2 assembly parsing and encoding for LDRD(immediate). Refactor operand handling for STRD as well. Tests for that forthcoming. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139322 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
e64fb28da191bc978ab99ea397e6108a15c364f8 |
|
08-Sep-2011 |
Jim Grosbach <grosbach@apple.com> |
Thumb2 assembly parsing and encoding for LDR post-indexed. More cleanup of the general indexed addressing T2 instructions. Still more to do, especially for stores. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139272 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
eeec025cf5a2236ee9527a3312496a6ea42100c6 |
|
08-Sep-2011 |
Jim Grosbach <grosbach@apple.com> |
Thumb2 assembly parsing and encoding for LDR pre-indexed w/ writeback. Adjust encoding of writeback load/store instructions to better reflect the way the operand types are represented. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139270 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
6153a036f544beb03dfc4d58edc28cf42712743d |
|
23-Aug-2011 |
Owen Anderson <resistor@mac.com> |
Fix Thumb2 decoding of CPS instructions to mirror ARM decoding of the same instructions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@138339 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
8e1e60b5f8fd9c6233bdb8814ee40887555a0594 |
|
23-Aug-2011 |
Owen Anderson <resistor@mac.com> |
Reject invalid imod values in t2CPS instructions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@138306 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
a33b31be451472e72e6dd88851061e239ad54606 |
|
22-Aug-2011 |
Jim Grosbach <grosbach@apple.com> |
Clean up predicates on ARM target instruction aliases. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@138249 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
4ec6e888ec6d12b5255afd685b05c8fee1f7fc73 |
|
19-Aug-2011 |
Jim Grosbach <grosbach@apple.com> |
Thumb assembly parsing and encoding for MOV. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@138076 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
73a1c2cea181a4463effaab8612c78cf11b83336 |
|
19-Aug-2011 |
Jim Grosbach <grosbach@apple.com> |
Tidy up. Tab character. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@138072 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
b86e2dbf61425b195ac5c281e480d9f4414377af |
|
19-Aug-2011 |
Jim Grosbach <grosbach@apple.com> |
Tab characters. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@138066 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
16280308ac6f20d9da06eafcc19e4a6777f49750 |
|
17-Aug-2011 |
Owen Anderson <resistor@mac.com> |
Separate out Thumb1 instructions that need an S bit operand from those that do not, for the purposes of decoding them. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137787 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
47a0d52b69056250a1edaca8b28f705993094542 |
|
16-Aug-2011 |
Jim Grosbach <grosbach@apple.com> |
ARM thumb assembly parsing for arithmetic flag setting instructions. Thumb one requires that many arithmetic instruction forms have an 'S' suffix. For Thumb2, the whether the suffix is required or precluded depends on whether the instruction is in an IT block. Use target parser predicates to check for these sorts of context-sensitive constraints. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137746 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
ef2865a8eadffd7e346b9bc70c647578010b6afd |
|
16-Aug-2011 |
Owen Anderson <resistor@mac.com> |
Specify a necessary fixed bit for VLD3DUP, and otherwise rearrange the Thumb2 NEON decoding hooks to bring us closer to correctness. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137686 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
92be8ab6a410207a097a24dcbf2e2302f6634265 |
|
15-Aug-2011 |
Owen Anderson <resistor@mac.com> |
Remove dead classes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137643 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
8757a4c6aba86111bacc49879d1f1c260f4631d4 |
|
15-Aug-2011 |
Jim Grosbach <grosbach@apple.com> |
Update comment to reflect MC target machine refactor. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137615 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
79628e92e1f903d50340d4cd3d1ea8c5fff63a87 |
|
12-Aug-2011 |
Owen Anderson <resistor@mac.com> |
Fix decoding of ARM-mode STRH. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137499 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
45251b370733b167d1d0640a027365f7208f7d10 |
|
11-Aug-2011 |
Jim Grosbach <grosbach@apple.com> |
Tidy up. Remove unused template parameter. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137345 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
14605d1a679d55ff25875656e100ff455194ee17 |
|
11-Aug-2011 |
Jim Grosbach <grosbach@apple.com> |
ARM STRD assembly parsing and encoding. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137342 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
26d2f0ac919f6ae868fe901fd4ad64af6f92da4d |
|
11-Aug-2011 |
Owen Anderson <resistor@mac.com> |
Continue to tighten decoding by performing more operand validation. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137340 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
8533ebad6f6e407215497ca50771f323058f5576 |
|
10-Aug-2011 |
Owen Anderson <resistor@mac.com> |
Add initial support for decoding NEON instructions in Thumb2 mode. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137236 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
8d7d2e1238fac58c01ccfb719d0cc5680a079561 |
|
09-Aug-2011 |
Owen Anderson <resistor@mac.com> |
Replace the existing ARM disassembler with a new one based on the FixedLenDecoderEmitter. This new disassembler can correctly decode all the testcases that the old one did, though some "expected failure" testcases are XFAIL'd for now because it is not (yet) as strict in operand checking as the old one was. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137144 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
14c903a76be7933cea746617d3f787fdf4de8203 |
|
05-Aug-2011 |
Owen Anderson <resistor@mac.com> |
Fix broken encodings for the Thumb2 LDRD/STRD instructions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@136942 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
7ce057983ea7b8ad42d5cca1bb5d3f6941662269 |
|
04-Aug-2011 |
Jim Grosbach <grosbach@apple.com> |
ARM refactoring assembly parsing of memory address operands. Memory operand parsing is a bit haphazzard at the moment, in no small part due to the even more haphazzard representations of memory operands in the .td files. Start cleaning that all up, at least a bit. The addressing modes in the .td files will be being simplified to not be so monolithic, especially with regards to immediate vs. register offsets and post-indexed addressing. addrmode3 is on its way with this patch, for example. This patch is foundational to enable going back to smaller incremental patches for the individual memory referencing instructions themselves. It does just enough to get the basics in place and handle the "make check" regression tests we already have. Follow-up work will be fleshing out the details and adding more robust test cases for the individual instructions, starting with ARM mode and moving from there into Thumb and Thumb2. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@136845 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
793e79601f0fd68ba082fa2016018f80b2379460 |
|
26-Jul-2011 |
Owen Anderson <resistor@mac.com> |
Split am2offset into register addend and immediate addend forms, necessary for allowing the fixed-length disassembler to distinguish between SBFX and STR_PRE. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@136141 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
dfdf02dbada1ff9f87fe6efef0fc182a754f13f7 |
|
26-Jul-2011 |
Jim Grosbach <grosbach@apple.com> |
ARM fix for LDREX source register encoding. rdar://9842203 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@136102 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
4f6f13db1a8a491ecab6af64549fbdc23cb5ba56 |
|
26-Jul-2011 |
Jim Grosbach <grosbach@apple.com> |
ARM assembly parsing and encoding for SWP[B] instructions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@136098 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
1355cf1f76abe9699cd1c2838da132ff8b25b76b |
|
26-Jul-2011 |
Jim Grosbach <grosbach@apple.com> |
Clean up the ARM asm parser a bit. No intendeded functional change. Just cleaning up a bit to make things more self-consistent in layout and style. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@136095 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
5f6c133d7d4451a78ffc39248fc69a8870b57c6a |
|
25-Jul-2011 |
Jim Grosbach <grosbach@apple.com> |
More simple cleanup of ARM asm operand definitions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135958 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
43904299b05bdf579415749041f77c4490fe5f5b |
|
25-Jul-2011 |
Jim Grosbach <grosbach@apple.com> |
Make assembly parser method names more consistent. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135950 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
c27d4f9ea0cb9064d3e2cadb384d73e95e9de449 |
|
22-Jul-2011 |
Jim Grosbach <grosbach@apple.com> |
ARM assembly parsing and encoding for SETEND instruction. Add parsing and diagnostics for malformed inputs. Tests for diagnostics and for correct encodings. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135776 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
152d4a4bb6b75de740b4b8a9f48abb9069d50c17 |
|
22-Jul-2011 |
Owen Anderson <resistor@mac.com> |
Get rid of the extraneous GPR operand on so_reg_imm operands, which in turn necessitates a lot of changes to related bits. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135722 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
f6c0525d421cb48119423a96e23289b473eddbd7 |
|
21-Jul-2011 |
Jim Grosbach <grosbach@apple.com> |
ARM assembly parsing and encoding for PKHBT and PKHTB instructions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135682 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
dde038af59506c631ce181aff66e315a0c477f4d |
|
20-Jul-2011 |
Jim Grosbach <grosbach@apple.com> |
ARM PKH shift ammount operand printing tweaks. Move the shift operator and special value (32 encoded as 0 for PKHTB) handling into the instruction printer. This cleans up a bit of the disassembler special casing for these instructions, more easily handles not printing the operand at all for "lsl #0" and prepares for correct asm parsing of these operands. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135626 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
1769a3df4a81309ec055a8586c8ac35755fa79a2 |
|
20-Jul-2011 |
Jim Grosbach <grosbach@apple.com> |
Tidy up a bit. Move common definitions for ARM and Thumb2 into ARMInstrFormats.td and rename them to be a bit more descriptive that they're for the PKH instructions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135617 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
a0472dc4205d5f2cc4e9cc5a08c51625573a26ce |
|
20-Jul-2011 |
Jim Grosbach <grosbach@apple.com> |
ARM: Tidy up representation of PKH instruction. The shift type is implied by the instruction (PKHBT vs. PKHTB) and so shouldn't be also encoded as part of the shift value immediate. Otherwise we're able to represent invalid instructions, plus it needlessly complicates the representation. Preparatory work for asm parsing of these instructions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135616 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
f1a009007374d8ae1c1565f34d9cea3b83665e5f |
|
19-Jul-2011 |
Owen Anderson <resistor@mac.com> |
Enhance the FixedLengthDecoder to be able to generate plausible-looking decoders for ARM. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135524 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
16884415db751c75f2133bd04921393c792b1158 |
|
14-Jul-2011 |
Owen Anderson <resistor@mac.com> |
Add a target-indepedent entry to MCInstrDesc to describe the encoded size of an opcode. Switch ARM over to using that rather than its own special MCInstrDesc bits. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135106 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
0d8dae292a088c3a742f655c1787782abfe7e34c |
|
13-Jul-2011 |
Jim Grosbach <grosbach@apple.com> |
Parameterize away the ARM T1Cop class. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135082 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
9bb098ad3a3c93aec50a4a63e6894472727f8d88 |
|
13-Jul-2011 |
Jim Grosbach <grosbach@apple.com> |
Fix predicates for Thumb co-processor instructions. They're all Thumb2 only, not just some of them. More refactoring cleanup coming. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135081 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
53e3fc463e3d9ee840510b08ebd6db17694fa2c5 |
|
08-Jul-2011 |
Jim Grosbach <grosbach@apple.com> |
Use TableGen'erated pseudo lowering for ARM. Hook up the TableGen lowering for simple pseudo instructions for ARM and use it for a subset of the many pseudos the backend has as proof of concept. More conversions to come. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@134705 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
d1689ae4b1ae5af191f71dcb9c59640a6dca7ebc |
|
06-Jul-2011 |
Jim Grosbach <grosbach@apple.com> |
Mark ARM pseudo-instructions as isPseudo. This allows us to remove the (bogus and unneeded) encoding information from the pseudo-instruction class definitions. All of the pseudos that haven't been converted yet and still need encoding information instance from the normal instruction classes and explicitly set isCodeGenOnly, and so are distinct from this change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@134540 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
33281b23616bea25decc838cb8707a2861f9d767 |
|
27-May-2011 |
Eric Christopher <echristo@apple.com> |
Make the branch encoding for tBcc more obvious that it's a 4-byte opcode followed by a conditional and imm8. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132179 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
6635b04a4357caf6544cd0a7dbc4c107e7907a88 |
|
19-May-2011 |
Jim Grosbach <grosbach@apple.com> |
80 columns. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131649 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
54ad87ab786cae4e5b654f4295e9697f0c72dbb1 |
|
03-May-2011 |
Bruno Cardoso Lopes <bruno.cardoso@gmail.com> |
Add a few ARM coprocessor intrinsics. Testcases included git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@130763 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
a9611549fe5cd06000111851f88b951467695307 |
|
06-Apr-2011 |
Johnny Chen <johnny.chen@apple.com> |
Fix a bug in the disassembly of VGETLNs8 where the lane index was wrong. Also set the encoding bits (for A8.6.303, A8.6.328, A8.6.329) Inst{3-0} = 0b0000, in class NVLaneOp. rdar://problem/9240648 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129015 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
ac79e4c82f201c30a06c2cd05baebd20f5b49888 |
|
04-Apr-2011 |
Bruno Cardoso Lopes <bruno.cardoso@gmail.com> |
- Implement asm parsing support for LDRSBT, LDRHT, LDRSHT and STRHT also fix the encoding of the later. - Add a new encoding bit to describe the index mode used in AM3. - Teach printAddrMode3Operand to check by the addressing mode which index mode to print. - Testcases. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@128832 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
ae0855401b8c80f96904b6808b0bc4c89216aecd |
|
01-Apr-2011 |
Bruno Cardoso Lopes <bruno.cardoso@gmail.com> |
Apply again changes to support ARM memory asm parsing. I removed all LDR/STR changes and left them to a future patch. Passing all checks now. - Implement asm parsing support for LDRT, LDRBT, STRT, STRBT and fix the encoding wherever is possible. - Add a new encoding bit to describe the index mode used and teach printAddrMode2Operand to check by the addressing mode which index mode to print. - Testcases git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@128689 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
b41aaab5a1769f4df04d566da37866ac91b6ee9e |
|
31-Mar-2011 |
Bruno Cardoso Lopes <bruno.cardoso@gmail.com> |
Revert r128632 again, until I figure out what break the tests git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@128635 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
bcd3a9cd84d3bb143075d31bdf631f621f44f9e7 |
|
31-Mar-2011 |
Bruno Cardoso Lopes <bruno.cardoso@gmail.com> |
Reapply r128585 without generating a lib depedency cycle. An updated log: - Implement asm parsing support for LDRT, LDRBT, STRT, STRBT and {STR,LDC}{2}_{PRE,POST} fixing the encoding wherever is possible. - Move all instructions which use am2offset without a pattern to use addrmode2. - Add a new encoding bit to describe the index mode used and teach printAddrMode2Operand to check by the addressing mode which index mode to print. - Testcases git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@128632 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
e4345c9977e65b14fa4b93d19c7e67a7b15f7f40 |
|
31-Mar-2011 |
Matt Beaumont-Gay <matthewbg@google.com> |
Revert "- Implement asm parsing support for LDRT, LDRBT, STRT, STRBT and" This revision introduced a dependency cycle, as nlewycky mentioned by email. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@128597 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
6a7d36a32026aa366d41c457898bd2d7a539f06c |
|
31-Mar-2011 |
Owen Anderson <resistor@mac.com> |
Somehow we managed to forget to encode the lane index for a large swathe of NEON instructions. With this fix, the entire test-suite passes with the Thumb integrated assembler. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@128587 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
40829ed6f5e449fa33a9cd7022ce6c3941dace3d |
|
31-Mar-2011 |
Bruno Cardoso Lopes <bruno.cardoso@gmail.com> |
- Implement asm parsing support for LDRT, LDRBT, STRT, STRBT and {STR,LDC}{2}_PRE. - Fixed the encoding in some places. - Some of those instructions were using am2offset and now use addrmode2. Codegen isn't affected, instructions which use SelectAddrMode2Offset were not touched. - Teach printAddrMode2Operand to check by the addressing mode which index mode to print. - This is a work in progress, more work to come. The idea is to change places which use am2offset to use addrmode2 instead, as to unify assembly parser. - Add testcases for assembly parser git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@128585 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
505f3cd2965e65b6b7ad023eaba0e3dc89b67409 |
|
24-Mar-2011 |
Bruno Cardoso Lopes <bruno.cardoso@gmail.com> |
Add asm parsing support w/ testcases for strex/ldrex family of instructions git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@128236 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
e2189144d45be78a89f0daf3df3cf12e38221d86 |
|
14-Mar-2011 |
Jim Grosbach <grosbach@apple.com> |
Remove some dead patterns. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@127601 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
a768c3d45f73fff46fb9bbf4368c280ee4aaca49 |
|
10-Mar-2011 |
Jim Grosbach <grosbach@apple.com> |
Pseudo-instructions are codegenonly by definition. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@127420 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
3116dce33840a115130c5f8ffcb9679d023496d6 |
|
08-Mar-2011 |
Bill Wendling <isanbard@gmail.com> |
Rename the narrow shift right immediate operands to "shr_imm*" operands. Also expand the testing of the narrowing shift right instructions. No functionality change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@127193 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
a656b63ee4d5b0e3f4d26a55dd4cc69795746684 |
|
01-Mar-2011 |
Bill Wendling <isanbard@gmail.com> |
Narrow right shifts need to encode their immediates differently from a normal shift. 16-bit: imm6<5:3> = '001', 8 - <imm> is encded in imm6<2:0> 32-bit: imm6<5:4> = '01',16 - <imm> is encded in imm6<3:0> 64-bit: imm6<5> = '1', 32 - <imm> is encded in imm6<4:0> git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@126723 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
2b943566f394eba5aac0c6c94a2375ea37c9341f |
|
23-Feb-2011 |
Evan Cheng <evan.cheng@apple.com> |
Change VFPNeonA8 definition to make the code easier to read. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@126298 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
6557bce3ec8d5a82b2ea299a18cb51677b299633 |
|
22-Feb-2011 |
Evan Cheng <evan.cheng@apple.com> |
VFP single precision arith instructions can go down to NEON pipeline, but on Cortex-A8 only. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@126238 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
584bf7bb03e4cf1475b26851edcc1ddb66b85028 |
|
18-Feb-2011 |
Bruno Cardoso Lopes <bruno.cardoso@gmail.com> |
Add assembly parsing support for "msr" and also fix its encoding. Also add testcases for the disassembler to make sure it still works for "msr". git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@125948 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
5eda282cd1775afc2ec1e1b86c9e224d2db10302 |
|
16-Feb-2011 |
Evan Cheng <evan.cheng@apple.com> |
Some single precision VFP instructions may be executed on NEON pipeline, but not double precision ones. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@125624 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
a2b6e4151b75248f9dbf8067186cba673520f8f4 |
|
14-Feb-2011 |
Bruno Cardoso Lopes <bruno.cardoso@gmail.com> |
Fix encoding and add parsing support for the arm/thumb CPS instruction: - Add custom operand matching for imod and iflags. - Rename SplitMnemonicAndCC to SplitMnemonic since it splits more than CC from mnemonic. - While adding ".w" as an operand, don't change "Head" to avoid passing the wrong mnemonic to ParseOperand. - Add asm parser tests. - Add disassembler tests just to make sure it can catch all cps versions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@125489 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
f922c47143d247cbae14b294a0bada139bcd35f6 |
|
12-Feb-2011 |
Jim Grosbach <grosbach@apple.com> |
AsmMatcher custom operand parser failure enhancements. Teach the AsmMatcher handling to distinguish between an error custom-parsing an operand and a failure to match. The former should propogate the error upwards, while the latter should continue attempting to parse with alternative matchers. Update the ARM asm parser accordingly. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@125426 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
706d946cfe44fa93f482c3a56ed42d52ca81b257 |
|
07-Feb-2011 |
Bruno Cardoso Lopes <bruno.cardoso@gmail.com> |
Add support for parsing dmb/dsb instructions git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@125055 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
6b3a999f227139a3be7df6b5aea7a7d01ce94851 |
|
20-Jan-2011 |
Bruno Cardoso Lopes <bruno.cardoso@gmail.com> |
Add mcr*2 and mr*c2 support to thumb2 targets git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123919 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
fa5bd27fbe5188ca708ac0dda4f32d90505da9f5 |
|
20-Jan-2011 |
Bruno Cardoso Lopes <bruno.cardoso@gmail.com> |
Add mcr* and mr*c support to thumb targets git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123917 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
ff12a8bd999569ce76b3a9f5e167f6e89280e9d9 |
|
18-Jan-2011 |
Jim Grosbach <grosbach@apple.com> |
Add a FIXME. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123769 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
41b1d4e4725b34ccf646c706757d8a557ab376e7 |
|
15-Dec-2010 |
Jim Grosbach <grosbach@apple.com> |
The new t2LEApcrel* pseudo instructions need the size specified. rdar://8768390 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121876 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
ac00e9627388e31a5704bc3e3430ffd0631bb1fe |
|
10-Dec-2010 |
Owen Anderson <resistor@mac.com> |
Provide the necessary post-encoder hook for Thumb2 encodings of VMOV and friends. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121585 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
04da9bf9f133a3e5233d10885a38e1d14199549c |
|
10-Dec-2010 |
Jim Grosbach <grosbach@apple.com> |
Tidy up. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121522 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
a79bd0e1e0df2358bd8d1d1d5bf30bdfc0141f67 |
|
10-Dec-2010 |
Jim Grosbach <grosbach@apple.com> |
Trailing whitespace. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121521 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
bdf714450b70509538aa5a8a676034418ce827b6 |
|
07-Dec-2010 |
Owen Anderson <resistor@mac.com> |
Fix Thumb2 encoding of the S bit. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121182 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
d67641b6f804110505a69aaed5479f446bbbb34e |
|
06-Dec-2010 |
Jim Grosbach <grosbach@apple.com> |
The ARM AsmMatcher needs to know that the CCOut operand is a register value, not an immediate. It stores either ARM::CPSR or reg0. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121018 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
cf590263cd5c24ccf1d08cef612738d99cd980d9 |
|
01-Dec-2010 |
Bill Wendling <isanbard@gmail.com> |
Add a post encoder method to the VFP instructions to convert them to the Thumb2 encoding if we're in that mode. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120608 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
9d63d90de5e57ad96f467b270544443a9284eb2b |
|
01-Dec-2010 |
Owen Anderson <resistor@mac.com> |
Add correct encodings for STRD and LDRD, including fixup support. Additionally, update these to unified syntax. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120589 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
43f7b2d3703987fe964985846f8a6829a66b5d69 |
|
01-Dec-2010 |
Bill Wendling <isanbard@gmail.com> |
General cleanups of comments. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120536 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
40062fb7479487e3bd44944b2be0b055b9ea6269 |
|
01-Dec-2010 |
Bill Wendling <isanbard@gmail.com> |
s/T1pIEncode/T1pILdStEncode/g s/T1pIEncodeImm/T1pILdStEncodeImm/g git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120524 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
0b424dc6b734fc5538887d1ebbd843c3a8d3d49d |
|
01-Dec-2010 |
Bill Wendling <isanbard@gmail.com> |
Renaming variables to coincide with documentation. No functionality change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120522 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
3f8c110dc643847363686d543a56c23c41353ab0 |
|
01-Dec-2010 |
Bill Wendling <isanbard@gmail.com> |
Rename operands to match ARM documentation. No functionality change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120500 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
2cbc9fe83741f9239aaf99c5b71bf3635f9af9da |
|
01-Dec-2010 |
Bill Wendling <isanbard@gmail.com> |
Inline classes that were used in only one place. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120488 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
1fd374e9c1c074c1681336bef31e65f0170b0f7e |
|
30-Nov-2010 |
Bill Wendling <isanbard@gmail.com> |
* Add support for encoding t_addrmode_s2 and t_addrmode_s1. They are the same as t_addrmode_s4, but with a different scaling factor. * Encode the Thumb1 load and store instructions. This involved a bit of refactoring (hi, Chris! :-). Some of the patterns became dead afterwards and were removed. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120482 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
a0d2c8a40f890345237abfa9cece16c517e1e280 |
|
30-Nov-2010 |
Jim Grosbach <grosbach@apple.com> |
Pseudo-ize BX_CALL and friends. Remove dead instruction format classes. rdar://8685712 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120438 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
6af50f7dd12d82f0a80f3158102180eee4c921aa |
|
30-Nov-2010 |
Owen Anderson <resistor@mac.com> |
Correct Thumb2 encodings for a much wider range of loads and stores. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120364 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
6e4221153bf0f2b6acda93f08b08155e3628bf4c |
|
30-Nov-2010 |
Jim Grosbach <grosbach@apple.com> |
Parameterize ARMPseudoInst size property. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120353 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
f1aa47dc1aed018e2f70ffe7d32dba51e2ac45fe |
|
29-Nov-2010 |
Jim Grosbach <grosbach@apple.com> |
ARM Pseudo-ize tBR_JTr. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120310 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
2dc7768d73c9afa3a23b86ee7827bc8de426f459 |
|
29-Nov-2010 |
Jim Grosbach <grosbach@apple.com> |
Switch ARM BR_JTm and BR_JTr instructions to be MC-expanded pseudos. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120303 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
a30a51b16a002dc51e206ea467f2c4ab7ca18a77 |
|
19-Nov-2010 |
Jim Grosbach <grosbach@apple.com> |
trailing whitespace git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119863 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
2aeb6121a19aca7c317619f7ec37d7a770e9f03b |
|
19-Nov-2010 |
Jim Grosbach <grosbach@apple.com> |
Add ARM encoding information for STRD. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119852 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
953557f445ba749e0ec95e43bc5143849d1fd99b |
|
19-Nov-2010 |
Jim Grosbach <grosbach@apple.com> |
Factor out operand encoding bits for ARM addressing mode 2 store instructions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119846 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
e2d54af47f67f3a868f96a4d9856042c71244814 |
|
19-Nov-2010 |
Jim Grosbach <grosbach@apple.com> |
Delete another dead class. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119844 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
fc0cb4b90673eedfa36024bfee21ef6af3d50101 |
|
19-Nov-2010 |
Jim Grosbach <grosbach@apple.com> |
whitespace tweak. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119843 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
9ef65cbbc6f23ee8c44b065d3a4feea11c471a2f |
|
19-Nov-2010 |
Jim Grosbach <grosbach@apple.com> |
Refactor PICSTR* instructions to really be pseudos. Nuke dead classes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119841 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
9558b4cdc4d12079250fe1d6302b954c7dfc0010 |
|
19-Nov-2010 |
Jim Grosbach <grosbach@apple.com> |
Rename ARM .td class AIldst1 to AI2ldst for consistency with the other classes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119840 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
9cb15b5be51b7e36f3fe0c9ee256eb9c99b9d796 |
|
19-Nov-2010 |
Jim Grosbach <grosbach@apple.com> |
Add ARM binary encoding information for the rest of the indexed loads. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119821 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
0c2283a910fef6347ddc46196cf37b4ff7e87fb6 |
|
19-Nov-2010 |
Jim Grosbach <grosbach@apple.com> |
Remove dead code. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119815 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
f1ce7cc1d19309e5cb086739471f4dc04728117b |
|
19-Nov-2010 |
Jim Grosbach <grosbach@apple.com> |
ARM LDRD binary encoding. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119812 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
c884aff5f4d431b31b5f85ce8a208dba30bd72df |
|
18-Nov-2010 |
Jim Grosbach <grosbach@apple.com> |
Add ARM encoding information for LDRH post-increment. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119743 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
821752e2e601b2e4c0bb83cb341892c853f16d0a |
|
18-Nov-2010 |
Owen Anderson <resistor@mac.com> |
Fill out the set of Thumb2 multiplication operator encodings. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119733 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
056ab107ff8e818258c39b1f1e318b2aa1a417fc |
|
18-Nov-2010 |
Jim Grosbach <grosbach@apple.com> |
ARMPseudoInst instructions should default to being considered a single 4-byte instruction. Any that may be expanded otherwise by MC lowering should override this value. rdar://8683274 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119713 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
99594eb1dec2ddccbfbc995d828ce37ad829ec87 |
|
18-Nov-2010 |
Jim Grosbach <grosbach@apple.com> |
ARM PseudoInst instructions don't need or use an assembler string. Get rid of the operand to the pattern. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119607 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
c6961f140ad9bb4da6554c12a4a6af4cd2dab54a |
|
18-Nov-2010 |
Jim Grosbach <grosbach@apple.com> |
Add FIXME. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119603 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
53694265a9e571aa53087ed0d5b770fdede12394 |
|
18-Nov-2010 |
Jim Grosbach <grosbach@apple.com> |
Refactor the ARM PICADD and PICLDR* instructions to really be pseudos and not just pretend to be. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119602 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
160f8f0e6779b76c7713036c8580ae25c5aad586 |
|
18-Nov-2010 |
Jim Grosbach <grosbach@apple.com> |
Refactor a few ARM load instructions to better parameterize things and re-use common encoding information. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119598 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
89e14c7579d9351da2e39a85703882bac3a83980 |
|
17-Nov-2010 |
Jim Grosbach <grosbach@apple.com> |
More ARM encoding bits. LDRH now encodes properly. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119529 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
6bc105a7b9282a0b5beb9d06267b31a3054fb3fa |
|
17-Nov-2010 |
Bill Wendling <isanbard@gmail.com> |
Add binary emission stuff for VLDM/VSTM. This reuses the "getRegisterListOpValue" logic. If the registers are double or single precision, the value returned is suitable for VLDM/VSTM. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119435 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
7b71878d9f490dbdccd39a7f8e813cab58fe8503 |
|
16-Nov-2010 |
Bill Wendling <isanbard@gmail.com> |
- Remove dead patterns. - Add encodings to the *LDMIA_RET instrs. Probably not needed... git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119323 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
99f53d13efc259b47c93dc0d90a5db763cbe371a |
|
15-Nov-2010 |
Jim Grosbach <grosbach@apple.com> |
ARM LDR_PRE/LDR_POST/STR_PRE/STR_POST (and the *B counterparts) binary encoding. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119180 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
2ac190238e88b21e716e2853900b5076c9013410 |
|
15-Nov-2010 |
Chris Lattner <sabre@nondot.org> |
add fields to the .td files unconditionally, simplifying tblgen a bit. Switch the ARM backend to use 'let' instead of 'set' with this change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119120 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
6c470b806fe8eefae1b7bf180f269a4b120173a4 |
|
13-Nov-2010 |
Bill Wendling <isanbard@gmail.com> |
Add *_ldst_mult multiclasses to the ARM back-end. These will be used in the future to separate out the ia, ib, da, db variants of the load/store multiple instructions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118995 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
9e0bfb58298cab01625e56c49bac23f52bf782c3 |
|
13-Nov-2010 |
Jim Grosbach <grosbach@apple.com> |
More ARM load/store indexed refactoring. Also fix an incorrect IndexMode flag for the LDRT/STRT family instructions as a side effect. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118955 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
2716e25c2cee61e95bec3d17b49ca37a48b4cfab |
|
12-Nov-2010 |
Jim Grosbach <grosbach@apple.com> |
Refactor to parameterize some ARM load/store encoding patterns. Preparatory to splitting the load/store pre/post indexed instructions into [r, r] and [r, imm] forms. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118925 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
529916ca4ab83ec472a2d7039a05007c4d40553a |
|
12-Nov-2010 |
Evan Cheng <evan.cheng@apple.com> |
Add some missing isel predicates on def : pat patterns to avoid generating VFP vmla / vmls (they cause stalls). Disabling them in isel is properly not a right solution, I'll look into a proper solution next. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118922 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
b39e6488eef7a5ff8b4e6acf0d42d096f5be853b |
|
12-Nov-2010 |
Jim Grosbach <grosbach@apple.com> |
Kill more unused stuff. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118921 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
a0a6a47c02d360e8a167a6a28f03a3b453c38fbb |
|
12-Nov-2010 |
Jim Grosbach <grosbach@apple.com> |
Remove unused class. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118919 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
80f9e6724fa98b5af0bb43f58002c1ac3e9cb30b |
|
12-Nov-2010 |
Jim Grosbach <grosbach@apple.com> |
Encoding for ARM LDRSB instructions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118905 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
8f143913141991baaa535ca0da7c8a81606d6392 |
|
12-Nov-2010 |
Owen Anderson <resistor@mac.com> |
Fill out support for Thumb2 encodings of NEON instructions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118854 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
57dac88f775c1191a98cff89abd1f7ad33df5e29 |
|
11-Nov-2010 |
Owen Anderson <resistor@mac.com> |
Add correct Thumb2 encodings for NEON vst[1,2,3,4] and vld[1,2,3,4]. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118843 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
c7139a6f0d3acd198ab9eb536ea1ec52e61ff130 |
|
11-Nov-2010 |
Owen Anderson <resistor@mac.com> |
Add support for Thumb2 encodings of NEON data processing instructions, using the new PostEncoderMethod infrastructure. More tests to come. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118819 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
7eab97f260ba0f56d1d4a82f3a4eb2c979452011 |
|
11-Nov-2010 |
Jim Grosbach <grosbach@apple.com> |
Encoding for ARM LDRSH_POST. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118794 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
928f3325a70384ee91af5768f628cf0748879b11 |
|
11-Nov-2010 |
Jim Grosbach <grosbach@apple.com> |
Encoding for ARM LDRSH and LDRSH_PRE. Cannonicalize operand names. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118767 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
570a9226913ebe1af04832b8fb3273c70b4ee152 |
|
11-Nov-2010 |
Jim Grosbach <grosbach@apple.com> |
ARM STRH encoding information. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118757 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
954ffff79bf2f48ac6fd8b4406fe51e3d19440e3 |
|
11-Nov-2010 |
Jim Grosbach <grosbach@apple.com> |
Move LDM predicate operand encoding into base clase. Add STM missing STM encoding bits. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118738 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
5d5eb9e3817a2765297e6dd5649ecb9b8b03e334 |
|
11-Nov-2010 |
Jim Grosbach <grosbach@apple.com> |
ARM LDM encoding for the mode (ia, ib, da, db) operand. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118736 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
c1235e2a4eff7ce61ab15375f6686238c39ab304 |
|
11-Nov-2010 |
Jim Grosbach <grosbach@apple.com> |
Fix ARM encoding of non-return LDM instructions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118732 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
866aa394ca72ca015e65fff55043bc1120b3b58d |
|
11-Nov-2010 |
Jim Grosbach <grosbach@apple.com> |
Fix ARM encoding of LDM+Return instruction. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118730 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
2f46f1f59c17040f7a2c970342f2f1dcc9b78319 |
|
04-Nov-2010 |
Bill Wendling <isanbard@gmail.com> |
Add encoding for VSTR. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118220 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
f431edae5c0c79077451adb6fb0f406f7c7e5368 |
|
03-Nov-2010 |
Owen Anderson <resistor@mac.com> |
Revert r118097 to fix buildbots. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118121 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
1ba6064437f7cae1d2cd1aa9c8dd50a78e8657e3 |
|
02-Nov-2010 |
Owen Anderson <resistor@mac.com> |
Since these fields are not exactly equivalent to the encoded field, rename them to something with semantic meaning. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118097 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
d138d7034e8dcfbb55683116a854a1e42d6879a4 |
|
02-Nov-2010 |
Owen Anderson <resistor@mac.com> |
Factor out a common encoding class for loads and stores with a lane parameter. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118055 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
d9aa7d30aa277fba319ee4bcdb862cd79f1aabe5 |
|
02-Nov-2010 |
Owen Anderson <resistor@mac.com> |
Add correct NEON encodings for the "multiple single elements" form of vld. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117984 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
c2bf50245f86805e95d01a243e7de3641c5ab7a8 |
|
01-Nov-2010 |
Bill Wendling <isanbard@gmail.com> |
Move the machine operand MC encoding patterns to the parent classes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117956 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
6797f89815d9e26ae6b6856273e6a96ff5e135ea |
|
01-Nov-2010 |
Jim Grosbach <grosbach@apple.com> |
Add 'IsThumb' predicate to patterns marked as 'IsThumb1Only'. The latter gates codegen using the patterns; the latter gates the assembler recognizing the instruction. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117931 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
69661191ce9f4e8a2fa00391a0708905caccf52c |
|
01-Nov-2010 |
Bill Wendling <isanbard@gmail.com> |
Move instruction encoding bits into the parent class and remove the temporary *_Encode classes. These instructions are the only ones which use those classes, so a subclass isn't necessary. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117906 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
150d20e8fcadda6600bbb2e188c17a35b8ec7cbd |
|
31-Oct-2010 |
Chris Lattner <sabre@nondot.org> |
fix the !eq operator in tblgen to return a bit instead of an int. Use this to make the X86 and ARM targets set isCodeGenOnly=1 automatically for their instructions that have Format=Pseudo, resolving a hack in tblgen. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117862 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
6b5252db2db5eeeadec4602329ac56beb6dea54a |
|
30-Oct-2010 |
Jim Grosbach <grosbach@apple.com> |
Encode the register list operands for ARM mode LDM/STM instructions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117753 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
f32ecc69e51b45bd5c0ec93b393aee535f43c66a |
|
29-Oct-2010 |
Jim Grosbach <grosbach@apple.com> |
ARM encoding information for CLREX, SWP and SWPB. Add comment for sjlj pseudos and a FIXME for TLS. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117702 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
86875a2463be6c0ac4df121c3319e3e1f73dcdda |
|
29-Oct-2010 |
Jim Grosbach <grosbach@apple.com> |
ARM mode LDREX*/STREX* binary encodings. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117695 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
7e3383c007f53b3a00675af225e428cb66ddf404 |
|
28-Oct-2010 |
Jim Grosbach <grosbach@apple.com> |
Refactor ARM STR/STRB instruction patterns into STR{B}i12 and STR{B}rs, like the LDR instructions have. This makes the literal/register forms of the instructions explicit and allows us to assign scheduling itineraries appropriately. rdar://8477752 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117505 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
d2fbdb7f5c85d2191514953bdba0fae7b788e623 |
|
27-Oct-2010 |
Owen Anderson <resistor@mac.com> |
Provide correct encodings for the get_lane and set_lane variants of vmov. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117495 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
f587a9352a80bc62d9d521d5051c69d1fefecca7 |
|
27-Oct-2010 |
Owen Anderson <resistor@mac.com> |
Provide correct NEON encodings for vdup. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117475 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
3e5561247202bae994dd259a2d8dc4eff8f799f3 |
|
27-Oct-2010 |
Jim Grosbach <grosbach@apple.com> |
First part of refactoring ARM addrmode2 (load/store) instructions to be more 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117409 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
3557d00a388585b8827d3e864cb8cd24ee42368a |
|
26-Oct-2010 |
Owen Anderson <resistor@mac.com> |
Provide correct NEON encodings for vshl, register and immediate forms. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117394 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
a88ea03bf22ba098f1b7d3471d98f3303dcbd33f |
|
26-Oct-2010 |
Owen Anderson <resistor@mac.com> |
Add NEON encodings for vmov and vmvn of immediates. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117374 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
0e9996ca94ac84c10aeddfb9b6300b2b89b08fe2 |
|
26-Oct-2010 |
Evan Cheng <evan.cheng@apple.com> |
NEON vmov's are in Neon domain. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117347 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
162875a9f3be40bfccc07c29ea4ad19f599b9ee4 |
|
25-Oct-2010 |
Owen Anderson <resistor@mac.com> |
Add correct instruction encodings for vbic, vorn, and vmvn. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117282 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
8c71eff59439708a61a2c65919ccf9c2791d1f1b |
|
25-Oct-2010 |
Owen Anderson <resistor@mac.com> |
Provide correct NEON encodings for vand, veor, and vorr. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117279 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
f8da5f5dfa5e847d76bf20d0ec4940e3ca51d275 |
|
23-Oct-2010 |
Jim Grosbach <grosbach@apple.com> |
ARM mode encoding information for CLZ, RBIT, REV*, and PKH*. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117165 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
3870b750e6d8af533926138e670f4643a5953e42 |
|
22-Oct-2010 |
Jim Grosbach <grosbach@apple.com> |
More ARM multiply instuction binary encodings. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117121 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
929a7056d8fa54a45471d2861034e3faa11e232e |
|
22-Oct-2010 |
Jim Grosbach <grosbach@apple.com> |
Parameterize a bit of ARM encoding information, simplifying some instruction definitions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117114 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
9463d0e400d4bac590960ba5593d7850870f7187 |
|
22-Oct-2010 |
Jim Grosbach <grosbach@apple.com> |
More ARM multiply instruction encoding information. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117108 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
d451f888b85d01caa586b0d45bacb41836fd2c31 |
|
21-Oct-2010 |
Owen Anderson <resistor@mac.com> |
ARM encodes Q registers as 2xregno (i.e. the number of the D register that corresponds to the lower half of the Q register), rather than with just regno. This allows us to unify the encodings for a lot of different NEON instrucitons that differ only in whether they have Q or D register operands. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117056 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
cfbece50f602c561c5eac046bcfc9a07c8c006cb |
|
15-Oct-2010 |
Bob Wilson <bob.wilson@apple.com> |
ARM instructions that are both predicated and set the condition codes have been printed with the "S" modifier after the predicate. With ARM's unified syntax, they are supposed to go in the other order. We fixed this for Thumb when we switched to unified syntax but missed changing it for ARM. Apparently we don't generate these instructions often because no one noticed until now. Thanks to Bill Wendling for the testcase! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116563 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
3a37866e53c6beb615300e2444e2c1b3a7647f3c |
|
14-Oct-2010 |
Jim Grosbach <grosbach@apple.com> |
trailing whitespace git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116450 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
b3af5de2d97c30355b8109e149326b0664d34085 |
|
13-Oct-2010 |
Jim Grosbach <grosbach@apple.com> |
Refactor the ARM 'setend' instruction pattern. Use a single instruction pattern and handle the operand explicitly. Flesh out encoding information. Add an explicit disassembler testcase for the instruction. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116432 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
b35ad41fef5d1edd9495f708fb7eae1a0a94ef9d |
|
13-Oct-2010 |
Jim Grosbach <grosbach@apple.com> |
Add ARM mode encoding for [SU]XT[BH] and [SU]XTA[BH] instructions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116421 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
08bd54987f4ae482de13436e7254ff08b23f825f |
|
13-Oct-2010 |
Jim Grosbach <grosbach@apple.com> |
Add custom encoder for the 's' bit denoting whether an ARM arithmetic instruction should set the processor status flags or not. Remove the now unnecessary special handling for the bit from the MCCodeEmitter. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116360 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
a0c14ef8f6a41184c65a7904e70efa268ab241f9 |
|
13-Oct-2010 |
Bill Wendling <isanbard@gmail.com> |
Split out the "size" field from the encoding. The newer documentation has it as a separate bit in the coding. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116347 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
499e886fe6c0ad02e0079734733dd7dde03d2940 |
|
12-Oct-2010 |
Jim Grosbach <grosbach@apple.com> |
Encoding for ARM-mode VADD.F32 instruction. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116338 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
62547267f088a060d7c1084a40d740645efe86d1 |
|
11-Oct-2010 |
Jim Grosbach <grosbach@apple.com> |
More binary encoding stuff, taking advantage of the new "by name" operand matching in tblgen to do the predicate operand. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116213 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
7cd2729d2a2ded13ba35f85575b64383f198f976 |
|
06-Oct-2010 |
Jim Grosbach <grosbach@apple.com> |
Add a 'pattern' arg to the ARM PseudoNeonI class. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115831 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
78caacc2266e504eca315844203b3f727c27fbd0 |
|
06-Oct-2010 |
Chris Lattner <sabre@nondot.org> |
replace stuff like: let AsmString = !strconcat( !strconcat(!strconcat(opc, "${p}"), !strconcat(".", dt)), !strconcat("\t", asm)); with: let AsmString = !strconcat(opc, "${p}", ".", dt, "\t", asm); :) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115720 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
d86609fca46ac9e186557d2d7b12f029febecf0e |
|
05-Oct-2010 |
Jim Grosbach <grosbach@apple.com> |
Increase the number of bits used internally by the ARM target to represent the addressing mode from four to five. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115645 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
9d4ebc0eb80c770aab5b51ca459748a6ac8f1699 |
|
16-Sep-2010 |
Bob Wilson <bob.wilson@apple.com> |
Change VLDMQ and VSTMQ to be pseudo instructions. They are expanded after register allocation to VLDMD and VSTMD respectively. This avoids using the dregpair operand modifier. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114047 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
bd916c54b7989ddbab373c61eb1ed2556ca44d27 |
|
14-Sep-2010 |
Bob Wilson <bob.wilson@apple.com> |
Convert some VTBL and VTBX instructions to use pseudo instructions prior to register allocation. Remove the NEONPreAllocPass, which is no longer needed. Yeah!! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113818 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
72db18243839860019ab93e7c30e86228f017ea7 |
|
08-Sep-2010 |
Jim Grosbach <grosbach@apple.com> |
VFP/NEON load/store multiple instructions are addrmode4, not 5. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113322 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
da2ae63206bcf6856f9d717862508b94213c2336 |
|
31-Aug-2010 |
Bill Wendling <isanbard@gmail.com> |
- Cleanup some whitespaces. - Convert {0,1} and friends into 0b01, which is identical and more consistent. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112593 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
55c134a26188291f60c44d027a837f05d797194f |
|
31-Aug-2010 |
Bill Wendling <isanbard@gmail.com> |
Use the existing T2I_bin_s_irs pattern instead of creating T2I_bin_sw_irs, which is meant to do exactly the same thing. Thanks to Jim Grosbach for pointing this out! :-) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112538 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
4822bce4aa395e3e96215e18f5c926c78d4a0e64 |
|
30-Aug-2010 |
Bill Wendling <isanbard@gmail.com> |
Create Thumb2sI_cpsr and T2sI_cpsr. These new classes indicate that CPSR is the optional modified register (instead of reg0). Along with r112461 it will make sure that the optional define of CPSR is marked as "def" and will thus mark the instructions using these classes (t2ANDS*) as setting the 's' flag. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112462 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
709d59255a3100c7d440c93069efa1f726677a27 |
|
26-Aug-2010 |
Bob Wilson <bob.wilson@apple.com> |
Start converting NEON load/stores to use pseudo instructions, beginning here with the VST4 instructions. Until after register allocation, we want to represent sets of adjacent registers by a single super-register. These VST4 pseudo instructions have a single QQ or QQQQ source register operand. They get expanded to the real VST4 instructions with 4 separate D register operands. Once this conversion is complete, we'll be able to remove the NEONPreAllocPass and avoid some fragile and hacky code elsewhere. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112108 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
8462b30548fb5969250858036638c73c16b65b43 |
|
11-Aug-2010 |
Daniel Dunbar <daniel@zuster.org> |
MC/ARM: Add an ARMOperand class for condition codes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110788 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
9a1c189d9e7472f336f3c6d61be76bc46b25749e |
|
11-Aug-2010 |
Bob Wilson <bob.wilson@apple.com> |
Add a separate ARM instruction format for Saturate instructions. (I discovered 2 more copies of the ARM instruction format list, bringing the total to 4!! Two of them were already out of sync. I haven't yet gotten into the disassembler enough to know the best way to fix this, but something needs to be done.) Add support for encoding these instructions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110754 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
99ccffe87e7b2bdc8e5a477f8c1e9087758daf56 |
|
22-Jul-2010 |
Xerxes Ranby <xerxes@zafena.se> |
ARMv4 JIT forgets to set the lr register when making a indirect function call. Fixes PR7608 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109125 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
80d9bc0336821ca2a94a7afe2daac6e8bc689ef7 |
|
26-Jun-2010 |
Bob Wilson <bob.wilson@apple.com> |
Renumber NEON instruction formats to be consecutive. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106927 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
184723d9be17fa0d136b564b2dca44c5216044d6 |
|
26-Jun-2010 |
Bob Wilson <bob.wilson@apple.com> |
Rename ARM instruction formats NEONGetLnFrm, NEONSetLnFrm and NEONDupFrm to "N..." instead of "NEON..." for consistency with the other NEON format names. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106921 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
26532631653be91f9ccc99fca3bfb8027da7c70b |
|
26-Jun-2010 |
Bob Wilson <bob.wilson@apple.com> |
Remove unused NEONFrm and ThumbMiscFrm ARM instruction formats. Renumber MiscFrm to 25. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106916 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
d303846e162e18e0f1fb02d3826dc4d38244f86a |
|
24-May-2010 |
Bob Wilson <bob.wilson@apple.com> |
Clean up some extra whitespace. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104544 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
fddb7667ca4d8fe83f96b388295849281ddaa5b4 |
|
05-Apr-2010 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
Replace TSFlagsFields and TSFlagsShifts with a simpler TSFlags field. When a target instruction wants to set target-specific flags, it should simply set bits in the TSFlags bit vector defined in the Instruction TableGen class. This works well because TableGen resolves member references late: class I : Instruction { AddrMode AM = AddrModeNone; let TSFlags{3-0} = AM.Value; } let AM = AddrMode4 in def ADD : I; TSFlags gets the expected bits from AddrMode4 in this example. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100384 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
79c4d820b46cee1e78ecdef80b3f2ed6373839b7 |
|
29-Mar-2010 |
Johnny Chen <johnny.chen@apple.com> |
Add NVTBLFrm to represent A8.6.406 VTBL, VTBX Vector Table Lookup Instructions. These instructions use byte index in a control vector (M:Vm) to lookup byte values in a table and generate a new vector (D:Vd). The table is specified via a list of vectors, which can be: {Dn} {Dn D<n+1>} {Dn D<n+1> D<n+2>} {Dn D<n+1> D<n+2> D<n+3>} git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99789 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
10bc69c7262d32321b65f21b80a57826b1a90acd |
|
27-Mar-2010 |
Bob Wilson <bob.wilson@apple.com> |
Add a format argument to the N3V and N3VX classes, removing the N3Vf class. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99704 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
897dd0c58859e10afaa36e4175eef9a703b4a794 |
|
27-Mar-2010 |
Johnny Chen <johnny.chen@apple.com> |
Add NVMulSLFrm to represent "3-register multiply with scalar" operations and set it as the format for the appropriate N3V*SL*<> classes. These instructions require special handling of the M:Vm field which encodes the restricted Dm and the lane index within Dm. Examples are A8.6.325 VMLA, VMLAL, VMLS, VMLSL (by scalar): vmlal.s32 q3, d2, d10[0] git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99690 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
629c25cda6af43c16ee4d1ef2301c9ff1531d041 |
|
26-Mar-2010 |
Johnny Chen <johnny.chen@apple.com> |
Add NVExtFrm to represent NEON Vector Extract Instructions, that uses Inst{11-8} to encode the byte location of the extracted result in the concatenation of the operands, from the least significant end. Modify VEXTd and VEXTq classes to use the format. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99659 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
c6e704df8d6e96260a463dac4675ed6968e186e6 |
|
26-Mar-2010 |
Johnny Chen <johnny.chen@apple.com> |
Add N3RegVShFrm to represent 3-Register Vector Shift Instructions, which do not follow the N3RegFrm's operand order of D:Vd N:Vn M:Vm. The operand order of N3RegVShFrm is D:Vd M:Vm N:Vn (notice that M:Vm is the first src operand). Add a parent class N3Vf which requires passing a Format argument and which the N3V class is modified to inherit from. N3V class represents the "normal" 3-Register NEON Instructions with N3RegFrm. Also add a multiclass N3VSh_QHSD to represent clusters of NEON 3-Register Shift Instructions and replace 8 invocations with it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99655 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
575c91cba78332bd9add0949e31a9c228c44cf00 |
|
26-Mar-2010 |
Johnny Chen <johnny.chen@apple.com> |
Add N3RegFrm to represent "NEON 3 vector register format" instructions. Examples are VABA (Vector Absolute Difference and Accumulate), VABAL (Vector Absolute Difference and Accumulate Long), and VABD (Vector Absolute Difference). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99628 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
0a3dc10eba975195e8b9b028bd21a4969cd6f2de |
|
26-Mar-2010 |
Johnny Chen <johnny.chen@apple.com> |
Add N2RegVShLFrm and N2RegVShRFrm formats so that the disassembler can easily dispatch to the appropriate routines to handle the different interpretations of the shift amount encoded in the imm6 field. The Vd, Vm fields are interpreted the same between the two, though. See, for example, A8.6.367 VQSHL, VQSHLU (immediate) for N2RegVShLFrm format and A8.6.368 VQSHRN, VQSHRUN for N2RegVShRFrm format. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99590 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
da9283cd57843eb21fcd4117833e165017bb9123 |
|
26-Mar-2010 |
Johnny Chen <johnny.chen@apple.com> |
Removed instruction class NI from ARMInstrFormats.td. It doesn't seem to be used anywhere. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99566 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
2d2898e6e99a5a4a16352b86070fa0986b7d1efd |
|
25-Mar-2010 |
Johnny Chen <johnny.chen@apple.com> |
Add NVDupLnFrm and change NVDupLane class to use that format. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99557 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
fa80bec349b7fff9ec97b5f66795d7bafa72da62 |
|
25-Mar-2010 |
Johnny Chen <johnny.chen@apple.com> |
Add NVCVTFrm (NEON Convert with fractional bits immediate) and modify N2VImm to expect a Format arg. N2VCvtD/N2VCvtQ are modified to use the NVCVTFrm format. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99548 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
e4614f7e84a7219164e9992fff855dee3816a08e |
|
25-Mar-2010 |
Johnny Chen <johnny.chen@apple.com> |
Added a new instruction class NVDupLane to be inherited by VDUPLND and VDUPLNQ, instead of the current N2V. Format of NVDupLane instances are set to NEONFrm currently. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99518 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
2676737e5ed3e4b5c89b4d06b60d998e9318eb73 |
|
24-Mar-2010 |
Jim Grosbach <grosbach@apple.com> |
Make the use of the vmla and vmls VFP instructions controllable via cmd line. Preliminary testing shows significant performance wins by not using these instructions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99436 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
2fadd6b221893595a7a86eb4b03f5aeadb6088fc |
|
24-Mar-2010 |
Johnny Chen <johnny.chen@apple.com> |
Reverted r99326 which added NVdVmVCVTFrm, and later renamed to NVCVTFrm. NVCVTFrm will later be used to describe "vcvt with fractional bits". git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99415 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
c5f413a74c296864d54c8e1a3391e7b15c9b2f97 |
|
24-Mar-2010 |
Johnny Chen <johnny.chen@apple.com> |
Renamed NVdVmImmFrm and NVdVmVCVTFrm to the more proper N2RegFrm and NVCVTFrm, respectively, and add some more comment. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99373 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
a271174771adce635d29219225843ddb3fb17770 |
|
24-Mar-2010 |
Johnny Chen <johnny.chen@apple.com> |
Renamed NVdImmFrm to N1RegModImmFrm. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99344 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
841e828702df6c28f2af25930cc06e23bd8fcc88 |
|
23-Mar-2010 |
Johnny Chen <johnny.chen@apple.com> |
Fix typo in the comment for N3VX class. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99328 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
3ae9a57c74346e8697ebd64d3139a0ee6b78118a |
|
23-Mar-2010 |
Johnny Chen <johnny.chen@apple.com> |
Add New NEON Format NVdVmVCVTFrm. Converted some of the NEON vcvt instructions to this format. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99326 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
927b88f771ea0c9f511fd0a92dc4a6d4024fed7e |
|
23-Mar-2010 |
Johnny Chen <johnny.chen@apple.com> |
Add New NEON Format NVdVmImmFrm. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99322 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
df9a4f0591e3f3e7ae3b3c119a0c8cf678594f6b |
|
23-Mar-2010 |
Bob Wilson <bob.wilson@apple.com> |
Fix VLDMQ and VSTMQ instructions to use the correct encoding and address modes. These instructions are only needed for codegen, so I've removed all the explicit encoding bits for now; they should be set in the same way as the for VLDMD and VSTMD whenever we add encodings for VFP. The use of addrmode5 requires that the instructions be custom-selected so that the number of registers can be set in the AM5Opc value. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99309 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
011355944bc914b556d43ca4e3b422049791de08 |
|
23-Mar-2010 |
Bob Wilson <bob.wilson@apple.com> |
Fix bad indentation, 80-column violations, and trailing whitespace. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99295 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
785516adc5f3de0911eca1ff94283e6bc8ace7ca |
|
23-Mar-2010 |
Johnny Chen <johnny.chen@apple.com> |
Add New NEON Format NVdImmFrm. Ref: A7.4.6 One register and a modified immediate value. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99288 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
caa608e97c07ffe988dd7c76516b9f81ad8ffc0a |
|
20-Mar-2010 |
Johnny Chen <johnny.chen@apple.com> |
Add NLdStFrm Format. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99014 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
76a312b7d1c2b41394696510506967cd0794b831 |
|
19-Mar-2010 |
Bob Wilson <bob.wilson@apple.com> |
Revert this change, since it was causing ARM performance regressions. --- Reverse-merging r98889 into '.': U lib/Target/ARM/ARMInstrNEON.td U lib/Target/ARM/ARMISelLowering.h U lib/Target/ARM/ARMInstrInfo.td U lib/Target/ARM/ARMInstrVFP.td U lib/Target/ARM/ARMISelLowering.cpp U lib/Target/ARM/ARMInstrFormats.td git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99010 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
81f04d59f6216d0e105daa9bde2250ca6af35fa5 |
|
19-Mar-2010 |
Johnny Chen <johnny.chen@apple.com> |
Renumber LdStExFrm from 28 to 11 and shift the existing format values to make room for it. This is in preparation for another patch which is adding NEON subformats to facilitate disassembly. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98967 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
50622ce8cf429067540232ffabc5b53a81f53ca8 |
|
19-Mar-2010 |
Bob Wilson <bob.wilson@apple.com> |
Update comment to refer to the right filename. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98902 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
341ab138fb3b7b7ebe12371481641f8681cd4e9d |
|
18-Mar-2010 |
Anton Korobeynikov <asl@math.spbu.ru> |
Get rid of target-specific fp <-> int nodes when still I'm here. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98889 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
b7d5226a4ed0d5a7ea2441791cab093741ad5e9f |
|
18-Mar-2010 |
Chris Lattner <sabre@nondot.org> |
fix some buggy ops concatentation git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98869 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
6c8648b4c9f3e02b625dd2d32e0315395da88e61 |
|
18-Mar-2010 |
Johnny Chen <johnny.chen@apple.com> |
Revert 98745 with respect to the addition of NEONFrm subformats for disassembly. There is a better way coming up. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98777 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
89ef7b797ae949edd592f5f71dddbae6ea35c2bf |
|
17-Mar-2010 |
Bob Wilson <bob.wilson@apple.com> |
Increase format field from 5 to 6 bits. ARMII::FormMask was increased to 0x3f in svn r74988 but the format field was never widened. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98768 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
9e08876a2ae329feb7a76dbfe33666cb58033c00 |
|
17-Mar-2010 |
Johnny Chen <johnny.chen@apple.com> |
Added sub-formats to the NeonI/NeonXI instructions to further refine the NEONFrm instructions to help disassembly. We also changed the output of the addressing modes to omit the '+' from the assembler syntax #+/-<imm> or +/-<Rm>. See, for example, A8.6.57/58/60. And modified test cases to not expect '+' in +reg or #+num. For example, ; CHECK: ldr.w r9, [r7, #28] git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98745 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
49d9dc4dd205b615beb7af160ef974eaabe4d1cf |
|
16-Mar-2010 |
Bob Wilson <bob.wilson@apple.com> |
--- Reverse-merging r98637 into '.': U test/CodeGen/ARM/tls2.ll U test/CodeGen/ARM/arm-negative-stride.ll U test/CodeGen/ARM/2009-10-30.ll U test/CodeGen/ARM/globals.ll U test/CodeGen/ARM/str_pre-2.ll U test/CodeGen/ARM/ldrd.ll U test/CodeGen/ARM/2009-10-27-double-align.ll U test/CodeGen/Thumb2/thumb2-strb.ll U test/CodeGen/Thumb2/ldr-str-imm12.ll U test/CodeGen/Thumb2/thumb2-strh.ll U test/CodeGen/Thumb2/thumb2-ldr.ll U test/CodeGen/Thumb2/thumb2-str_pre.ll U test/CodeGen/Thumb2/thumb2-str.ll U test/CodeGen/Thumb2/thumb2-ldrh.ll U utils/TableGen/TableGen.cpp U utils/TableGen/DisassemblerEmitter.cpp D utils/TableGen/RISCDisassemblerEmitter.h D utils/TableGen/RISCDisassemblerEmitter.cpp U Makefile.rules U lib/Target/ARM/ARMInstrNEON.td U lib/Target/ARM/Makefile U lib/Target/ARM/AsmPrinter/ARMInstPrinter.cpp U lib/Target/ARM/AsmPrinter/ARMAsmPrinter.cpp U lib/Target/ARM/AsmPrinter/ARMInstPrinter.h D lib/Target/ARM/Disassembler U lib/Target/ARM/ARMInstrFormats.td U lib/Target/ARM/ARMAddressingModes.h U lib/Target/ARM/Thumb2ITBlockPass.cpp git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98640 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
d30a98e43ae18e1fc70a7dc748edf669d809c685 |
|
16-Mar-2010 |
Johnny Chen <johnny.chen@apple.com> |
Initial ARM/Thumb disassembler check-in. It consists of a tablgen backend (RISCDisassemblerEmitter) which emits the decoder functions for ARM and Thumb, and the disassembler core which invokes the decoder function and builds up the MCInst based on the decoded Opcode. Added sub-formats to the NeonI/NeonXI instructions to further refine the NEONFrm instructions to help disassembly. We also changed the output of the addressing modes to omit the '+' from the assembler syntax #+/-<imm> or +/-<Rm>. See, for example, A8.6.57/58/60. And modified test cases to not expect '+' in +reg or #+num. For example, ; CHECK: ldr.w r9, [r7, #28] git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98637 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
bffb5b39bea3288bc557b10f3ed1864e6c7857e0 |
|
13-Mar-2010 |
Bob Wilson <bob.wilson@apple.com> |
Attempt to appease the arm-linux buildbot by fixing the JIT encodings for new base register updating load/store-multiple instructions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98427 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
815baebe1c8dc02accf128ae10dff9a1742d3244 |
|
13-Mar-2010 |
Bob Wilson <bob.wilson@apple.com> |
Change ARM ld/st multiple instructions to have variant instructions for writebacks to the address register. This gets rid of the hack that the first register on the list was the magic writeback register operand. There was an implicit constraint that if that operand was not reg0 it had to match the base register operand. The post-RA scheduler's antidependency breaker did not understand that constraint and sometimes changed one without the other. This also fixes Radar 7495976 and should help the verifier work better for ARM code. There are now new ld/st instructions explicit writeback operands and explicit constraints that tie those registers together. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98409 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
dd0f3cf189c34542901178bfca0a319b74d69a05 |
|
10-Mar-2010 |
Johnny Chen <johnny.chen@apple.com> |
Factored out the disassembly printing of CPS option, MSR mask, and Negative Zero operands into their own PrintMethod, in order not to pollute the printOperand() impl with disassembly only Imm modifiers. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98172 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
ad4df4c0da1a0e4b091321e1ffdc7973669e4273 |
|
01-Mar-2010 |
Johnny Chen <johnny.chen@apple.com> |
Added STRHT for disassembly only and fixed a bug in AI3sthpo class where the W bit should be set to 0 instead of 1. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97481 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
adc7733a64b65096cbd6066c212a9daa6e278a9a |
|
26-Feb-2010 |
Johnny Chen <johnny.chen@apple.com> |
Added the follwoing 32-bit Thumb instructions for disassembly only: o Parallel addition and subtraction, signed/unsigned o Miscellaneous operations: QADD, QDADD, QSUB, QDSUB o Unsigned sum of absolute differences [and accumulate]: USAD8, USADA8 o Signed/Unsigned saturate: SSAT, SSAT16, USAT, USAT16 o Signed multiply accumulate long (halfwords): SMLAL<x><y> o Signed multiply accumulate/subtract [long] (dual): SMLAD[x], SMLALD[X], SMLSD[X], SMLSLD[X] o Signed dual multiply add/subtract [long]: SMUAD[X], SMUSD[X] git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97276 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
39a4bb35276206d7ef0ff51dbc984aaf50bf659d |
|
18-Feb-2010 |
Johnny Chen <johnny.chen@apple.com> |
Added LDRD_PRE/POST & STRD_PRE/POST for disassembly only. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96619 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
adb561d4e0a37c21159405dde90d2ef2d1a5eef9 |
|
18-Feb-2010 |
Johnny Chen <johnny.chen@apple.com> |
Added LDRSBT, LDRHT, LDRSHT for disassembly only. And fixed encoding errors of AI3ldsbpo, AI3ldhpo, and AI3ldshpo in ARMInstrFormats.td in the process. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96565 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
f4d81051ff40d9e4e71f0b1b84a85ed907076525 |
|
12-Feb-2010 |
Johnny Chen <johnny.chen@apple.com> |
Add YIELD, WFE, WFI, and SEV instructions for disassembly only. Plus add two formats: MiscFrm and ThumbMiscFrm. Some of the for disassembly only instructions are changed from Pseudo Format to MiscFrm Format. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96032 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
811663f799ce1af18ef704fab14afc02ac94b652 |
|
11-Feb-2010 |
Johnny Chen <johnny.chen@apple.com> |
Forgot to also check in this file for vcvt (floating-point <-> fixed-point, VFP). Sorry! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95892 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
69a8c7f497b5686d55798a0aa4663a6e0d5bc12b |
|
30-Jan-2010 |
Johnny Chen <johnny.chen@apple.com> |
Modified encoding bits specification for VFP instructions. In particular, the D bit (Inst{22}) and the M bit (Inst{5}) should be left unspecified. For binary format instructions, Inst{6} and Inst{4} need to specified for proper decodings. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94855 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
bbc71b2904644bfa85d8785328dc08d61c534467 |
|
16-Dec-2009 |
Johnny Chen <johnny.chen@apple.com> |
Add encoding bits for some Thumb instructions. Plus explicitly set the top two bytes of Inst to 0x0000 for the benefit of the Thumb decoder. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91496 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
d68e119c0fea54f47d0f3f0b5282dcf6cd19d8b9 |
|
15-Dec-2009 |
Johnny Chen <johnny.chen@apple.com> |
Added encoding bits for the Thumb ISA. Initial checkin. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91434 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
f6b2862e813cd75e337238bb3321d3a512b54f06 |
|
14-Dec-2009 |
Jim Grosbach <grosbach@apple.com> |
ARM memory barrier instructions are not predicable git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91305 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
0291d7ed0942b218c58ddd900a8f6b3dd80ad023 |
|
11-Dec-2009 |
Johnny Chen <johnny.chen@apple.com> |
Store Register Exclusive should leave the source register Inst{3-0} unspecified. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91143 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
5278eb802fae2ee1a7b2a428596bc364d8bcd9db |
|
11-Dec-2009 |
Jim Grosbach <grosbach@apple.com> |
Rough first pass at compare_and_swap atomic builtins for ARM mode. Work in progress. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91090 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
d122874996a6faa8832569b632fd73a32ace7ae7 |
|
01-Dec-2009 |
Jim Grosbach <grosbach@apple.com> |
Thumb1 exception handling setjmp git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90246 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
f81bf15552d3df7dd341e3970a002b9e35ea4992 |
|
23-Nov-2009 |
Evan Cheng <evan.cheng@apple.com> |
Massive refactoring of NEON instructions. Separate opcode from data size specifier suffix, move \t up stream to instruction format, and fix more 80 column violations. This fixes the NEON asm printing so the "predicate" field is printed between the opcode and the data type suffix. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89706 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
da1aea4d7551d05cfb28a565b9750b7965cd620a |
|
23-Nov-2009 |
Johnny Chen <johnny.chen@apple.com> |
Partially revert r84730 by removing N2VDup from ARMInstrFormats.td and modifying VDUPLND and VDUPLNQ to derive from N2V instead of N2VDup. VDUPLND and VDUPLNQ now expect op19_18 and op17_16 as the first two args. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89699 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
b16ed11cb4ca0a55647335847bd69a3810290be9 |
|
23-Nov-2009 |
Johnny Chen <johnny.chen@apple.com> |
Revert r84572 by removing N3VImm from ARMInstrFormats.td now that we can specify {?,?,?,?} as op11_8 for VEXTd and VEXTq. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89693 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
7ebd32a1b87553d98215ae159489c1407e50e34c |
|
23-Nov-2009 |
Johnny Chen <johnny.chen@apple.com> |
Partially revert r89377 by removing NLdStLN class definition from ARMInstrFormats.td and fixing VLD[234]LN* and VST[234]LN* to derive from NLdSt instead of NLdStLN. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89684 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
ac0869dc8a7986855c5557cc67d4709600158ef5 |
|
21-Nov-2009 |
Evan Cheng <evan.cheng@apple.com> |
Add predicate operand to NEON instructions. Fix lots (but not all) 80 col violations in ARMInstrNEON.td. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89542 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
5c376ff9f08513686293b26c86b2c116b976d6b9 |
|
19-Nov-2009 |
Johnny Chen <johnny.chen@apple.com> |
Added NLdStLN which is similar to NLdSt with the exception that op7_4 is not fully specified at this level. Subclasses of NLdStLN can specify selective bit(s) for Inst{7-4}, as is done for VLD[234]LN* and VST[234]LN* inside ARMInstrNEON.td. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89377 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
2e1da9fea468e33f8fedd4295ef4a73a0ccb5714 |
|
02-Nov-2009 |
Anton Korobeynikov <asl@math.spbu.ru> |
64-bit FP loads & stores operate on both NEON and VFP pipelines. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85765 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
f95215f551949d5e5adfbf4753aa833b9009b77a |
|
02-Nov-2009 |
Anton Korobeynikov <asl@math.spbu.ru> |
Use NEON reg-reg moves, where profitable. This reduces "domain-cross" stalls, when we used to mix vfp and neon code (the former were used for reg-reg moves) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85764 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
d9ecd3108f32b33e38b5ba0ee3963062d6ecc115 |
|
26-Oct-2009 |
Bob Wilson <bob.wilson@apple.com> |
Fix ARM encoding typo: Opcod3 is not passed to ASuI parent class. Patch by Johnny Chen. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85169 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
507df402b09be986b40251fb83cb0c8a2e586b68 |
|
21-Oct-2009 |
Bob Wilson <bob.wilson@apple.com> |
Leave some NEON instruction encoding bits unspecified instead of setting a default value of zero. This is important for decoding the instructions. Patch by Johnny Chen, with some changes from me, too. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84730 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
1fc1dc0682b9e3648acd2e9b3b426db87d9f2dcf |
|
20-Oct-2009 |
Jim Grosbach <grosbach@apple.com> |
Refs: A8-598. Leave Inst{11-8}, which represents the starting byte index of the extracted result in the concatenation of the operands and is left unspecified. Patch by Johnny Chen. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84572 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
780d207d1c73e53834df9eb9ff0a1b07b235dd04 |
|
20-Oct-2009 |
Jim Grosbach <grosbach@apple.com> |
Add missing encoding bits to NLdSt class of instructions. Patch by Johnny Chen. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84570 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
b07c1716248cebf00b37ed5d89581369b1191a87 |
|
07-Oct-2009 |
Bob Wilson <bob.wilson@apple.com> |
Add some instruction encoding bits for NEON load/store instructions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83490 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
5adb66a646e2ec32265263739f5b01c3f50c176a |
|
28-Sep-2009 |
Evan Cheng <evan.cheng@apple.com> |
Make ARM and Thumb2 32-bit immediate materialization into a single 32-bit pseudo instruction. This makes it re-materializable. Thumb2 will split it back out into two instructions so IT pass will generate the right mask. Also, this expose opportunies to optimize the movw to a 16-bit move. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82982 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
10bf734e6e0b5aba79dc199d611dcdec54a1e48e |
|
10-Sep-2009 |
Evan Cheng <evan.cheng@apple.com> |
Fix double load / store multiple encoding. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81403 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
2a9df47abd75c0337e0254f09070f90023509066 |
|
25-Aug-2009 |
Bob Wilson <bob.wilson@apple.com> |
Expose the instruction contraint string as an argument to the NLdSt class. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80011 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
338268c67fbb7252702bf400495771068750466b |
|
11-Aug-2009 |
David Goodwin <david_goodwin@apple.com> |
Use NEON for single-precision int<->FP conversions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78604 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
baf31088f1472f48ea5ae81f0b93636cc44ca444 |
|
08-Aug-2009 |
Anton Korobeynikov <asl@math.spbu.ru> |
Use VLDM / VSTM to spill/reload 128-bit Neon registers git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78468 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
8b7d7ade85fd0103316295440d4950f39ab08419 |
|
06-Aug-2009 |
David Goodwin <david_goodwin@apple.com> |
Add parameter to pattern classes to enable an itinerary to be specified for instructions. For now just use the existing itineraries or NoItinerary. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78321 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
35d6c41fde95422fb8483be0ac0af2b1425a4b13 |
|
05-Aug-2009 |
Evan Cheng <evan.cheng@apple.com> |
Fix part 1 of pr4682. PICADD is a 16-bit instruction even in thumb2 mode. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78126 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
53e4471adcf34cac253d2486e6b29c331e2d973e |
|
04-Aug-2009 |
David Goodwin <david_goodwin@apple.com> |
Add NEON single-precision FP support for fabs and fneg. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78101 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
42a83f2d15cbbc08f5be19856198e3c885221e9c |
|
04-Aug-2009 |
David Goodwin <david_goodwin@apple.com> |
Initial support for single-precision FP using NEON. Added "neonfp" attribute to enable. Added patterns for some binary FP operations. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78081 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
b620724e614c6594e7b269b6ea7d8483947ea944 |
|
01-Aug-2009 |
Evan Cheng <evan.cheng@apple.com> |
Fix Thumb2 function call isel. Thumb1 and Thumb2 should share the same 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77756 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
c9d138f505b515e96eb761a7b2138cd27f3f9536 |
|
27-Jul-2009 |
David Goodwin <david_goodwin@apple.com> |
Remove TPat. No patterns depend on just isThumb(). Must use either T1Pat (isThumb1Only()) or T2Pat (is Thumb2). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77242 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
e1e52edfff9f24d1e3f308cd126ff7ffac514ed7 |
|
23-Jul-2009 |
David Goodwin <david_goodwin@apple.com> |
Fix typo in addrmode definition. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76806 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
446c428bf394b7113b0f18cbacb5e87b4efd1e14 |
|
11-Jul-2009 |
Evan Cheng <evan.cheng@apple.com> |
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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75359 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
3ca524e336ad0be449c080235a2d7a38516f0ca4 |
|
10-Jul-2009 |
David Goodwin <david_goodwin@apple.com> |
Predicate VFP instructions on HasVFP2 instead of IsARM. This allows VFP instructions with thumb-2. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75254 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
dda0f4cb798e5f482247cda4ea9b74977b4601ec |
|
09-Jul-2009 |
Evan Cheng <evan.cheng@apple.com> |
- Add some NEON ld / st instruction static encoding. - 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75065 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
205a5ca6cfabc6cd408634a2fa7f2529956cc2cf |
|
08-Jul-2009 |
Bob Wilson <bob.wilson@apple.com> |
Implement NEON vld1 instructions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75019 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
34a0fa362dde63cf9adf5917ab2ee2c2b7dd2179 |
|
08-Jul-2009 |
Evan Cheng <evan.cheng@apple.com> |
Add a Thumb2 instruction flag to that indicates whether the instruction can be transformed to 16-bit variant. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74988 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
e88d5cee9d6b02bc786df806395a718464908064 |
|
02-Jul-2009 |
Evan Cheng <evan.cheng@apple.com> |
Thumb2 pre/post indexed loads. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74696 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
d770d9e7d1f5c65b185897dcf226b3fc64598683 |
|
02-Jul-2009 |
Evan Cheng <evan.cheng@apple.com> |
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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74692 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
8b024a5eb5b64b482f7d92aad7a3f0e6cac93f12 |
|
02-Jul-2009 |
Bob Wilson <bob.wilson@apple.com> |
Add a new addressing mode for NEON load/store instructions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74658 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
5e47a9a6e46bd271eba058fb831da1a1edf8707c |
|
30-Jun-2009 |
David Goodwin <david_goodwin@apple.com> |
Add conditional and unconditional thumb-2 branch. Add thumb-2 jump table. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74543 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
f3c21b857b8449bcde35e499ef8268c0fec9514d |
|
30-Jun-2009 |
Evan Cheng <evan.cheng@apple.com> |
A few more load instructions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74500 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
055b0310f862b91f33699037ce67d3ab8137c20c |
|
29-Jun-2009 |
Evan Cheng <evan.cheng@apple.com> |
Implement Thumb2 ldr. 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74420 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
9cb9e6778c7d458eee7f3e25d304697ad10d8d46 |
|
27-Jun-2009 |
Evan Cheng <evan.cheng@apple.com> |
Renaming for consistency. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74368 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
0aa1d8c52d34e9ba1e731a21b16606cd6f4f924a |
|
25-Jun-2009 |
Evan Cheng <evan.cheng@apple.com> |
Change thumb2 instruction definitions so if-converter so add predicate operands and / or flip the 's' bit to set the condition flag. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74158 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
09c39fcf83952bbe0a56b950f0d90ce4eac773d0 |
|
23-Jun-2009 |
Evan Cheng <evan.cheng@apple.com> |
Add IsThumb1Only to most 16-bit thumb instructions since we want to isel 32-bit instructions when they are available. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73985 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
f49810c7e60807c43a68ab02c936a4ee77a4d2cf |
|
23-Jun-2009 |
Evan Cheng <evan.cheng@apple.com> |
Initial Thumb2 support. Majority of the work is done by David Goodwin. There are 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73965 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
5bafff36c798608a189c517d37527e4a38863071 |
|
23-Jun-2009 |
Bob Wilson <bob.wilson@apple.com> |
Add support for ARM's Advanced SIMD (NEON) instruction set. This is still a work in progress but most of the NEON instruction set is supported. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73919 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
ffa6d962a7d75500269ce5d2012b58249fee3d6d |
|
14-Nov-2008 |
Evan Cheng <evan.cheng@apple.com> |
Handle the rest of pseudo instructions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59275 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
148cad8b308c0f8fdb37b368f2c911861dd2421a |
|
13-Nov-2008 |
Evan Cheng <evan.cheng@apple.com> |
Fix pre- and post-indexed load / store encoding bugs. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59230 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
3c4a4ffa3dba5e3c7a0900d0bafe28d7095f3ada |
|
12-Nov-2008 |
Evan Cheng <evan.cheng@apple.com> |
Consolidate formats; fix FCMPED etc. encodings. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59107 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
80a119842da2ce2786ea476037001ab5b6c67046 |
|
12-Nov-2008 |
Evan Cheng <evan.cheng@apple.com> |
Fix VFP conversion instruction encodings. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59104 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
0a0ab1387a3923769990e91cce8e098366c4a920 |
|
11-Nov-2008 |
Evan Cheng <evan.cheng@apple.com> |
Fix FMDRR encoding. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59088 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
cd8e66a1efdb31f0514270387207fb8c63bae4ed |
|
11-Nov-2008 |
Evan Cheng <evan.cheng@apple.com> |
Encode VFP load / store instructions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59084 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
78be83d7c2a5b94e635b0227924a489b8d8937e8 |
|
11-Nov-2008 |
Evan Cheng <evan.cheng@apple.com> |
Encode VFP conversion instructions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59074 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
96581d3633edf702b14a60472a1ec5354f327c18 |
|
11-Nov-2008 |
Evan Cheng <evan.cheng@apple.com> |
Encode VFP arithmetic instructions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59016 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
4df60f5491ff35c8a48c2cf14e18a33c9793b3bb |
|
07-Nov-2008 |
Evan Cheng <evan.cheng@apple.com> |
Jump table JIT support. Work in progress. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58836 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
8b59db3f2c72a642251d4f86ea61f5d27e8919a6 |
|
07-Nov-2008 |
Evan Cheng <evan.cheng@apple.com> |
Encode misc arithmetic instructions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58828 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
97f48c39fd158ad1a701002e2d6798c4b4ae4ab8 |
|
06-Nov-2008 |
Evan Cheng <evan.cheng@apple.com> |
Encode extend instructions; more clean up. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58818 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
12c3a533c50fe3c7475c1ff7c1bb4b26e36dc6c3 |
|
06-Nov-2008 |
Evan Cheng <evan.cheng@apple.com> |
- Improve naming consistency: Branch -> BrFrm, BranchMisc -> BrMiscFrm. - Consolidate instruction formats. - Other clean up. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58808 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
d87293ce78ae7568477374cd83b22c84214316fb |
|
06-Nov-2008 |
Evan Cheng <evan.cheng@apple.com> |
Remove opcode from instruction TS flags; add MOVCC support; fix addrmode3 encoding bug. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58800 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
eb4f52eb6287919fe2bdca62364046af800cd15d |
|
06-Nov-2008 |
Evan Cheng <evan.cheng@apple.com> |
Handle smul<x><y>, smulw<y>, smla<x><y>, smlaw<y>. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58793 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
fbc9d412efdfa1ed30ff4d2baedc775a5f59c638 |
|
06-Nov-2008 |
Evan Cheng <evan.cheng@apple.com> |
Fix encoding of multiple instructions with 3 src operands; also handle smmul, smmla, and smmls. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58789 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
83b5cf02721cb0f755fde9bd454172bceb356532 |
|
06-Nov-2008 |
Evan Cheng <evan.cheng@apple.com> |
Encode pic load / store instructions; fix some encoding bugs. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58780 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
edda31c412d524531ee6cd3f2d21c2ef85b6afb0 |
|
05-Nov-2008 |
Evan Cheng <evan.cheng@apple.com> |
Restructure ARM code emitter to use instruction formats instead of addressing modes to determine how to encode instructions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58764 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
e7fe6724452fc6db75be1957df79bb92f5635b28 |
|
04-Nov-2008 |
Evan Cheng <evan.cheng@apple.com> |
LDM_RET restores pc, do not set 's' bit which would restore CPSR from SPSR. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58707 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
0a4b9dc9b127c3fae6069f85a7858db5a06ff3a8 |
|
03-Nov-2008 |
Jim Grosbach <grosbach@apple.com> |
Add binary encoding support for multiply instructions. Some blanks left to fill in, but the basics are there. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58626 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
2642196a6570e95e1491ee0120f67baa5c3ea351 |
|
14-Oct-2008 |
Jim Grosbach <grosbach@apple.com> |
Update ARM Insn encoding to get endian-ness to match the documentation (31-0 left to right) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57524 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
7fd7ca4e7f775a75f648f03d956c3068c71b991d |
|
17-Sep-2008 |
Evan Cheng <evan.cheng@apple.com> |
Fix addrmode1 instruction encodings; fix bx_ret encoding. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56277 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
29c57c34efcb6b8ba64e3279cdb68937c113552a |
|
17-Sep-2008 |
Evan Cheng <evan.cheng@apple.com> |
Specify instruction encoding using range list to avoid endianess issues. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56276 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
05fc9664018f867b2184589e8a04cc8f056cfa16 |
|
13-Sep-2008 |
Evan Cheng <evan.cheng@apple.com> |
Revert 56176. All those instruction formats are still needed. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56180 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
a964b7dffe89d22569e96f5801886ef347d01b0a |
|
13-Sep-2008 |
Evan Cheng <evan.cheng@apple.com> |
Eliminate unnecessary instruction formats. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56176 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
49a9f2958dadbb1fcdc707ec003a61e9ceef8a4e |
|
13-Sep-2008 |
Evan Cheng <evan.cheng@apple.com> |
Addrmode 1 S bit can be dynamically set. Look for CPSR def. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56172 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
3aac788365086260b4f8318c5563db54cd2d97fb |
|
01-Sep-2008 |
Evan Cheng <evan.cheng@apple.com> |
Control flow instruction encodings. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@55601 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
3c2ee4939b250963fa06483b4c082b279279f4e7 |
|
01-Sep-2008 |
Evan Cheng <evan.cheng@apple.com> |
ldm / stm instruction encodings. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@55599 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
5d2c1cf74d2f4794883af4e90bee320a344fa9e3 |
|
01-Sep-2008 |
Evan Cheng <evan.cheng@apple.com> |
AXI2 and AXI3 instruction encodings. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@55598 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
4bbd5f8a9c39f8274219367895bcfc5d296573d7 |
|
01-Sep-2008 |
Evan Cheng <evan.cheng@apple.com> |
Reorganize instruction formats again; AXI1 encoding. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@55597 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
840917be2c58ba54d9a70204d08933f7ed107d67 |
|
01-Sep-2008 |
Evan Cheng <evan.cheng@apple.com> |
addrmode3 instruction encodings. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@55596 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
0d14fc8cd5cee0b8527192c6820452e96d329e05 |
|
01-Sep-2008 |
Evan Cheng <evan.cheng@apple.com> |
Reorganize some instruction format definitions. No functionality change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@55594 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
93912739c9afec2482ea3c824ba0e40ab9bdfc03 |
|
01-Sep-2008 |
Evan Cheng <evan.cheng@apple.com> |
Rest of addrmode2 instruction encodings. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@55593 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
17222df0ecf8b0fbcf17b050dd18174ca845fbe6 |
|
31-Aug-2008 |
Evan Cheng <evan.cheng@apple.com> |
Addr2 word / byte load encodings. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@55591 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
b7880ac470c8d83580e9327ecb2ce8efc40ca091 |
|
31-Aug-2008 |
Evan Cheng <evan.cheng@apple.com> |
Addr1 instructions opcodes are encoded in bits 21-24; encode S bit. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@55590 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
612b79edc92b305bc23a23fc5ef4066ca728921f |
|
29-Aug-2008 |
Evan Cheng <evan.cheng@apple.com> |
addrmode1 (data processing) instruction encoding: bits 5-6 are 0, bits 7-10 encode the opcode. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@55531 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
130966411f83469b1d9b93df831a2f2146bd400f |
|
29-Aug-2008 |
Evan Cheng <evan.cheng@apple.com> |
More refactoring. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@55528 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|
37f25d989a3054b4742f6c92af94a312c26ffb2b |
|
29-Aug-2008 |
Evan Cheng <evan.cheng@apple.com> |
Refactor ARM instruction format definitions into a separate file. No functionality changes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@55518 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMInstrFormats.td
|