Matt Beaumont-Gay
							
						 
						
							 
							
							
							
							
								
							
							
								23c30b90e3 
								
							 
						 
						
							
							
								
								Remove unused variable  
							
							 
							
							... 
							
							
							
							llvm-svn: 145517 
							
						 
						
							2011-11-30 19:53:11 +00:00  
						
					 
				
					
						
							
							
								 
								Jim Grosbach
							
						 
						
							 
							
							
							
							
								
							
							
								a68c9a847e 
								
							 
						 
						
							
							
								
								ARM parsing for VLD1 all lanes, with writeback.  
							
							 
							
							... 
							
							
							
							llvm-svn: 145510 
							
						 
						
							2011-11-30 19:35:44 +00:00  
						
					 
				
					
						
							
							
								 
								Jim Grosbach
							
						 
						
							 
							
							
							
							
								
							
							
								5ee209ce3a 
								
							 
						 
						
							
							
								
								ARM assembly parsing and encoding for four-register VST1.  
							
							 
							
							... 
							
							
							
							llvm-svn: 145450 
							
						 
						
							2011-11-29 22:58:48 +00:00  
						
					 
				
					
						
							
							
								 
								Jim Grosbach
							
						 
						
							 
							
							
							
							
								
							
							
								98d032fd67 
								
							 
						 
						
							
							
								
								ARM assembly parsing and encoding for three-register VST1.  
							
							 
							
							... 
							
							
							
							llvm-svn: 145442 
							
						 
						
							2011-11-29 22:38:04 +00:00  
						
					 
				
					
						
							
							
								 
								Owen Anderson
							
						 
						
							 
							
							
							
							
								
							
							
								05060f0748 
								
							 
						 
						
							
							
								
								Fix a misplaced paren bug.  
							
							 
							
							... 
							
							
							
							llvm-svn: 144692 
							
						 
						
							2011-11-15 20:30:41 +00:00  
						
					 
				
					
						
							
							
								 
								Owen Anderson
							
						 
						
							 
							
							
							
							
								
							
							
								0ac9058f89 
								
							 
						 
						
							
							
								
								Fix an ambiguous decoding where we failed to properly decode VMOVv2f32 and VMOVv4f32.  
							
							 
							
							... 
							
							
							
							llvm-svn: 144683 
							
						 
						
							2011-11-15 19:55:00 +00:00  
						
					 
				
					
						
							
							
								 
								Jim Grosbach
							
						 
						
							 
							
							
							
							
								
							
							
								8ca13deecf 
								
							 
						 
						
							
							
								
								Re-apply 144430, this time with the associated isel and disassmbler bits.  
							
							 
							
							... 
							
							
							
							Original commit msg: 'ARM assembly parsing for VST1 two-register encoding.'
