Jim Grosbach
							
						 
						
							 
							
							
							
							
								
							
							
								18bf363078 
								
							 
						 
						
							
							
								
								ARM LDM/STM system instruction variants.  
							
							 
							
							... 
							
							
							
							rdar://10550269
llvm-svn: 146519 
							
						 
						
							2011-12-13 21:48:29 +00:00  
						
					 
				
					
						
							
							
								 
								Jim Grosbach
							
						 
						
							 
							
							
							
							
								
							
							
								5ac89675a0 
								
							 
						 
						
							
							
								
								Thumb2 tweak for ccout handling in RSB parsing.  
							
							 
							
							... 
							
							
							
							llvm-svn: 146516 
							
						 
						
							2011-12-13 21:06:41 +00:00  
						
					 
				
					
						
							
							
								 
								Jim Grosbach
							
						 
						
							 
							
							
							
							
								
							
							
								1f1a3598c2 
								
							 
						 
						
							
							
								
								ARM thumb2 parsing of "rsb rd, rn, #0".  
							
							 
							
							... 
							
							
							
							rdar://10549741
llvm-svn: 146515 
							
						 
						
							2011-12-13 20:50:38 +00:00  
						
					 
				
					
						
							
							
								 
								Jim Grosbach
							
						 
						
							 
							
							
							
							
								
							
							
								2a2348e6c2 
								
							 
						 
						
							
							
								
								ARM add some more pre-UAL VFP mnemonics for convenience when porting old code.  
							
							 
							
							... 
							
							
							
							llvm-svn: 146508 
							
						 
						
							2011-12-13 20:13:48 +00:00  
						
					 
				
					
						
							
							
								 
								Daniel Dunbar
							
						 
						
							 
							
							
							
							
								
							
							
								27a7489a03 
								
							 
						 
						
							
							
								
								LLVMBuild: Remove trailing newline, which irked me.  
							
							 
							
							... 
							
							
							
							llvm-svn: 146409 
							
						 
						
							2011-12-12 19:48:00 +00:00  
						
					 
				
					
						
							
							
								 
								Jim Grosbach
							
						 
						
							 
							
							
							
							
								
							
							
								54337b8617 
								
							 
						 
						
							
							
								
								ARM add some more pre-UAL VFP mnemonics for convenience when porting old code.  
							
							 
							
							... 
							
							
							
							llvm-svn: 146300 
							
						 
						
							2011-12-10 00:01:02 +00:00  
						
					 
				
					
						
							
							
								 
								Jim Grosbach
							
						 
						
							 
							
							
							
							
								
							
							
								8be2f6577e 
								
							 
						 
						
							
							
								
								ARM add some pre-UAL VFP mnemonics for convenience when porting old code.  
							
							 
							
							... 
							
							
							
							llvm-svn: 146296 
							
						 
						
							2011-12-09 23:34:09 +00:00  
						
					 
				
					
						
							
							
								 
								Jim Grosbach
							
						 
						
							 
							
							
							
							
								
							
							
								ef70e9b704 
								
							 
						 
						
							
							
								
								ARM allows '' syntax, not just '#imm' for assembly.  
							
							 
							
							... 
							
							
							
							Backwards compatibility with 'gas'. #imm is the preferered and documented
syntax, but lots of existing code uses the '$' prefix, so we should
support it if we can.
llvm-svn: 146285 
							
						 
						
							2011-12-09 22:25:03 +00:00  
						
					 
				
					
						
							
							
								 
								Jim Grosbach
							
						 
						
							 
							
							
							
							
								
							
							
								8cc83fa1b7 
								
							 
						 
						
							
							
								
								ARM convenience aliases for VSQRT.  
							
							 
							
							... 
							
							
							
							llvm-svn: 146201 
							
						 
						
							2011-12-08 22:51:25 +00:00  
						
					 
				
					
						
							
							
								 
								Jim Grosbach
							
						 
						
							 
							
							
							
							
								
							
							
								ba7d6ed05d 
								
							 
						 
						
							
							
								
								ARM VSHR implied destination operand form aliases.  
							
							 
							
							... 
							
							
							
							llvm-svn: 146192 
							
						 
						
							2011-12-08 22:06:06 +00:00  
						
					 
				
					
						
							
							
								 
								Jim Grosbach
							
						 
						
							 
							
							
							
							
								
							
							
								98bc797b4d 
								
							 
						 
						
							
							
								
								ARM asm parser, just issue a warning for a duplicate reg in a list.  
							
							 
							
							... 
							
							
							
							For better 'gas' compatibility.
llvm-svn: 146185 
							
						 
						
							2011-12-08 21:34:20 +00:00  
						
					 
				
					
						
							
							
								 
								Jim Grosbach
							
						 
						
							 
							
							
							
							
								
							
							
								4edc7360c7 
								
							 
						 
						
							
							
								
								ARM assembler support for register name aliases.  
							
							 
							
							... 
							
							
							
							rdar://10550084
llvm-svn: 146170 
							
						 
						
							2011-12-08 19:27:38 +00:00  
						
					 
				
					
						
							
							
								 
								Jim Grosbach
							
						 
						
							 
							
							
							
							
								
							
							
								00326406d4 
								
							 
						 
						
							
							
								
								ARM NEON two-operand aliases for VSHL(immediate).  
							
							 
							
							... 
							
							
							
							llvm-svn: 146125 
							
						 
						
							2011-12-08 01:30:04 +00:00  
						
					 
				
					
						
							
							
								 
								Jim Grosbach
							
						 
						
							 
							
							
							
							
								
							
							
								9a6ba3c94e 
								
							 
						 
						
							
							
								
								ARM VFP support 'fmrs/fmsr' aliases for 'vldr'  
							
							 
							
							... 
							
							
							
							llvm-svn: 146116 
							
						 
						
							2011-12-08 00:52:55 +00:00  
						
					 
				
					
						
							
							
								 
								Jim Grosbach
							
						 
						
							 
							
							
							
							
								
							
							
								086d013e56 
								
							 
						 
						
							
							
								
								ARM VFP support 'flds/fldd' aliases for 'vldr'  
							
							 
							
							... 
							
							
							
							llvm-svn: 146115 
							
						 
						
							2011-12-08 00:49:29 +00:00  
						
					 
				
					
						
							
							
								 
								Jim Grosbach
							
						 
						
							 
							
							
							
							
								
							
							
								3050625a50 
								
							 
						 
						
							
							
								
								ARM assembler aliases for "add Rd, #-imm" to "sub Rd, #imm".  
							
							 
							
							... 
							
							
							
							llvm-svn: 146111 
							
						 
						
							2011-12-08 00:31:07 +00:00  
						
					 
				
					
						
							
							
								 
								Jim Grosbach
							
						 
						
							 
							
							
							
							
								
							
							
								3b559ff3c5 
								
							 
						 
						
							
							
								
								ARM assembly, allow 'asl' as a synonym for 'lsl' in shifted-register operands.  
							
							 
							
							... 
							
							
							
							For 'gas' compatibility.
llvm-svn: 146106 
							
						 
						
							2011-12-07 23:40:58 +00:00  
						
					 
				
					
						
							
							
								 
								Jim Grosbach
							
						 
						
							 
							
							
							
							
								
							
							
								7f882399b8 
								
							 
						 
						
							
							
								
								ARM support the .arm and .thumb directives for assembly mode switching.  
							
							 
							
							... 
							
							
							
							llvm-svn: 146042 
							
						 
						
							2011-12-07 18:04:19 +00:00  
						
					 
				
					
						
							
							
								 
								Jim Grosbach
							
						 
						
							 
							
							
							
							
								
							
							
								d4b8249434 
								
							 
						 
						
							
							
								
								ARM: NEON SHLL instruction immediate operand range checking.  
							
							 
							
							... 
							
							
							
							llvm-svn: 146003 
							
						 
						
							2011-12-07 01:07:24 +00:00  
						
					 
				
					
						
							
							
								 
								Jim Grosbach
							
						 
						
							 
							
							
							
							
								
							
							
								175c7d0da5 
								
							 
						 
						
							
							
								
								Thumb2 encoding choice correction for PLD.  
							
							 
							
							... 
							
							
							
							Using encoding T1 for offset of #0  and encoding T2 for #-0.
