- Apr 03, 2012
-
-
Craig Topper authored
llvm-svn: 153935
-
- Mar 06, 2012
-
-
Eli Friedman authored
llvm-svn: 152136
-
- Mar 05, 2012
-
-
Eli Friedman authored
llvm-svn: 152014
-
- Feb 27, 2012
-
-
Chad Rosier authored
rdar://10921670 PR11935 llvm-svn: 151543
-
- Feb 24, 2012
-
-
Michael J. Spencer authored
used by the Win32 _ftol2 runtime function. Patch by Joe Groff! llvm-svn: 151382
-
- Feb 18, 2012
-
-
Jia Liu authored
Emacs-tag and some comment fix for all ARM, CellSPU, Hexagon, MBlaze, MSP430, PPC, PTX, Sparc, X86, XCore. llvm-svn: 150878
-
Craig Topper authored
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
-
- Feb 16, 2012
-
-
Jakob Stoklund Olesen authored
The different calling conventions and call-preserved registers are represented with regmask operands that are added dynamically. llvm-svn: 150708
-
- Jan 17, 2012
-
-
Devang Patel authored
llvm-svn: 148338
-
- Jan 16, 2012
-
-
Eli Friedman authored
llvm-svn: 148239
-
- Jan 12, 2012
-
-
Devang Patel authored
In att style asm syntax memory operand size is derived from suffix attached with mnemonic. In intel style asm syntax it is part of memory operand hence predicate method check is required to select appropriate instruction. llvm-svn: 148006
-
- Jan 10, 2012
-
-
Craig Topper authored
Instruction selection priority fixes to remove the XMM/XMMInt/orAVX predicates. Another commit will remove orAVX functions from X86SubTarget. llvm-svn: 147841
-
- Jan 09, 2012
-
-
Craig Topper authored
Don't disable MMX support when AVX is enabled. Fix predicates for MMX instructions that were added along with SSE instructions to check for AVX in addition to SSE level. llvm-svn: 147762
-
- Jan 01, 2012
-
-
Craig Topper authored
llvm-svn: 147411
-
Craig Topper authored
Fix sfence, lfence, mfence, and clflush to be able to be selected when AVX is enabled. Fix monitor and mwait to require SSE3 or AVX, previously they worked even if SSE3 was disabled. Make prefetch instructions not set the execution domain since they don't use XMM registers. llvm-svn: 147409
-
- Dec 12, 2011
-
-
Jan Sjödin authored
llvm-svn: 146407
-
- Dec 09, 2011
-
-
Evan Cheng authored
llvm-svn: 146246
-
- Dec 08, 2011
-
-
Evan Cheng authored
Many of the SSE patterns should not be selected when AVX is available. This led to the following code in X86Subtarget.cpp if (HasAVX) X86SSELevel = NoMMXSSE; This is so patterns that are predicated on hasSSE3, etc. would not be selected when avx is available. Instead, the AVX variant is selected. However, this breaks instructions which do not have AVX variants. The right way to fix this is for the SSE but not-AVX patterns to predicate on something like hasSSE3() && !hasAVX(). Then we can take out the hack in X86Subtarget.cpp. Patterns which do not have AVX variants do not need to change. However, we need to audit all the patterns before we make the change. This patch is workaround that fixes one specific case, the prefetch instructions. rdar://10538297 llvm-svn: 146163
-
- Nov 29, 2011
-
-
Jakob Stoklund Olesen authored
Like V_SET0, these instructions are expanded by ExpandPostRA to xorps / vxorps so they can participate in execution domain swizzling. This also makes the AVX variants redundant. llvm-svn: 145440
-
- Nov 24, 2011
-
-
Benjamin Kramer authored
llvm-svn: 145121
-
- Oct 30, 2011
-
-
Craig Topper authored
llvm-svn: 143319
-
- Oct 27, 2011
-
-
Kevin Enderby authored
not depend on In32BitMode. Use the sysexitq mnemonic for the version with the REX.W prefix and only allow it only In64BitMode. rdar://9738584 llvm-svn: 143112
-
- Oct 21, 2011
-
-
Craig Topper authored
Remove intrinsics for X86 BLSI, BLSMSK, and BLSR intrinsics and replace with custom isel lowering code. llvm-svn: 142642
-
- Oct 19, 2011
-
-
Craig Topper authored
llvm-svn: 142480
-
- Oct 18, 2011
-
-
David Meyer authored
llvm-svn: 142338
-
- Oct 16, 2011
-
-
Craig Topper authored
llvm-svn: 142141
-
Craig Topper authored
llvm-svn: 142122
-
Craig Topper authored
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
-
- Oct 15, 2011
-
-
Craig Topper authored
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
-
- Oct 14, 2011
-
-
Craig Topper authored
llvm-svn: 141947
-
Craig Topper authored
Add X86 TZCNT instruction and patterns to select it. Also added core-avx2 processor which is gcc's name for Haswell. llvm-svn: 141939
-
Jakob Stoklund Olesen authored
TableGen infers unmodeled side effects on instructions without a pattern. Fix some instruction definitions where that was overlooked. Also raise an error if a rematerializable instruction has unmodeled side effects. That doen't make any sense. llvm-svn: 141929
-
- Oct 13, 2011
-
-
Bill Wendling authored
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
-
Craig Topper authored
Add X86 TZCNT instruction and patterns to select it. Also added core-avx2 processor which is gcc's name for Haswell. llvm-svn: 141854
-
Craig Topper authored
llvm-svn: 141853
-
- Oct 11, 2011
-
-
Craig Topper authored
llvm-svn: 141656
-
Craig Topper authored
llvm-svn: 141651
-
- Oct 10, 2011
-
-
Benjamin Kramer authored
llvm-svn: 141563
-
- Oct 09, 2011
-
-
Craig Topper authored
llvm-svn: 141505
-
- Oct 07, 2011
-
-
Craig Topper authored
Revert part of r141274. Only need to change encoding for xchg %eax, %eax in 64-bit mode. This is because in 64-bit mode xchg %eax, %eax implies zeroing the upper 32-bits of RAX which makes it not a NOP. In 32-bit mode using NOP encoding is fine. llvm-svn: 141353
-