llvm-svn: 144437 
							
						 
						
							2011-11-12 00:31:53 +00:00  
						
					 
				
					
						
							
							
								 
								Benjamin Kramer
							
						 
						
							 
							
							
							
							
								
							
							
								48b5bbffed 
								
							 
						 
						
							
							
								
								Remove the unnecessary dependency on libARMCodeGen from libARMDisassembler.  
							
							 
							
							... 
							
							
							
							llvm-svn: 144384 
							
						 
						
							2011-11-11 12:39:41 +00:00  
						
					 
				
					
						
							
							
								 
								Owen Anderson
							
						 
						
							 
							
							
							
							
								
							
							
								ec5c5f7008 
								
							 
						 
						
							
							
								
								The rules disallowing single-register reglist operands only apply to the POP alias, not to LDM/STM instructions.  Revert r143552.  
							
							 
							
							... 
							
							
							
							llvm-svn: 143553 
							
						 
						
							2011-11-02 17:46:18 +00:00  
						
					 
				
					
						
							
							
								 
								Owen Anderson
							
						 
						
							 
							
							
							
							
								
							
							
								fad59dab62 
								
							 
						 
						
							
							
								
								Register list operands are not allowed to contain only a single register.  Alternate encodings are used in that case.  
							
							 
							
							... 
							
							
							
							llvm-svn: 143552 
							
						 
						
							2011-11-02 17:41:23 +00:00  
						
					 
				
					
						
							
							
								 
								Owen Anderson
							
						 
						
							 
							
							
							
							
								
							
							
								69e54a740c 
								
							 
						 
						
							
							
								
								Fix disassembly of some VST1 instructions.  
							
							 
							
							... 
							
							
							
							llvm-svn: 143507 
							
						 
						
							2011-11-01 22:18:13 +00:00  
						
					 
				
					
						
							
							
								 
								Jim Grosbach
							
						 
						
							 
							
							
							
							
								
							
							
								05df460269 
								
							 
						 
						
							
							
								
								ARM VST1 w/ writeback assembly parsing and encoding.  
							
							 
							
							... 
							
							
							
							llvm-svn: 143369 
							
						 
						
							2011-10-31 21:50:31 +00:00  
						
					 
				
					
						
							
							
								 
								Owen Anderson
							
						 
						
							 
							
							
							
							
								
							
							
								40703f4252 
								
							 
						 
						
							
							
								
								More not-crashing NEON disassembly updates for the vld refactoring.  
							
							 
							
							... 
							
							
							
							llvm-svn: 143351 
							
						 
						
							2011-10-31 17:17:32 +00:00  
						
					 
				
					
						
							
							
								 
								Owen Anderson
							
						 
						
							 
							
							
							
							
								
							
							
								dde461c8b1 
								
							 
						 
						
							
							
								
								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.  
							
							 
							
							... 
							
							
							
							llvm-svn: 143208 
							
						 
						
							2011-10-28 18:02:13 +00:00  
						
					 
				
					
						
							
							
								 
								Owen Anderson
							
						 
						
							 
							
							
							
							
								
							
							
								8a6ebd085a 
								
							 
						 
						
							
							
								
								Add some NEON stores to the VLD decoding hook that were accidentally omitted previously.  
							
							 
							
							... 
							
							
							
							llvm-svn: 143162 
							
						 
						
							2011-10-27 22:53:10 +00:00  
						
					 
				
					
						
							
							
								 
								Jim Grosbach
							
						 
						
							 
							
							
							
							
								
							
							
								17ec1a19e5 
								
							 
						 
						
							
							
								
								ARM assembly parsing and encoding for VLD1 with writeback.  
							
							 
							
							... 
							
							
							
							Four entry register lists.
llvm-svn: 142882 
							
						 
						
							2011-10-25 00:14:01 +00:00  
						
					 
				
					
						
							
							
								 
								Jim Grosbach
							
						 
						
							 
							
							
							
							
								
							
							
								92fd05ecdc 
								
							 
						 
						
							
							
								
								ARM assembly parsing and encoding for VLD1 w/ writeback.  
							
							 
							
							... 
							
							
							
							Three entry register list variation.
llvm-svn: 142876 
							
						 
						
							2011-10-24 23:26:05 +00:00  
						
					 
				
					
						
							
							
								 
								Jim Grosbach
							
						 
						
							 
							
							
							
							
								
							
							
								2098cb1e6f 
								
							 
						 
						
							
							
								
								ARM refactor am6offset usage for VLD1.  
							
							 
							
							... 
							
							
							
							Split am6offset into fixed and register offset variants so the instruction