rdar://10532413
llvm-svn: 145919 
							
						 
						
							2011-12-06 04:49:29 +00:00  
						
					 
				
					
						
							
							
								 
								Jim Grosbach
							
						 
						
							 
							
							
							
							
								
							
							
								b8c719ccc6 
								
							 
						 
						
							
							
								
								Tweak ADDrr fix. Bad check for explicit .w  
							
							 
							
							... 
							
							
							
							llvm-svn: 145863 
							
						 
						
							2011-12-05 22:27:04 +00:00  
						
					 
				
					
						
							
							
								 
								Jim Grosbach
							
						 
						
							 
							
							
							
							
								
							
							
								e489babf9b 
								
							 
						 
						
							
							
								
								Thumb2 prefer ADD register encoding T2 to T3 when possible.  
							
							 
							
							... 
							
							
							
							rdar://10529664
llvm-svn: 145860 
							
						 
						
							2011-12-05 22:16:39 +00:00  
						
					 
				
					
						
							
							
								 
								Jim Grosbach
							
						 
						
							 
							
							
							
							
								
							
							
								ec9ba98299 
								
							 
						 
						
							
							
								
								Thumb2 prefer encoding T3 to T4 for ADD/SUB immediate instructions.  
							
							 
							
							... 
							
							
							
							rdar://10529348
llvm-svn: 145851 
							
						 
						
							2011-12-05 21:06:26 +00:00  
						
					 
				
					
						
							
							
								 
								Jim Grosbach
							
						 
						
							 
							
							
							
							
								
							
							
								9dff9f4c41 
								
							 
						 
						
							
							
								
								ARM NEON VEXT aliases for data type suffices.  
							
							 
							
							... 
							
							
							
							llvm-svn: 145726 
							
						 
						
							2011-12-02 23:34:39 +00:00  
						
					 
				
					
						
							
							
								 
								Jim Grosbach
							
						 
						
							 
							
							
							
							
								
							
							
								eb53822f5a 
								
							 
						 
						
							
							
								
								ARM VST1 single lane assembly parsing.  
							
							 
							
							... 
							
							
							
							llvm-svn: 145718 
							
						 
						
							2011-12-02 22:34:51 +00:00  
						
					 
				
					
						
							
							
								 
								Jim Grosbach
							
						 
						
							 
							
							
							
							
								
							
							
								dda976b804 
								
							 
						 
						
							
							
								
								ARM VLD1 single lane assembly parsing.  
							
							 
							
							... 
							
							
							
							llvm-svn: 145712 
							
						 
						
							2011-12-02 22:01:52 +00:00  
						
					 
				
					
						
							
							
								 
								Jim Grosbach
							
						 
						
							 
							
							
							
							
								
							
							
								e7dcbc8691 
								
							 
						 
						
							
							
								
								Clean up aliases for ARM VLD1 single-lane assembly parsing a bit.  
							
							 
							
							... 
							
							
							
							Add the 16-bit lane variants while I'm at it.
llvm-svn: 145693 
							
						 
						
							2011-12-02 18:52:30 +00:00  
						
					 
				
					
						
							
							
								 
								Jim Grosbach
							
						 
						
							 
							
							
							
							
								
							
							
								04945c42c6 
								
							 
						 
						
							
							
								
								ARM start parsing VLD1 single lane instructions.  
							
							 
							
							... 
							
							
							
							The alias pseudos need cleaned up for size suffix handling, but this gets
the basics working. Will be cleaning up and adding more.
llvm-svn: 145655 
							
						 
						
							2011-12-02 00:35:16 +00:00  
						
					 
				
					
						
							
							
								 
								Jim Grosbach
							
						 
						
							 
							
							
							
							
								
							
							
								3ecf976ca9 
								
							 
						 
						
							
							
								
								ARM parsing for VLD1 two register all lanes, no writeback.  
							
							 
							
							... 
							
							
							
							llvm-svn: 145504 
							
						 
						
							2011-11-30 18:21:25 +00:00  
						
					 
				
					
						
							
							
								 
								Jim Grosbach
							
						 
						
							 
							
							
							
							
								
							
							
								cd6f5e757c 
								
							 
						 
						
							
							
								
								ARM parsing aliases for VLD1 single register all lanes.  
							
							 
							
							... 
							
							
							
							llvm-svn: 145464 
							
						 
						
							2011-11-30 01:09:44 +00:00  
						
					 
				
					
						
							
							
								 
								Jim Grosbach
							
						 
						
							 
							
							
							
							
								
							
							
								182b6a077e 
								
							 
						 
						
							
							
								
								Tidy up a bit.  
							
							 
							
							... 
							
							
							
							llvm-svn: 145458 
							
						 
						
							2011-11-29 23:51:09 +00:00  
						
					 
				
					
						
							
							
								 
								Daniel Dunbar
							
						 
						
							 
							
							
							
							
								
							
							
								539d0a8a09 
								
							 
						 
						
							
							
								
								build/CMake: Finish removal of add_llvm_library_dependencies.  
							
							 
							
							... 
							
							
							
							llvm-svn: 145420 
							
						 
						
							2011-11-29 19:25:30 +00:00  
						
					 
				
					
						
							
							
								 
								Jim Grosbach
							
						 
						
							 
							
							
							
							
								
							
							
								01e0439240 
								
							 
						 
						
							
							
								
								Clean up debug printing of ARM shifted operands.  
							
							 
							
							... 
							
							
							
							llvm-svn: 144836 
							
						 
						
							2011-11-16 21:46:50 +00:00  
						
					 
				
					
						
							
							
								 
								Jim Grosbach
							
						 
						
							 
							
							
							
							
								
							
							
								1a2f9ee3c8 
								
							 
						 
						
							
							
								
								ARM assembly parsing for RRX mnemonic.  
							
							 
							
							... 
							
							
							
							rdar://9704684
llvm-svn: 144812 
							
						 
						
							2011-11-16 19:05:59 +00:00  
						
					 
				
					
						
							
							
								 
								Jim Grosbach
							
						 
						
							 
							
							
							
							
								
							
							
								abcac56869 
								
							 
						 
						
							
							
								
								ARM mode aliases for bitwise instructions w/ register operands.  
							
							 
							
							... 
							
							
							
							rdar://9704684
llvm-svn: 144803 
							
						 
						
							2011-11-16 18:31:45 +00:00  
						
					 
				
					
						
							
							
								 
								Jim Grosbach
							
						 
						
							 
							
							
							
							
								
							
							
								e891fe8d6c 
								
							 
						 
						
							
							
								
								ARM assembly parsing for register range syntax for VLD/VST register lists.  
							
							 
							
							... 
							
							
							
							For example,
vld1.f64 {d2-d5}, [r2,:128]!
Should be equivalent to:
vld1.f64 {d2,d3,d4,d5}, [r2,:128]!
It's not documented syntax in the ARM ARM, but it is consistent with what's
accepted for VLDM/VSTM and is unambiguous in meaning, so it's a good thing to
support.
rdar://10451128
llvm-svn: 144727 
							
						 
						
							2011-11-15 23:19:15 +00:00  
						
					 
				
					
						
							
							
								 
								Jim Grosbach
							
						 
						
							 
							
							
							
							
								
							
							
								8279c1828f 
								
							 
						 
						
							
							
								
								ARM accept an immediate offset in memory operands w/o the '#'.  
							
							 
							
							... 
							
							
							
							llvm-svn: 144709 
							
						 
						
							2011-11-15 22:14:41 +00:00  
						
					 
				
					
						
							
							
								 
								Jim Grosbach
							
						 
						
							 
							
							
							
							
								
							
							
								8d579230c6 
								
							 
						 
						
							
							
								
								ARM enclosing curly braces optional on one-register VLD/VST instruction lists.  
							
							 
							
							... 
							
							
							
							'vld1.f32 d4, [r7]' should be parsed as equivalent to 'vld1.f32 {d4}, [r7]'
