c7690ac7ac 
								
							 
						 
						
							
							
								
								Make l/q suffixes on AVX forms of scalar convert instructions consistent with their non-AVX forms.  
							
							... 
							
							
							
							llvm-svn: 160775 
							
						 
						
							2012-07-26 07:48:28 +00:00  
				
					
						
							
							
								 
						
							
								ef479ea854 
								
							 
						 
						
							
							
								
								Add intrinsics, code gen, assembler and disassembler support for the SSE4a extrq and insertq instructions.  
							
							... 
							
							
							
							This required light surgery on the assembler and disassembler
because the instructions use an uncommon encoding. They are
the only two instructions in x86 that use register operands
and two immediates.
llvm-svn: 157634 
							
						 
						
							2012-05-29 19:05:25 +00:00  
				
					
						
							
							
								 
						
							
								7629d63bc4 
								
							 
						 
						
							
							
								
								Add support for AVX enhanced comparison predicates. Patch from Kay Tiong Khoo.  
							
							... 
							
							
							
							llvm-svn: 153935 
							
						 
						
							2012-04-03 05:20:24 +00:00  
				
					
						
							
							
								 
						
							
								6491c8020e 
								
							 
						 
						
							
							
								
								X86 disassembler support for jcxz, jecxz, and jrcxz. Fixes PR11643. Patch by Kay Tiong Khoo.  
							
							... 
							
							
							
							llvm-svn: 151510 
							
						 
						
							2012-02-27 01:54:29 +00:00  
				
					
						
							
							
								 
						
							
								66a3597a4a 
								
							 
						 
						
							
							
								
								Add vmfunc instruction to X86 assembler and disassembler.  
							
							... 
							
							
							
							llvm-svn: 150899 
							
						 
						
							2012-02-19 01:39:49 +00:00  
				
					
						
							
							
								 
						
							
								ed7aa46366 
								
							 
						 
						
							
							
								
								Add X86 assembler and disassembler support for AMD SVM instructions. Original patch by Kay Tiong Khoo. Few tweaks by me for code density and to reduce replication.  
							
							... 
							
							
							
							llvm-svn: 150873 
							
						 
						
							2012-02-18 08:19:49 +00:00  
				
					
						
							
							
								 
						
							
								b05d9e9bea 
								
							 
						 
						
							
							
								
								Add X86 SARX, SHRX, and SHLX instructions.  
							
							... 
							
							
							
							llvm-svn: 142779 
							
						 
						
							2011-10-23 22:18:24 +00:00  
				
					
						
							
							
								 
						
							
								980d59832a 
								
							 
						 
						
							
							
								
								Add X86 RORX instruction  
							
							... 
							
							
							
							llvm-svn: 142741 
							
						 
						
							2011-10-23 07:34:00 +00:00  
				
					
						
							
							
								 
						
							
								e94d277db8 
								
							 
						 
						
							
							
								
								Add X86 MULX instruction for disassembler.  
							
							... 
							
							
							
							llvm-svn: 142738 
							
						 
						
							2011-10-23 00:33:32 +00:00  
				
					
						
							
							
								 
						
							
								ef309c3384 
								
							 
						 
						
							
							
								
								Rename PEXTR to PEXT. Add intrinsics for BMI instructions.  
							
							... 
							
							
							
							llvm-svn: 142480 
							
						 
						
							2011-10-19 07:48:35 +00:00  
				
					
						
							
							
								 
						
							
								96fa597828 
								
							 
						 
						
							
							
								
								Add X86 PEXTR and PDEP instructions.  
							
							... 
							
							
							
							llvm-svn: 142141 
							
						 
						
							2011-10-16 16:50:08 +00:00  
				
					
						
							
							
								 
						
							
								aea148c366 
								
							 
						 
						
							
							
								
								Add X86 BZHI instruction as well as BMI2 feature detection.  
							
							... 
							
							
							
							llvm-svn: 142122 
							
						 
						
							2011-10-16 07:55:05 +00:00  
				
					
						
							
							
								 
						
							
								0ae8d4d738 
								
							 
						 
						
							
							
								
								Add X86 INVPCID instruction. Add 32/64-bit predicates to INVEPT, INVVPID, VMREAD, and VMWRITE to remove hack from X86RecognizableInstr.  
							
							... 
							
							
							
							llvm-svn: 142117 
							
						 
						
							2011-10-16 07:05:40 +00:00  
				
					
						
							
							
								 
						
							
								25ea4e5ad3 
								
							 
						 
						
							
							
								
								Add X86 BEXTR instruction. This instruction uses VEX.vvvv to encode Operand 3 instead of Operand 2 so needs special casing in the disassembler and code emitter. Ultimately, should pass this information from tablegen  
							
							... 
							
							
							
							llvm-svn: 142105 
							
						 
						
							2011-10-16 03:51:13 +00:00  
				
					
						
							
							
								 
						
							
								27ad12539d 
								
							 
						 
						
							
							
								
								Add support for X86 blsr, blsmsk, and blsi instructions. Required extra work because these are the first VEX encoded instructions to use the reg field as an opcode extension.  
							
							... 
							
							
							
							llvm-svn: 142082 
							
						 
						
							2011-10-15 20:46:47 +00:00  
				
					
						
							
							
								 
						
							
								965de2c197 
								
							 
						 
						
							
							
								
								Add X86 ANDN instruction. Including instruction selection.  
							
							... 
							
							
							
							llvm-svn: 141947 
							
						 
						
							2011-10-14 07:06:56 +00:00  
				
					
						
							
							
								 
						
							
								3657fe4b17 
								
							 
						 
						
							
							
								
								Add X86 TZCNT instruction and patterns to select it. Also added core-avx2 processor which is gcc's name for Haswell.  
							
							... 
							
							
							
							llvm-svn: 141939 
							
						 
						
							2011-10-14 03:21:46 +00:00  
				
					
						
							
							
								 
						
							
								063f55ffdd 
								
							 
						 
						
							
							
								
								Revert r141854 because it was causing failures:  
							
							... 
							
							
							
							http://lab.llvm.org:8011/builders/llvm-x86_64-linux/builds/101 