encodings are explicit rather than relying an a magic reg0 marker.
Needed to being able to parse these.
llvm-svn: 142853 
							
						 
						
							2011-10-24 21:45:13 +00:00  
						
					 
				
					
						
							
							
								 
								Owen Anderson
							
						 
						
							 
							
							
							
							
								
							
							
								295b1e84ce 
								
							 
						 
						
							
							
								
								Fix a NEON disassembly case that was broken in the recent refactorings.  As more of this code gets refactored, a lot of these manual decoding hooks should get smaller and/or go away entirely.  
							
							 
							
							... 
							
							
							
							llvm-svn: 142817 
							
						 
						
							2011-10-24 18:04:29 +00:00  
						
					 
				
					
						
							
							
								 
								Benjamin Kramer
							
						 
						
							 
							
							
							
							
								
							
							
								0d6d098841 
								
							 
						 
						
							
							
								
								Move various generated tables into read-only memory, fixing up const correctness along the way.  
							
							 
							
							... 
							
							
							
							llvm-svn: 142726 
							
						 
						
							2011-10-22 16:50:00 +00:00  
						
					 
				
					
						
							
							
								 
								Jim Grosbach
							
						 
						
							 
							
							
							
							
								
							
							
								11c0b347c6 
								
							 
						 
						
							
							
								
								Assembly parsing for 4-register sequential variant of VLD2.  
							
							 
							
							... 
							
							
							
							llvm-svn: 142704 
							
						 
						
							2011-10-21 23:58:57 +00:00  
						
					 
				
					
						
							
							
								 
								Jim Grosbach
							
						 
						
							 
							
							
							
							
								
							
							
								118b38cbf1 
								
							 
						 
						
							
							
								
								Assembly parsing for 2-register sequential variant of VLD2.  
							
							 
							
							... 
							
							
							
							llvm-svn: 142691 
							
						 
						
							2011-10-21 22:21:10 +00:00  
						
					 
				
					
						
							
							
								 
								Jim Grosbach
							
						 
						
							 
							
							
							
							
								
							
							
								846bcff7c7 
								
							 
						 
						
							
							
								
								Assembly parsing for 4-register variant of VLD1.  
							
							 
							
							... 
							
							
							
							llvm-svn: 142682 
							
						 
						
							2011-10-21 20:35:01 +00:00  
						
					 
				
					
						
							
							
								 
								Jim Grosbach
							
						 
						
							 
							
							
							
							
								
							
							
								c4360fe575 
								
							 
						 
						
							
							
								
								Assembly parsing for 3-register variant of VLD1.  
							
							 
							
							... 
							
							
							
							llvm-svn: 142675 
							
						 
						
							2011-10-21 20:02:19 +00:00  
						
					 
				
					
						
							
							
								 
								Jim Grosbach
							
						 
						
							 
							
							
							
							
								
							
							
								2f2e3c4737 
								
							 
						 
						
							
							
								
								ARM VLD parsing and encoding.  
							
							 
							
							... 
							
							
							
							Next step in the ongoing saga of NEON load/store assmebly parsing. Handle
VLD1 instructions that take a two-register register list.
Adjust the instruction definitions to only have the single encoded register
as an operand. The super-register from the pseudo is kept as an implicit def,
so passes which come after pseudo-expansion still know that the instruction
defines the other subregs.
llvm-svn: 142670 
							
						 
						
							2011-10-21 18:54:25 +00:00  
						
					 
				
					
						
							
							
								 
								Jim Grosbach
							
						 
						
							 
							
							
							
							
								
							
							
								79ebc51c45 
								
							 
						 
						
							
							
								
								Tidy up. Trailing whitespace.  
							
							 
							
							... 
							
							
							
							llvm-svn: 142591 
							
						 
						
							2011-10-20 17:28:20 +00:00  
						
					 
				
					
						
							
							
								 
								Chad Rosier
							
						 
						
							 
							
							
							
							
								
							
							
								34957911e7 
								
							 
						 
						
							
							
								
								Removed set, but unused variables.  
							
							 
							
							... 
							
							
							
							Patch by Joe Abbey <jabbey@arxan.com>.
llvm-svn: 142223 
							
						 
						
							2011-10-17 18:48:30 +00:00  
						
					 
				
					
						
							
							
								 
								Richard Trieu
							
						 
						
							 
							
							
							
							
								
							
							
								8b478360ef 
								
							 
						 
						
							
							
								
								Fix a non-firing assert.  Change:  
							
							 
							
							... 
							
							
							
							assert("bad SymbolicOp.VariantKind");
To:
    assert(0 && "bad SymbolicOp.VariantKind");
llvm-svn: 142000 
							
						 
						
							2011-10-14 20:50:26 +00:00  
						
					 
				
					
						
							
							
								 
								Eli Friedman
							
						 
						
							 
							
							
							
							
								
							
							
								a7ad9f3932 
								
							 
						 
						
							
							
								
								Fix undefined shift.  Patch by Ahmed Charles.  
							
							 
							
							... 
							
							
							
							llvm-svn: 141914 
							
						 
						
							2011-10-13 23:36:06 +00:00  
						
					 
				
					
						
							
							
								 
								Owen Anderson
							
						 
						
							 
							
							
							
							
								
							
							
								44f76eafae 
								
							 
						 
						
							
							
								
								SETEND is not allowed in an IT block.  
							
							 
							
							... 
							
							
							
							llvm-svn: 141874 
							
						 
						
							2011-10-13 17:58:39 +00:00  
						
					 
				
					
						
							
							
								 
								Jim Grosbach
							
						 
						
							 
							
							
							
							
								
							
							
								a098a891ab 
								
							 
						 
						
							
							
								
								ARM addrmode5 represents the 'U' bit of the encoding backwards.  
							
							 
							
							... 
							
							
							
							The disassembler needs to use the AM5 factory methods instead of just