rdar://10450488.
llvm-svn: 144701 
							
						 
						
							2011-11-15 21:45:55 +00:00  
						
					 
				
					
						
							
							
								 
								Jim Grosbach
							
						 
						
							 
							
							
							
							
								
							
							
								a92a5d8548 
								
							 
						 
						
							
							
								
								Fix typo.  
							
							 
							
							... 
							
							
							
							llvm-svn: 144695 
							
						 
						
							2011-11-15 21:01:30 +00:00  
						
					 
				
					
						
							
							
								 
								Jim Grosbach
							
						 
						
							 
							
							
							
							
								
							
							
								efa7e95d06 
								
							 
						 
						
							
							
								
								Thumb2 two-operand 'mul' instruction wide encoding parsing.  
							
							 
							
							... 
							
							
							
							rdar://10449724
llvm-svn: 144684 
							
						 
						
							2011-11-15 19:55:16 +00:00  
						
					 
				
					
						
							
							
								 
								Jim Grosbach
							
						 
						
							 
							
							
							
							
								
							
							
								6efa7b9852 
								
							 
						 
						
							
							
								
								Thumb2 assembly parsing for mul.w in IT block fix.  
							
							 
							
							... 
							
							
							
							When the 3rd operand is not a low-register, and the first two operands are
the same low register, the parser was incorrectly trying to use the 16-bit
instruction encoding.
rdar://10449281
llvm-svn: 144679 
							
						 
						
							2011-11-15 19:29:45 +00:00  
						
					 
				
					
						
							
							
								 
								Jim Grosbach
							
						 
						
							 
							
							
							
							
								
							
							
								ee201faeac 
								
							 
						 
						
							
							
								
								Tidy up. 80 column.  
							
							 
							
							... 
							
							
							
							llvm-svn: 144538 
							
						 
						
							2011-11-14 17:52:47 +00:00  
						
					 
				
					
						
							
							
								 
								Jim Grosbach
							
						 
						
							 
							
							
							
							
								
							
							
								3a3d8e82bc 
								
							 
						 
						
							
							
								
								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.
llvm-svn: 144439 
							
						 
						
							2011-11-12 00:58:43 +00:00  
						
					 
				
					
						
							
							
								 
								Jim Grosbach
							
						 
						
							 
							
							
							
							
								
							
							
								12952fef71 
								
							 
						 
						
							
							
								
								ARM vldm and vstm VFP instructions can take a data type suffix.  
							
							 
							
							... 
							
							
							
							It's ignored by the assembler when present, but is legal syntax. Other
instructions have something similar, but for some mnemonics it's
only sometimes not significant, so this quick check in the parser will
need refactored into something more robust soon-ish. This gets some
basics working in the meantime.
Partial for rdar://10435264
llvm-svn: 144422 
							
						 
						
							2011-11-11 23:08:10 +00:00  
						
					 
				
					
						
							
							
								 
								Jim Grosbach
							
						 
						
							 
							
							
							
							
								
							
							
								b68eeb3852 
								
							 
						 
						
							
							
								
								Nuke no longer accurate comment.  
							
							 
							
							... 
							
							
							
							llvm-svn: 144411 
							
						 
						
							2011-11-11 22:30:06 +00:00  
						
					 
				
					
						
							
							
								 
								Jim Grosbach
							
						 
						
							 
							
							
							
							
								
							
							
								85a2343b01 
								
							 
						 
						
							
							
								
								ARM allow Q registers in vldm/vstm register lists.  
							
							 
							
							... 
							
							
							
							rdar://9672822
llvm-svn: 144407 
							
						 
						
							2011-11-11 21:27:40 +00:00  
						
					 
				
					
						
							
							
								 
								Jim Grosbach
							
						 
						
							 
							
							
							
							
								
							
							
								d9a9be269c 
								
							 
						 
						
							
							
								
								Thumb2 ldm/stm updating w/ one register in the list are LDR/STR.  
							
							 
							
							... 
							
							
							
							rdar://10429490
llvm-svn: 144338 
							
						 
						
							2011-11-10 23:58:34 +00:00  
						
					 
				
					
						
							
							
								 
								Jim Grosbach
							
						 
						
							 
							
							
							
							
								
							
							
								afad053141 
								
							 
						 
						
							
							
								
								ARM let processInstruction() tranforms chain.  
							
							 
							
							... 
							
							
							
							llvm-svn: 144337 
							
						 
						
							2011-11-10 23:42:14 +00:00  
						
					 
				
					
						
							
							
								 
								Jim Grosbach
							
						 
						
							 
							
							
							
							
								
							
							
								9bded9dc24 
								
							 
						 
						
							
							
								
								Thumb2 parsing for push/pop w/ hi registers in the reglist.  
							
							 
							
							... 
							
							
							
							rdar://10130228.
llvm-svn: 144331 
							
						 
						
							2011-11-10 23:17:11 +00:00  
						
					 
				
					
						
							
							
								 
								Jim Grosbach
							
						 
						
							 
							
							
							
							
								
							
							
								a113eb0205 
								
							 
						 
						
							
							
								
								Thumb1 diagnostics for reglist on PUSH/POP fix.  
							
							 
							
							... 
							
							
							
							Was not checking the first register in the register list.
llvm-svn: 144329 
							
						 
						
							2011-11-10 23:01:27 +00:00  
						
					 
				
					
						
							
							
								 
								Jim Grosbach
							
						 
						
							 
							
							
							
							
								
							
							
								5a5ce63742 
								
							 
						 
						
							
							
								
								Thumb MUL assembly parsing for 3-operand form.  
							
							 
							
							... 
							
							
							
							Get the source register that isn't tied to the destination register correct,
even when the assembly source operand order is backwards.
rdar://10428630
llvm-svn: 144322 
							
						 
						
							2011-11-10 22:10:12 +00:00  
						
					 
				
					
						
							
							
								 
								Jim Grosbach
							
						 
						
							 
							
							
							
							
								
							
							
								42ba6286b6 
								
							 
						 
						
							
							
								
								ARM .thumb_func directive for quoted symbol names.  
							
							 
							
							... 
							
							
							
							Use the getIdentifier() method of the token, not getString(), otherwise
we keep the quotes as part of the symbol name, which we don't want.
rdar://10428015
llvm-svn: 144315 
							
						 
						
							2011-11-10 20:48:53 +00:00  
						
					 
				
					
						
							
							
								 
								Jim Grosbach
							
						 
						
							 
							
							
							
							
								
							
							
								c14871cc67 
								
							 
						 
						
							
							
								
								ARM assembly parsing for LSR/LSL/ROR(immediate).  
							
							 
							
							... 
							
							
							
							More of rdar://9704684
llvm-svn: 144301 
							
						 
						
							2011-11-10 19:18:01 +00:00  
						
					 
				
					
						
							
							
								 
								Jim Grosbach
							
						 
						
							 
							
							
							
							
								
							
							
								61db5a59f7 
								
							 
						 
						
							
							
								
								ARM assembly parsing for ASR(immediate).  
							
							 
							
							... 
							
							
							
							Start of rdar://9704684