--- Reverse-merging r141854 into '.':
U    test/MC/Disassembler/X86/x86-32.txt
U    test/MC/Disassembler/X86/simple-tests.txt
D    test/CodeGen/X86/bmi.ll
U    lib/Target/X86/X86InstrInfo.td
U    lib/Target/X86/X86ISelLowering.cpp
U    lib/Target/X86/X86.td
U    lib/Target/X86/X86Subtarget.h
llvm-svn: 141857 
						
							2011-10-13 07:48:07 +00:00  
				
					
						
							
							
								 
						
							
								8cc9388073 
								
							 
						 
						
							
							
								
								Add X86 TZCNT instruction and patterns to select it. Also added core-avx2 processor which is gcc's name for Haswell.  
							
							... 
							
							
							
							llvm-svn: 141854 
							
						 
						
							2011-10-13 07:09:14 +00:00  
				
					
						
							
							
								 
						
							
								271064e873 
								
							 
						 
						
							
							
								
								Add X86 LZCNT instruction. Including instruction selection support.  
							
							... 
							
							
							
							llvm-svn: 141651 
							
						 
						
							2011-10-11 06:44:02 +00:00  
				
					
						
							
							
								 
						
							
								a697852386 
								
							 
						 
						
							
							
								
								Fix disassembling of popcntw. Also remove some code that says it accounts for 64BIT_REXW_XD not existing, but it does exist.  
							
							... 
							
							
							
							llvm-svn: 141642 
							
						 
						
							2011-10-11 04:34:23 +00:00  
				
					
						
							
							
								 
						
							
								fe9179fa4f 
								
							 
						 
						
							
							
								
								Add Ivy Bridge 16-bit floating point conversion instructions for the X86 disassembler.  
							
							... 
							
							
							
							llvm-svn: 141505 
							
						 
						
							2011-10-09 07:31:39 +00:00  
				
					
						
							
							
								 
						
							
								bf136764ae 
								
							 
						 
						
							
							
								
								Add X86 disassembler support for XSAVE, XRSTOR, and XSAVEOPT.  
							
							... 
							
							
							
							llvm-svn: 141354 
							
						 
						
							2011-10-07 05:53:50 +00:00  
				
					
						
							
							
								 
						
							
								f18c896337 
								
							 
						 
						
							
							
								
								Add support in the disassembler for ignoring the L-bit on certain VEX instructions. Mark instructions that have this behavior. Fixes PR10676.  
							
							... 
							
							
							
							llvm-svn: 141065 
							
						 
						
							2011-10-04 06:30:42 +00:00  
				
					
						
							
							
								 
						
							
								786bdb9e14 
								
							 
						 
						
							
							
								
								Add support for MOVBE and RDRAND instructions for the assembler and disassembler. Includes feature flag checking, but no instrinsic support. Fixes PR10832, PR11026 and PR11027.  
							
							... 
							
							
							
							llvm-svn: 141007 
							
						 
						
							2011-10-03 17:28:23 +00:00  
				
					
						
							
							
								 
						
							
								0d0be47d03 
								
							 
						 
						
							
							
								
								Treat VEX.vvvv as a 3-bit field outside of 64-bit mode. Prevents access to registers xmm8-xmm15 outside 64-bit mode.  
							
							... 
							
							
							
							llvm-svn: 140997 
							
						 
						
							2011-10-03 08:14:29 +00:00  
				
					
						
							
							
								 
						
							
								285bc34089 
								
							 
						 
						
							
							
								
								Test updates that were supposed to go with r140993.  
							
							... 
							
							
							
							llvm-svn: 140994 
							
						 
						
							2011-10-03 07:53:59 +00:00  
				
					
						
							
							
								 
						
							
								7aea69d949 
								
							 
						 
						
							
							
								
								Fix some Intel syntax disassembly issues with instructions that implicitly use AL/AX/EAX/RAX such as ADD/SUB/ADC/SUBB/XOR/OR/AND/CMP/MOV/TEST.  
							
							... 
							
							
							
							llvm-svn: 140974 
							
						 
						
							2011-10-02 21:08:12 +00:00  
				
					
						
							
							
								 
						
							
								d07a59f288 
								
							 
						 
						
							
							
								
								Fix disassembling of INVEPT and INVVPID to take operands  
							
							... 
							
							
							
							llvm-svn: 140955 
							
						 
						
							2011-10-01 21:20:14 +00:00  
				
					
						
							
							
								 
						
							
								88cb33e0d4 
								
							 
						 
						
							
							
								
								Fix disassembler handling of CRC32 which is an odd instruction that uses 0xf2 as an opcode extension and allows the opsize prefix. This necessitated adding IC_XD_OPSIZE and IC_64BIT_XD_OPSIZE contexts. Unfortunately, this increases the size of the disassembler tables. Fixes PR10702.  
							
							... 
							
							
							
							llvm-svn: 140954 
							
						 
						
							2011-10-01 19:54:56 +00:00  
				
					
						
							
							
								 
						
							
								45faba98b4 
								
							 
						 
						
							
							
								
								Fix VEX decoding in i386 mode. Fixes PR11008.  
							
							... 
							
							
							
							llvm-svn: 140515 
							
						 
						
							2011-09-26 05:12:43 +00:00  
				
					
						
							
							
								 
						
							
								54e09b4799 
								
							 
						 
						
							
							
								
								Fix the disassembly of the X86 "crc32w %ax, %eax" instruction. Bug 10702.  
							
							... 
							
							
							
							llvm-svn: 139014 
							
						 
						
							2011-09-02 18:03:03 +00:00  
				
					
						
							
							
								 
						
							
								7e2489a7c9 
								
							 
						 
						
							
							
								
								Fix the disassembly of the X86 crc32 instruction.  Bug 10702 and rdar://8795217  
							
							... 
							
							
							
							llvm-svn: 138771 
							
						 
						
							2011-08-29 22:06:28 +00:00  
				
					
						
							
							
								 
						
							
								0318036c4d 
								
							 
						 
						
							
							
								
								Make the disassembler able to disassemble a bunch of instructions with names in the TableGen files containing "64" on x86-32.  This includes a bunch of x87 instructions, like fld, and a bunch of SSSE3 instructions on MMX registers like pshufb.  Part of PR8873.  
							
							... 
							
							
							
							llvm-svn: 135337 
							
						 
						
							2011-07-16 02:41:28 +00:00