building up the immediate directly.
llvm-svn: 141819 
							
						 
						
							2011-10-12 21:59:02 +00:00  
						
					 
				
					
						
							
							
								 
								Jim Grosbach
							
						 
						
							 
							
							
							
							
								
							
							
								54a20ed0f1 
								
							 
						 
						
							
							
								
								Thumb2 assembly parsing and encoding for LDC/STC.  
							
							 
							
							... 
							
							
							
							llvm-svn: 141811 
							
						 
						
							2011-10-12 20:54:17 +00:00  
						
					 
				
					
						
							
							
								 
								Jim Grosbach
							
						 
						
							 
							
							
							
							
								
							
							
								8007320902 
								
							 
						 
						
							
							
								
								addrmode2 is gone from these, so no need for the reg0 operand.  
							
							 
							
							... 
							
							
							
							llvm-svn: 141794 
							
						 
						
							2011-10-12 18:11:24 +00:00  
						
					 
				
					
						
							
							
								 
								Owen Anderson
							
						 
						
							 
							
							
							
							
								
							
							
								6a5c150e9c 
								
							 
						 
						
							
							
								
								Fix the check for nested IT instructions in the disassembler.  We need to perform the check before adding the Thumb predicate, which pops on entry off the ITBlock queue.  
							
							 
							
							... 
							
							
							
							llvm-svn: 141339 
							
						 
						
							2011-10-06 23:33:11 +00:00  
						
					 
				
					
						
							
							
								 
								Kevin Enderby
							
						 
						
							 
							
							
							
							
								
							
							
								5dcda64338 
								
							 
						 
						
							
							
								
								Adding back support for printing operands symbolically to ARM's new disassembler  
							
							 
							
							... 
							
							
							
							using llvm's public 'C' disassembler API now including annotations.
Hooked this up to Darwin's otool(1) so it can again print things like branch
targets for example this:
 blx _puts
instead of this:
 blx #-36
and includes support for annotations for branches to symbol stubs like:
 bl	0x40 @ symbol stub for: _puts
and annotations for pc relative loads like this:
 ldr	r3, #8  @ literal pool for: Hello, world!
Also again can print the expression encoded in the Mach-O relocation entries for
things like this:
 movt r0, :upper16:((_foo-_bar)+1234)
llvm-svn: 141129 
							
						 
						
							2011-10-04 22:44:48 +00:00  
						
					 
				
					
						
							
							
								 
								Jim Grosbach
							
						 
						
							 
							
							
							
							
								
							
							
								efc761a1eb 
								
							 
						 
						
							
							
								
								ARM fix encoding of VMOV.f32 and VMOV.f64 immediates.  
							
							 
							
							... 
							
							
							
							Encode the immediate into its 8-bit form as part of isel rather than later,