llvm-svn: 144293 
							
						 
						
							2011-11-10 16:44:55 +00:00  
						
					 
				
					
						
							
							
								 
								Benjamin Kramer
							
						 
						
							 
							
							
							
							
								
							
							
								20baffb257 
								
							 
						 
						
							
							
								
								Replace (Lower|Upper)caseString in favor of StringRef's newest methods.  
							
							 
							
							... 
							
							
							
							llvm-svn: 143891 
							
						 
						
							2011-11-06 20:37:06 +00:00  
						
					 
				
					
						
							
							
								 
								Daniel Dunbar
							
						 
						
							 
							
							
							
							
								
							
							
								bf9bba47a1 
								
							 
						 
						
							
							
								
								build: Add initial cut at LLVMBuild.txt files.  
							
							 
							
							... 
							
							
							
							llvm-svn: 143634 
							
						 
						
							2011-11-03 18:53:17 +00:00  
						
					 
				
					
						
							
							
								 
								Jim Grosbach
							
						 
						
							 
							
							
							
							
								
							
							
								5c6b6346bc 
								
							 
						 
						
							
							
								
								ARM label operands can be quoted.  
							
							 
							
							... 
							
							
							
							For example, labels from Objective-C sources.
llvm-svn: 143511 
							
						 
						
							2011-11-01 22:38:31 +00:00  
						
					 
				
					
						
							
							
								 
								Jim Grosbach
							
						 
						
							 
							
							
							
							
								
							
							
								7f1f3bd868 
								
							 
						 
						
							
							
								
								ARM label operands can have an optional '#' before them.  
							
							 
							
							... 
							
							
							
							llvm-svn: 143510 
							
						 
						
							2011-11-01 22:37:37 +00:00  
						
					 
				
					
						
							
							
								 
								Jim Grosbach
							
						 
						
							 
							
							
							
							
								
							
							
								fb2f1d61f4 
								
							 
						 
						
							
							
								
								ARM VLD/VST assembly parsing for symbolic address operands.  
							
							 
							
							... 
							
							
							
							llvm-svn: 143413 
							
						 
						
							2011-11-01 01:24:45 +00:00  
						
					 
				
					
						
							
							
								 
								Jim Grosbach
							
						 
						
							 
							
							
							
							
								
							
							
								05df460269 
								
							 
						 
						
							
							
								
								ARM VST1 w/ writeback assembly parsing and encoding.  
							
							 
							
							... 
							
							
							
							llvm-svn: 143369 
							
						 
						
							2011-10-31 21:50:31 +00:00  
						
					 
				
					
						
							
							
								 
								Jim Grosbach
							
						 
						
							 
							
							
							
							
								
							
							
								3d785edee2 
								
							 
						 
						
							
							
								
								ARM mode 'mov' to 'mvn' assembler alias.  
							
							 
							
							... 
							
							
							
							llvm-svn: 143237 
							
						 
						
							2011-10-28 22:50:54 +00:00  
						
					 
				
					
						
							
							
								 
								Jim Grosbach
							
						 
						
							 
							
							
							
							
								
							
							
								b009a872d7 
								
							 
						 
						
							
							
								
								Add Thumb2 alias for "mov Rd, #imm" to "mvn Rd, #~imm".  
							
							 
							
							... 
							
							
							
							When '~imm' is encodable as a t2_so_imm but plain 'imm' is not. For example,
  mov r2, #-3
becomes
  mvn r2, #2 
rdar://10349224
llvm-svn: 143235 
							
						 
						
							2011-10-28 22:36:30 +00:00  
						
					 
				
					
						
							
							
								 
								Jim Grosbach
							
						 
						
							 
							
							
							
							
								
							
							
								080a499ee0 
								
							 
						 
						
							
							
								
								ARM Allow 'q' registers in VLD/VST vector lists.  
							
							 
							
							... 
							
							
							
							Just treat it as if the constituent D registers where specified.
rdar://10348896
llvm-svn: 143167 
							
						 
						
							2011-10-28 00:06:50 +00:00  
						
					 
				
					
						
							
							
								 
								Jim Grosbach
							
						 
						
							 
							
							
							
							
								
							
							
								61fdba048f 
								
							 
						 
						
							
							
								
								Thumb2 ldr pc-relative encoding fixes.  
							
							 
							
							... 
							
							
							
							We were parsing label references to the i12 encoding, which isn't right.
They need to go to the pci variant instead.
More of rdar://10348687
llvm-svn: 143068 
							
						 
						
							2011-10-26 22:22:01 +00:00  
						
					 
				
					
						
							
							
								 
								Jim Grosbach
							
						 
						
							 
							
							
							
							
								
							
							
								4e380354a9 
								
							 
						 
						
							
							
								
								ARM parse parenthesized expressions for label references.  
							
							 
							
							... 
							
							
							
							Partial fix for rdar://10348687.
llvm-svn: 143063 
							
						 
						
							2011-10-26 21:14:08 +00:00  
						
					 
				
					
						
							
							
								 
								Jim Grosbach
							
						 
						
							 
							
							
							
							
								
							
							
								3ea0657d54 
								
							 
						 
						
							
							
								
								ARM assembly parsing and encoding for VLD1 w/ writeback.  
							
							 
							
							... 
							
							
							
							One and two length register list variants.
llvm-svn: 142861 
							
						 
						
							2011-10-24 22:16:58 +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
							
						 
						
							 
							
							
							
							
								
							
							
								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  
						
					 
				
					
						
							
							
								 
								Owen Anderson
							
						 
						
							 
							
							
							
							
								
							
							
								03a173eb71 
								
							 
						 
						
							
							
								
								Don't automatically set the "fc" bits on MSR instructions if the user didn't ask for them.  This is a divergence from gas' behavior, but it is correct per the documentation and allows us to forge ahead with roundtrip testing.  
							
							 
							
							... 
							
							
							
							llvm-svn: 142669 
							
						 
						
							2011-10-21 18:43:28 +00:00  
						
					 
				
					
						
							
							
								 
								Jim Grosbach
							
						 
						
							 
							
							
							
							
								
							
							
								e6d88c9a51 
								
							 
						 
						
							
							
								
								Nuke an #if0 that got accidentally left in.  
							
							 
							
							... 
							
							
							
							llvm-svn: 142658 
							
						 
						
							2011-10-21 16:59:08 +00:00  
						
					 
				
					
						
							
							
								 
								Jim Grosbach
							
						 
						
							 
							
							
							
							
								
							
							
								ad47cfcef9 
								
							 
						 
						
							
							
								
								ARM VTBL (one register) assembly parsing and encoding.  
							
							 
							
							... 
							
							
							
							llvm-svn: 142441 
							
						 
						
							2011-10-18 23:02:30 +00:00  
						
					 
				
					
						
							
							
								 
								Jim Grosbach
							
						 
						
							 
							
							
							
							
								
							
							
								e4454e0de2 
								
							 
						 
						
							
							
								
								ARM assembly parsing and encoding for VMOV.i64.  
							
							 
							
							... 
							
							
							
							llvm-svn: 142356 
							
						 
						
							2011-10-18 16:18:11 +00:00  
						
					 
				
					
						
							
							
								 
								Jim Grosbach
							
						 
						
							 
							
							
							
							
								
							
							
								8211c051ca 
								
							 
						 
						
							
							
								
								ARM assembly parsing and encoding for VMOV/VMVN/VORR/VBIC.i32.  
							
							 
							
							... 
							
							
							
							llvm-svn: 142321 
							
						 
						
							2011-10-18 00:22:00 +00:00  
						
					 
				
					
						
							
							
								 
								Jim Grosbach
							
						 
						
							 
							
							
							
							
								
							
							
								cda32ae372 
								
							 
						 
						
							
							
								
								ARM assembly parsing and encoding for VMOV/VMVN/VORR/VBIC.i16.  
							
							 
							
							... 
							
							
							
							llvm-svn: 142303 
							
						 
						
							2011-10-17 23:09:09 +00:00  
						
					 
				
					
						
							
							
								 
								Jim Grosbach
							
						 
						
							 
							
							
							
							
								
							
							
								f18eec158c 
								
							 
						 
						
							
							
								
								Tidy up.  
							
							 
							
							... 
							
							
							
							llvm-svn: 142297 
							
						 
						
							2011-10-17 22:41:42 +00:00  
						
					 
				
					
						
							
							
								 
								Jim Grosbach
							
						 
						
							 
							
							
							
							
								
							
							
								741cd73aab 
								
							 
						 
						
							
							
								
								ARM NEON "vmov.i8" immediate assembly parsing and encoding.  
							
							 
							
							... 
							
							
							
							NEON immediates are "interesting". Start of the work to handle parsing them
in an 'as' compatible manner. Getting the matcher to play nicely with
these and the floating point immediates from VFP is an extra fun wrinkle.
llvm-svn: 142293 
							
						 
						
							2011-10-17 22:26:03 +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  
						
					 
				
					
						
							
							
								 
								Jim Grosbach
							
						 
						
							 
							
							
							
							
								
							
							
								54a20ed0f1 
								
							 
						 
						
							
							
								
								Thumb2 assembly parsing and encoding for LDC/STC.  
							
							 
							
							... 
							
							
							
							llvm-svn: 141811 
							
						 
						
							2011-10-12 20:54:17 +00:00  
						
					 
				
					
						
							
							
								 
								Jim Grosbach
							
						 
						
							 
							
							
							
							
								
							
							
								483995875f 
								
							 
						 
						
							
							
								
								ARM parsing and encoding for the <option> form of LDC/STC instructions.  
							
							 
							
							... 
							
							
							
							llvm-svn: 141786 
							
						 
						
							2011-10-12 17:34:41 +00:00  
						
					 
				
					
						
							
							
								 
								Jim Grosbach
							
						 
						
							 
							
							
							
							
								
							
							
								9398141c48 
								
							 
						 
						
							
							
								
								ARM assembly parsing and encoding for LDC{2}{L}/STC{2}{L} instructions.  
							
							 
							
							... 
							
							
							
							Fill out the rest of the encoding information, update to properly mark
the LDC/STC instructions as predicable while the LDC2/STC2 instructions are
not, and adjust the parser accordingly.
llvm-svn: 141721 
							
						 
						
							2011-10-11 21:55:36 +00:00  
						
					 
				
					
						
							
							
								 
								Jim Grosbach
							
						 
						
							 
							
							
							
							
								
							
							
								a95ec99a96 
								
							 
						 
						
							
							
								
								ARM parse alignment specifier for NEON load/store instructions.  
							
							 
							
							... 
							
							
							
							llvm-svn: 141682 
							
						 
						
							2011-10-11 17:29:55 +00:00  
						
					 
				
					
						
							
							
								 
								Jim Grosbach
							
						 
						
							 
							
							
							
							
								
							
							
								871dff76df 
								
							 
						 
						
							
							
								
								ARM Rename operand sub-structure 'Mem' to 'Memory' for a bit more clarity.  
							
							 
							
							... 
							
							
							
							llvm-svn: 141671 
							
						 
						
							2011-10-11 15:59:20 +00:00  
						
					 
				
					
						
							
							
								 
								Jim Grosbach
							
						 
						
							 
							
							
							
							
								
							
							
								c11b7c3805 
								
							 
						 
						
							
							
								
								Simplify operand Kind checks a bit.  
							
							 
							
							... 
							
							
							
							llvm-svn: 141592 
							
						 
						
							2011-10-10 23:06:42 +00:00  
						
					 
				
					
						
							
							
								 
								Jim Grosbach
							
						 
						
							 
							
							
							
							
								
							
							
								d0637bfc68 
								
							 
						 
						
							
							
								
								ARM NEON assembly parsing and encoding for VDUP(scalar).  
							
							 
							
							... 
							
							
							
							llvm-svn: 141446 
							
						 
						
							2011-10-07 23:56:00 +00:00  
						
					 
				
					
						
							
							
								 
								Jim Grosbach
							
						 
						
							 
							
							
							
							
								
							
							
								6e5778f7b1 
								
							 
						 
						
							
							
								
								ARM prefix asmparser operand kind enums for readability.  
							
							 
							
							... 
							
							
							
							llvm-svn: 141438 
							
						 
						
							2011-10-07 23:24:09 +00:00  
						
					 
				
					
						
							
							
								 
								Jim Grosbach
							
						 
						
							 
							
							
							
							
								
							
							
								b8d9f51e4c 
								
							 
						 
						
							
							
								
								Improve ARM assembly parser diagnostic for unexpected tokens.  
							
							 
							
							... 
							
							
							
							Consider:
  mov r8, r11 fred
Previously, we issued the not very informative:
x.s:6:1: error: unexpected token in argument list
^
Now we generate:
x.s:5:14: error: unexpected token in argument list
  mov r8, r11 fred
              ^
llvm-svn: 141380 
							
						 
						
							2011-10-07 18:27:04 +00:00  
						
					 
				
					
						
							
							
								 
								Owen Anderson
							
						 
						
							 
							
							
							
							
								
							
							
								10c5b12f99 
								
							 
						 
						
							
							
								
								Support a valid, but not very useful, encoding of CPSIE where none of the AIF bits are set.  
							
							 
							
							... 
							
							
							
							llvm-svn: 141190 
							
						 
						
							2011-10-05 17:16:40 +00:00  
						
					 
				
					
						
							
							
								 
								Jim Grosbach
							
						 
						
							 
							
							
							
							
								
							
							
								e7fbce7acb 
								
							 
						 
						
							
							
								
								ARM assembly parsing and encoding for VMOV immediate.  
							
							 
							
							... 
							
							
							
							llvm-svn: 141046 
							
						 
						
							2011-10-03 23:38:36 +00:00  
						
					 
				
					
						
							
							
								 
								Jim Grosbach
							
						 
						
							 
							
							
							
							
								
							
							
								46b6646059 
								
							 
						 
						
							
							
								
								ARM parsing/encoding for VCMP/VCMPE.  
							
							 
							
							... 
							
							
							
							llvm-svn: 141038 
							
						 
						
							2011-10-03 22:30:24 +00:00  
						
					 
				
					
						
							
							
								 
								Jim Grosbach
							
						 
						
							 
							
							
							
							
								
							
							
								4ab23b5273 
								
							 
						 
						
							
							
								
								ARM assembly parsing and encoding for VMRS/FMSTAT.  
							
							 
							
							... 
							
							
							
							llvm-svn: 141025 
							
						 
						
							2011-10-03 21:12:43 +00:00  
						
					 
				
					
						
							
							
								 
								James Molloy
							
						 
						
							 
							
							
							
							
								
							
							
								21efa7d6e1 
								
							 
						 
						
							
							
								
								Check in a patch that has already been code reviewed by Owen that I'd forgotten to commit.  
							
							 
							
							... 
							
							
							
							Build on previous patches to successfully distinguish between an M-series and A/R-series MSR and MRS instruction. These take different mask names and have a *slightly* different opcode format.