which simplifies things for mapping the encoding bits, allows the removal
of the custom disassembler decoding hook, makes the operand printer trivial,
and prepares things more cleanly for handling these in the asm parser.
rdar://10211428
llvm-svn: 140834 
							
						 
						
							2011-09-30 00:50:06 +00:00  
						
					 
				
					
						
							
							
								 
								Owen Anderson
							
						 
						
							 
							
							
							
							
								
							
							
								f01e2de5e6 
								
							 
						 
						
							
							
								
								ASR  #32  is not allowed on Thumb2 USAT and SSAT instructions.  
							
							 
							
							... 
							
							
							
							llvm-svn: 140560 
							
						 
						
							2011-09-26 21:06:22 +00:00  
						
					 
				
					
						
							
							
								 
								Owen Anderson
							
						 
						
							 
							
							
							
							
								
							
							
								987a878946 
								
							 
						 
						
							
							
								
								Reapply r140412 (Thumb2 reg-reg loads cannot target SP or PC), with invalid testcases updated.  
							
							 
							
							... 
							
							
							
							llvm-svn: 140415 
							
						 
						
							2011-09-23 21:07:25 +00:00  
						
					 
				
					
						
							
							
								 
								Owen Anderson
							
						 
						
							 
							
							
							
							
								
							
							
								ffa8428acf 
								
							 
						 
						
							
							
								
								Revert r140412.  This affects more instructions than intended.  
							
							 
							
							... 
							
							
							
							llvm-svn: 140413 
							
						 
						
							2011-09-23 21:02:01 +00:00  
						
					 
				
					
						
							
							
								 
								Owen Anderson
							
						 
						
							 
							
							
							
							
								
							
							
								7591d0c363 
								
							 
						 
						
							
							
								
								Thumb2 register-shifted-register loads cannot target the PC or the SP.  
							
							 
							
							... 
							
							
							
							llvm-svn: 140412 
							
						 
						
							2011-09-23 21:00:32 +00:00  
						
					 
				
					
						
							
							
								 
								Owen Anderson
							
						 
						
							 
							
							
							
							
								
							
							
								163be01d69 
								
							 
						 
						
							
							
								
								tMOVSr is not allowed in an IT block either.  
							
							 
							
							... 
							
							
							
							llvm-svn: 140104 
							
						 
						
							2011-09-19 23:57:20 +00:00  
						
					 
				
					
						
							
							
								 
								Owen Anderson
							
						 
						
							 
							
							
							
							
								
							
							
								61e4604dd8 
								
							 
						 
						
							
							
								
								CPS instructions are UNPREDICTABLE inside IT blocks.  
							
							 
							
							... 
							
							
							
							llvm-svn: 140102 
							
						 
						
							2011-09-19 23:47:10 +00:00  
						
					 
				
					
						
							
							
								 
								Owen Anderson
							
						 
						
							 
							
							
							
							
								
							
							
								f902d92fc9 
								
							 
						 
						
							
							
								
								Thumb2 TBB and TBH instructions are only allowed at the end of IT blocks, not in the middle.  
							
							 
							
							... 
							
							
							
							llvm-svn: 140079 
							
						 
						
							2011-09-19 22:34:23 +00:00  
						
					 
				
					
						
							
							
								 
								Jim Grosbach
							
						 
						
							 
							
							
							
							
								
							
							
								05541f45f3 
								
							 
						 
						
							
							
								
								Thumb2 assembly parsing and encoding for TBB/TBH.  
							
							 
							
							... 
							
							
							
							llvm-svn: 140078 
							
						 
						
							2011-09-19 22:21:13 +00:00  
						
					 
				
					
						
							
							
								 
								Owen Anderson
							
						 
						
							 
							
							
							
							
								
							
							
								ddfcec92d9 
								
							 
						 
						
							
							
								
								Handle STRT (and friends) like LDRT (and friends) for decoding purposes.  Port over additional encoding tests to decoding tests.  
							
							 
							
							... 
							
							
							
							llvm-svn: 140032 
							
						 
						
							2011-09-19 18:07:10 +00:00  
						
					 
				
					
						
							
							
								 
								Owen Anderson
							
						 
						
							 
							
							
							
							
								
							
							
								502cd9d87a 
								
							 
						 
						
							
							
								
								Bitfield mask instructions are unpredictable if the encoded LSB is higher than the encoded MSB.  
							
							 
							
							... 
							
							
							
							llvm-svn: 139972 
							
						 
						
							2011-09-16 23:30:01 +00:00  
						
					 
				
					
						
							
							
								 
								Owen Anderson
							
						 
						
							 
							
							
							
							
								
							
							
								b925e935d7 
								
							 
						 
						
							
							
								
								Fix bitfield decoding based on Eli's feedback.  
							
							 
							
							... 
							
							
							
							llvm-svn: 139969 
							
						 
						
							2011-09-16 23:04:48 +00:00  
						
					 
				
					
						
							
							
								 
								Owen Anderson
							
						 
						
							 
							
							
							
							
								
							
							
								bcfa9a6f89 
								
							 
						 
						
							
							
								
								Thumb2 pre-indexed loads/stores use the restricted GPR set for Rt.  
							
							 
							
							... 
							
							
							
							llvm-svn: 139965 
							
						 
						
							2011-09-16 22:42:36 +00:00  
						
					 
				
					
						
							
							
								 
								Owen Anderson
							
						 
						
							 
							
							
							
							
								
							
							
								3ca958cd19 
								
							 
						 
						
							
							
								
								Fix disassembly of Thumb2 BFI instructions with bit range of [0, 32).  
							
							 
							
							... 
							
							
							
							llvm-svn: 139964 
							
						 
						
							2011-09-16 22:29:48 +00:00  
						
					 
				
					
						
							
							
								 
								Owen Anderson
							
						 
						
							 
							
							
							
							
								
							
							
								fe82365cb0 
								
							 
						 
						
							
							
								
								Fix disassembly of Thumb2 LDRSH with a #-0 offset.  
							
							 
							
							... 
							
							
							
							llvm-svn: 139943 
							
						 
						
							2011-09-16 21:08:33 +00:00