Add decoder and disassembler tests.
Improvement on the previous patch - successfully distinguish between valid v6m and v7m masks (one is a subset of the other). The patch had to be edited slightly to apply to ToT.
llvm-svn: 140696 
							
						 
						
							2011-09-28 14:21:38 +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
							
						 
						
							 
							
							
							
							
								
							
							
								4916840eb8 
								
							 
						 
						
							
							
								
								Teach the Thumb2 AsmParser to accept pre-indexed loads/stores with an offset of #-0.  
							
							 
							
							... 
							
							
							
							llvm-svn: 140426 
							
						 
						
							2011-09-23 22:25:02 +00:00  
						
					 
				
					
						
							
							
								 
								Jim Grosbach
							
						 
						
							 
							
							
							
							
								
							
							
								b35198021a 
								
							 
						 
						
							
							
								
								Thumb2 assembly parsing and encoding for UXTAB/UXTAB16/UXTH/UXTB/UXTB16/UXTH.  
							
							 
							
							... 
							
							
							
							llvm-svn: 140125 
							
						 
						
							2011-09-20 00:46:54 +00:00  
						
					 
				
					
						
							
							
								 
								Jim Grosbach
							
						 
						
							 
							
							
							
							
								
							
							
								fc5451832a 
								
							 
						 
						
							
							
								
								Thumb2 assembly parsing and encoding for UMAAL/UMLAL/UMULL.  
							
							 
							
							... 
							
							
							
							llvm-svn: 140095 
							
						 
						
							2011-09-19 23:31:02 +00:00  
						
					 
				
					
						
							
							
								 
								Jim Grosbach
							
						 
						
							 
							
							
							
							
								
							
							
								05541f45f3 
								
							 
						 
						
							
							
								
								Thumb2 assembly parsing and encoding for TBB/TBH.  
							
							 
							
							... 
							
							
							
							llvm-svn: 140078 
							
						 
						
							2011-09-19 22:21:13 +00:00  
						
					 
				
					
						
							
							
								 
								Jim Grosbach
							
						 
						
							 
							
							
							
							
								
							
							
								8221319707 
								
							 
						 
						
							
							
								
								Thumb2 assembly parsing and encoding for SXTB/SXTB16/SXTH.  
							
							 
							
							... 
							
							
							
							llvm-svn: 140047 
							
						 
						
							2011-09-19 20:29:33 +00:00  
						
					 
				
					
						
							
							
								 
								Jim Grosbach
							
						 
						
							 
							
							
							
							
								
							
							
								40700e0992 
								
							 
						 
						
							
							
								
								ARM asm parsing should handle pre-indexed writeback w/o immediate.  
							
							 
							
							... 
							
							
							
							For example, 'ldrb r9, [sp]!' is odd, but valid.
llvm-svn: 140035 
							
						 
						
							2011-09-19 18:42:21 +00:00  
						
					 
				
					
						
							
							
								 
								Jim Grosbach
							
						 
						
							 
							
							
							
							
								
							
							
								d0c435c23c 
								
							 
						 
						
							
							
								
								Thumb2 assembly parsing and encoding for SUB(immediate).  
							
							 
							
							... 
							
							
							
							llvm-svn: 139966 
							
						 
						
							2011-09-16 22:58:42 +00:00  
						
					 
				
					
						
							
							
								 
								Jim Grosbach
							
						 
						
							 
							
							
							
							
								
							
							
								9c0b86a76d 
								
							 
						 
						
							
							
								
								Thumb2 assembly parsing and encoding for STR.  
							
							 
							
							... 
							
							
							
							More addressing mode encoding bits. Handle pre increment for STR/STRB/STRH
and STR(register).
llvm-svn: 139949 
							
						 
						
							2011-09-16 21:55:56 +00:00  
						
					 
				
					
						
							
							
								 
								Jim Grosbach
							
						 
						
							 
							
							
							
							
								
							
							
								099c9767c3 
								
							 
						 
						
							
							
								
								Thumb2 assembly parsing and encoding for STMIA.  
							
							 
							
							... 
							
							
							
							llvm-svn: 139938 
							
						 
						
							2011-09-16 20:50:13 +00:00  
						
					 
				
					
						
							
							
								 
								Jim Grosbach
							
						 
						
							 
							
							
							
							
								
							
							
								d73c6458de 
								
							 
						 
						
							
							
								
								Thumb2 assembly parsing and encoding for SMMULL.  
							
							 
							
							... 
							
							
							
							llvm-svn: 139921 
							
						 
						
							2011-09-16 18:05:48 +00:00  
						
					 
				
					
						
							
							
								 
								Jim Grosbach
							
						 
						
							 
							
							
							
							
								
							
							
								5e6d5cd7da 
								
							 
						 
						
							
							
								
								Kill some dead code.  
							
							 
							
							... 
							
							
							
							llvm-svn: 139904 
							
						 
						
							2011-09-16 16:45:40 +00:00  
						
					 
				
					
						
							
							
								 
								Jim Grosbach
							
						 
						
							 
							
							
							
							
								
							
							
								6c45b75154 
								
							 
						 
						
							
							
								
								Tidy up a bit.  
							
							 
							
							... 
							
							
							
							llvm-svn: 139903 
							
						 
						
							2011-09-16 16:39:25 +00:00  
						
					 
				
					
						
							
							
								 
								Jim Grosbach
							
						 
						
							 
							
							
							
							
								
							
							
								f9799d2c2d 
								
							 
						 
						
							
							
								
								Thumb2 assembly parsing and encoding for SMLAL.  
							
							 
							
							... 
							
							
							
							llvm-svn: 139902 
							
						 
						
							2011-09-16 16:38:00 +00:00  
						
					 
				
					
						
							
							
								 
								Owen Anderson
							
						 
						
							 
							
							
							
							
								
							
							
								d7791b961c 
								
							 
						 
						
							
							
								
								Fix a crasher in Thumb2 MOV-immediate encoding for certain inputs.  
							
							 
							
							... 
							
							
							
							llvm-svn: 139747 
							
						 
						
							2011-09-14 22:46:14 +00:00  
						
					 
				
					
						
							
							
								 
								Jim Grosbach
							
						 
						
							 
							
							
							
							
								
							
							
								9c8b9932d6 
								
							 
						 
						
							
							
								
								Thumb2 assembly parsing and encoding for MUL.  
							
							 
							
							... 
							
							
							
							llvm-svn: 139735 
							
						 
						
							2011-09-14 21:00:40 +00:00  
						
					 
				
					
						
							
							
								 
								Jim Grosbach
							
						 
						
							 
							
							
							
							
								
							
							
								0ecd395095 
								
							 
						 
						
							
							
								
								Thumb2 assembly parsing and encoding for MSR/MRS.  
							
							 
							
							... 
							
							
							
							Fix a bug in handling default flags for both ARM and Thumb encodings.
llvm-svn: 139721 
							
						 
						
							2011-09-14 20:03:46 +00:00  
						
					 
				
					
						
							
							
								 
								Jim Grosbach
							
						 
						
							 
							
							
							
							
								
							
							
								18b8b17579 
								
							 
						 
						
							
							
								
								Thumb2 assembly parsing for MOV in IT block.  
							
							 
							
							... 
							
							
							
							Select the right 16 vs. 32 bit encoding in an IT block.
llvm-svn: 139714 
							
						 
						
							2011-09-14 19:12:11 +00:00  
						
					 
				
					
						
							
							
								 
								Jim Grosbach
							
						 
						
							 
							
							
							
							
								
							
							
								3ac26b138b 
								
							 
						 
						
							
							
								
								ARM fix assembly parser handling of ranges in register lists.  
							
							 
							
							... 
							
							
							
							Clean up register list handling in general a bit to explicitly check things
like all the registers being from the same register class.
rdar://8883573
llvm-svn: 139707 
							
						 
						
							2011-09-14 18:08:35 +00:00  
						
					 
				
					
						
							
							
								 
								Jim Grosbach
							
						 
						
							 
							
							
							
							
								
							
							
								75461af000 
								
							 
						 
						
							
							
								
								Remove unnecessary scope resolution operator.  
							
							 
							
							... 
							
							
							
							llvm-svn: 139656 
							
						 
						
							2011-09-13 22:56:44 +00:00  
						
					 
				
					
						
							
							
								 
								Jim Grosbach
							
						 
						
							 
							
							
							
							
								
							
							
								e3a6a82f16 
								
							 
						 
						
							
							
								
								There's only 16 regs legal in a register list.  
							
							 
							
							... 
							
							
							
							llvm-svn: 139637 
							
						 
						
							2011-09-13 20:35:57 +00:00  
						
					 
				
					
						
							
							
								 
								Owen Anderson
							
						 
						
							 
							
							
							
							
								
							
							
								44ae2da4ec 
								
							 
						 
						
							
							
								
								Teach the Thumb ASM parser that BKPT is allowed in IT blocks, even though it is always executed unconditionally.  
							
							 
							
							... 
							
							
							
							llvm-svn: 139610 
							
						 
						
							2011-09-13 17:59:19 +00:00  
						
					 
				
					
						
							
							
								 
								Jim Grosbach
							
						 
						
							 
							
							
							
							
								
							
							
								3337e396c8 
								
							 
						 
						
							
							
								
								Tidy up a bit.  
							
							 
							
							... 
							
							
							
							llvm-svn: 139559 
							
						 
						
							2011-09-12 23:36:42 +00:00  
						
					 
				
					
						
							
							
								 
								Jim Grosbach
							
						 
						
							 
							
							
							
							
								
							
							
								b908b7af31 
								
							 
						 
						
							
							
								
								Thumb2 parsing and encoding for MOV(immediate).  
							
							 
							
							... 
							
							
							
							Some aliases for MOV(register) also to keep existing T1 tests happy when
run in thumbv7 mode.
llvm-svn: 139440 
							
						 
						
							2011-09-10 00:15:36 +00:00  
						
					 
				
					
						
							
							
								 
								Owen Anderson
							
						 
						
							 
							
							
							
							
								
							
							
								29cfe6c368 
								
							 
						 
						
							
							
								
								Thumb unconditional branches are allowed in IT blocks, and therefore should have a predicate operand, unlike conditional branches.  
							
							 
							
							... 
							
							
							
							llvm-svn: 139415 
							
						 
						
							2011-09-09 21:48:23 +00:00  
						
					 
				
					
						
							
							
								 
								Jim Grosbach
							
						 
						
							 
							
							
							
							
								
							
							
								62c33955e2 
								
							 
						 
						
							
							
								
								Thumb2 assembly parsing and encoding for MLA and MLS.  
							
							 
							
							... 
							
							
							
							llvm-svn: 139399 
							
						 
						
							2011-09-09 20:24:45 +00:00  
						
					 
				
					
						
							
							
								 
								Jim Grosbach
							
						 
						
							 
							
							
							
							
								
							
							
								a05627ebaf 
								
							 
						 
						
							
							
								
								Thumb2 assembly parsing and encoding for LDREX/LDREXB/LDREXD/LDREXH.  
							
							 
							
							... 
							
							
							
							llvm-svn: 139381 
							
						 
						
							2011-09-09 18:37:27 +00:00  
						
					 
				
					
						
							
							
								 
								Jim Grosbach
							
						 
						
							 
							
							
							
							
								
							
							
								7db8d697cf 
								
							 
						 
						
							
							
								
								Thumb2 assembly parsing and encoding for LDRD(immediate).  
							
							 
							
							... 
							
							
							
							Refactor operand handling for STRD as well. Tests for that forthcoming.
llvm-svn: 139322 
							
						 
						
							2011-09-08 22:07:06 +00:00  
						
					 
				
					
						
							
							
								 
								Jim Grosbach
							
						 
						
							 
							
							
							
							
								
							
							
								c086f689f8 
								
							 
						 
						
							
							
								
								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.
llvm-svn: 139270 
							
						 
						
							2011-09-08 00:39:19 +00:00  
						
					 
				
					
						
							
							
								 
								Jim Grosbach
							
						 
						
							 
							
							
							
							
								
							
							
								2392c53e73 
								
							 
						 
						
							
							
								
								Thumb2 assembly parsing and encoding for LDRBT.  
							
							 
							
							... 
							
							
							
							llvm-svn: 139267 
							
						 
						
							2011-09-07 23:39:14 +00:00  
						
					 
				
					
						
							
							
								 
								Jim Grosbach
							
						 
						
							 
							
							
							
							
								
							
							
								e0ebc1c396 
								
							 
						 
						
							
							
								
								Thumb2 assembly parsing and encoding for LDR(register).  
							
							 
							
							... 
							
							
							
							llvm-svn: 139264 
							
						 
						
							2011-09-07 23:10:15 +00:00  
						
					 
				
					
						
							
							
								 
								Jim Grosbach
							
						 
						
							 
							
							
							
							
								
							
							
								5bfa8bab06 
								
							 
						 
						
							
							
								
								Thumb2 parsing and encoding for LDR(immediate).  
							
							 
							
							... 
							
							
							
							The immediate offset of the non-writeback i8 form (encoding T4) allows
negative offsets only. The positive offset form of the encoding is the
LDRT instruction. Immediate offsets in the range [0,255] use encoding T3
instead.
llvm-svn: 139254 
							
						 
						
							2011-09-07 20:58:57 +00:00  
						
					 
				
					
						
							
							
								 
								Jim Grosbach
							
						 
						
							 
							
							
							
							
								
							
							
								a31f223af8 
								
							 
						 
						
							
							
								
								Thumb2 parsing and encoding for LDMIA.  
							
							 
							
							... 
							
							
							
							Choose 32-bit vs. 16-bit encoding when there's no .w suffix in post-processing
as match classes are insufficient to handle the context-sensitiveness of
the writeback operand's legality for the 16-bit encodings.
llvm-svn: 139242 
							
						 
						
							2011-09-07 18:05:34 +00:00  
						
					 
				
					
						
							
							
								 
								Jim Grosbach
							
						 
						
							 
							
							
							
							
								
							
							
								39c6e1d66d 
								
							 
						 
						
							
							
								
								Better diagnostic location information for mnemonic suffices.  
							
							 
							
							... 
							
							
							
							llvm-svn: 139232 
							
						 
						
							2011-09-07 16:06:04 +00:00  
						
					 
				
					
						
							
							
								 
								Jim Grosbach
							
						 
						
							 
							
							
							
							
								
							
							
								803898f119 
								
							 
						 
						
							
							
								
								Thumb2 parsing and encoding for CLREX.  
							
							 
							
							... 
							
							
							
							llvm-svn: 139172 
							
						 
						
							2011-09-06 20:27:04 +00:00  
						
					 
				
					
						
							
							
								 
								Jim Grosbach
							
						 
						
							 
							
							
							
							
								
							
							
								f471ac3c72 
								
							 
						 
						
							
							
								
								ARM .code directive should always go to the streamer.  
							
							 
							
							... 
							
							
							
							Even if there's no mode switch performed, the .code directive should still
be sent to the output streamer. Otherwise, for example, an output asm stream
is not equivalent to the input stream which generated it (a dependency on
the input target triple arm vs. thumb is introduced which was not originally
there).
llvm-svn: 139155 
							
						 
						
							2011-09-06 18:46:23 +00:00  
						
					 
				
					
						
							
							
								 
								Jim Grosbach
							
						 
						
							 
							
							
							
							
								
							
							
								a0d34d3b5e 
								
							 
						 
						
							
							
								
								Thumb2 parsing and encoding of B instruction.  
							
							 
							
							... 
							
							
							
							Tweak handling of IT blocks a bit to enable this. The differentiation between
B and Bcc needs special sauce.
llvm-svn: 139049 
							
						 
						
							2011-09-02 23:22:08 +00:00  
						
					 
				
					
						
							
							
								 
								Jim Grosbach
							
						 
						
							 
							
							
							
							
								
							
							
								f6d5d60f99 
								
							 
						 
						
							
							
								
								ARM 'rscs' mnemonic is carry-setting 'rsc', not 'rs' with a 'cs' condition code.  
							
							 
							
							... 
							
							
							
							llvm-svn: 138952 
							
						 
						
							2011-09-01 18:22:13 +00:00  
						
					 
				
					
						
							
							
								 
								Owen Anderson
							
						 
						
							 
							
							
							
							
								
							
							
								35d240f9e8 
								
							 
						 
						
							
							
								
								t2Bcc is allowed to have a predicate without a preceding IT instruction.  
							
							 
							
							... 
							
							
							
							llvm-svn: 138946 
							
						 
						
							2011-09-01 17:47:45 +00:00  
						
					 
				
					
						
							
							
								 
								Jim Grosbach
							
						 
						
							 
							
							
							
							
								
							
							
								1d3c137839 
								
							 
						 
						
							
							
								
								Thumb2 assembly parsing and encoding for ADD(immediate).  
							
							 
							
							... 
							
							
							
							llvm-svn: 138922 
							
						 
						
							2011-09-01 00:28:52 +00:00  
						
					 
				
					
						
							
							
								 
								Jim Grosbach
							
						 
						
							 
							
							
							
							
								
							
							
								99bc84662f 
								
							 
						 
						
							
							
								
								Thumb2 t2Bcc should encode as t2B when condition is 'always'.  
							
							 
							
							... 
							
							
							
							llvm-svn: 138898 
							
						 
						
							2011-08-31 21:17:31 +00:00  
						
					 
				
					
						
							
							
								 
								Jim Grosbach
							
						 
						
							 
							
							
							
							
								
							
							
								cfa9421e16 
								
							 
						 
						
							
							
								
								Remove FIXME. Thumb2 MOV instruction will use separate custom tricks.  
							
							 
							
							... 
							
							
							
							When we want encoding T3 (the wide encoding), we can explicitly check for
that and twiddle the CanAcceptCarrySet accordingly. For now, just correctly
handle encodings T1 and T2 when in Thumb2 mode.
llvm-svn: 138879 
							
						 
						
							2011-08-31 18:39:39 +00:00  
						
					 
				
					
						
							
							
								 
								Jim Grosbach
							
						 
						
							 
							
							
							
							
								
							
							
								c61fc8f301 
								
							 
						 
						
							
							
								
								tBcc is OK to be predicated in Thumb2 outside of IT blocks (obviously).  
							
							 
							
							... 
							
							
							
							llvm-svn: 138873 
							
						 
						
							2011-08-31 18:29:05 +00:00  
						
					 
				
					
						
							
							
								 
								Jim Grosbach
							
						 
						
							 
							
							
							
							
								
							
							
								6d606fbe14 
								
							 
						 
						
							
							
								
								Tweak Thumb1 ADD encoding selection a bit.  
							
							 
							
							... 
							
							
							
							When the destination register of an add immediate instruction is
explicitly specified, encoding T1 is preferred, else encoding T2 is
preferred.
llvm-svn: 138862 
							
						 
						
							2011-08-31 17:07:33 +00:00  
						
					 
				
					
						
							
							
								 
								Jim Grosbach
							
						 
						
							 
							
							
							
							
								
							
							
								ed16ec4248 
								
							 
						 
						
							
							
								
								Thumb2 parsing and encoding for IT blocks.  
							
							 
							
							... 
							
							
							
							llvm-svn: 138773 
							
						 
						
							2011-08-29 22:24:09 +00:00  
						
					 
				
					
						
							
							
								 
								Owen Anderson
							
						 
						
							 
							
							
							
							
								
							
							
								967674d26c 
								
							 
						 
						
							
							
								
								Improve handling of #-0 offsets for many more pre-indexed addressing modes.  
							
							 
							
							... 
							
							
							
							llvm-svn: 138754 
							
						 
						
							2011-08-29 19:36:44 +00:00  
						
					 
				
					
						
							
							
								 
								Owen Anderson
							
						 
						
							 
							
							
							
							
								
							
							
								f02d98d7c0 
								
							 
						 
						
							
							
								
								Add support for parsing #-0 on non-memory-operand immediate values, and add a testcase that necessitates it.  
							
							 
							
							... 
							
							
							
							llvm-svn: 138739 
							
						 
						
							2011-08-29 17:17:09 +00:00  
						
					 
				
					
						
							
							
								 
								Jim Grosbach
							
						 
						
							 
							
							
							
							
								
							
							
								b9d4e37776 
								
							 
						 
						
							
							
								
								ARM assembly parsing tweak for pldw.  
							
							 
							
							... 
							
							
							
							llvm-svn: 138669 
							
						 
						
							2011-08-26 22:21:51 +00:00  
						
					 
				
					
						
							
							
								 
								Jim Grosbach
							
						 
						
							 
							
							
							
							
								
							
							
								3d1eac85c3 
								
							 
						 
						
							
							
								
								Thumb2 assembler parsing and encoding of IT instruction.  
							
							 
							
							... 
							
							
							
							This handles only the handling of the IT instruction itself, not the
processing and validation of the instructions in the IT block. That's next,
and will include encoding tests for IT itself.
llvm-svn: 138665 
							
						 
						
							2011-08-26 21:43:41 +00:00  
						
					 
				
					
						
							
							
								 
								Owen Anderson
							
						 
						
							 
							
							
							
							
								
							
							
								16d33f36d5 
								
							 
						 
						
							
							
								
								invalid-LDR_PRE-arm.txt was already passing, but for the wrong reasons.  We were failing to specify enough fixed bits of LDR_PRE/LDRB_PRE, resulting in decoding conflicts.  Separate them into immediate vs. register versions, allowing us to specify the necessary fixed bits.  This in turn results in the test being decoded properly, and being rejected as UNPREDICTABLE rather than a hard failure.  
							
							 
							
							... 
							
							
							
							llvm-svn: 138653 
							
						 
						
							2011-08-26 20:43:14 +00:00  
						
					 
				
					
						
							
							
								 
								Jim Grosbach
							
						 
						
							 
							
							
							
							
								
							
							
								1c171b121a 
								
							 
						 
						
							
							
								
								Explicitly disallow predication in Thumb1 assembly.  
							
							 
							
							... 
							
							
							
							llvm-svn: 138562 
							
						 
						
							2011-08-25 17:23:55 +00:00  
						
					 
				
					
						
							
							
								 
								Jim Grosbach
							
						 
						
							 
							
							
							
							
								
							
							
								838ed3af46 
								
							 
						 
						
							
							
								
								Thumb .n mnemonic qualifiers can be ignored for now.  
							
							 
							
							... 
							
							
							
							We'll need to pay attention to them when we start getting more serious about
the details of parsing thumb2 assembly.
llvm-svn: 138500 
							
						 
						
							2011-08-24 22:19:48 +00:00  
						
					 
				
					
						
							
							
								 
								Jim Grosbach
							
						 
						
							 
							
							
							
							
								
							
							
								4b701af908 
								
							 
						 
						
							
							
								
								Thumb parsing and encoding for SUB (SP minu immediate).  
							
							 
							
							... 
							
							
							
							Fix FiXME in test file. Remove FIXME for SUB (SP minus register) since that
form is Thumb2 only.
llvm-svn: 138494 
							
						 
						
							2011-08-24 21:42:27 +00:00  
						
					 
				
					
						
							
							
								 
								Jim Grosbach
							
						 
						
							 
							
							
							
							
								
							
							
								0a0b3071df 
								
							 
						 
						
							
							
								
								Thumb parsing and encoding support for ADD SP instructions.  
							
							 
							
							... 
							
							
							
							Fix the test FIXME and add parsing support for the ADD (SP plus immediate)
and ADD (SP plus register) instruction forms.
llvm-svn: 138488 
							
						 
						
							2011-08-24 21:22:15 +00:00  
						
					 
				
					
						
							
							
								 
								Jim Grosbach
							
						 
						
							 
							
							
							
							
								
							
							
								6ccd79f4d5 
								
							 
						 
						
							
							
								
								Add missing explicit writeback operand to tSTMIA_UPD.  
							
							 
							
							... 
							
							
							
							rdar://10014745
llvm-svn: 138457 
							
						 
						
							2011-08-24 18:19:42 +00:00  
						
					 
				
					
						
							
							
								 
								Evan Cheng
							
						 
						
							 
							
							
							
							
								
							
							
								2bb4035707 
								
							 
						 
						
							
							
								
								Move TargetRegistry and TargetSelect from Target to Support where they belong.  
							
							 
							
							... 
							
							
							
							These are strictly utilities for registering targets and components.
llvm-svn: 138450 
							
						 
						
							2011-08-24 18:08:43 +00:00