- Jul 24, 2013
-
-
Craig Topper authored
Fix aliases for shrd/shld to handle Intel syntax properly. Also suppress them from being used by the asm printer. llvm-svn: 187020
-
- Jul 23, 2013
-
-
Craig Topper authored
llvm-svn: 186924
-
Craig Topper authored
llvm-svn: 186910
-
Craig Topper authored
llvm-svn: 186907
-
Craig Topper authored
This makes them consistent with 'bt' which already had this handling. gas has the same behavior. There have been discussions on the mailing list about determining size based on the immediate, but my goal here was just to remove the inconsistency. llvm-svn: 186904
-
Craig Topper authored
It only didn't use it before because it seems InstAlias handling in the asm printer fails to count tied operands so it tried to find an xor with 2 operands instead of the 3 it wfails to count tied. llvm-svn: 186900
-
Craig Topper authored
Suppress argumentless aliases for some x86 FP operations from being used by the asm writer. Prefer to use the explicit %st(1) form. llvm-svn: 186897
-
- Jul 22, 2013
-
-
Kevin Enderby authored
absolute address encoded in the instruction. rdar://8612627 and rdar://14299221 llvm-svn: 186878
-
Craig Topper authored
Recommit r186813: More Intel syntax alias fixes. With the addition of suppressing some of the aliases from being emitted by the asm printer. llvm-svn: 186869
-
Tim Northover authored
This reverts commit r186813, which broke the bots. llvm-svn: 186818
-
Craig Topper authored
llvm-svn: 186814
-
Craig Topper authored
llvm-svn: 186813
-
Craig Topper authored
llvm-svn: 186811
-
Craig Topper authored
llvm-svn: 186809
-
- Jun 30, 2013
-
-
Ahmed Bougacha authored
llvm-svn: 185292
-
- Jun 13, 2013
-
-
Benjamin Kramer authored
llvm-svn: 183907
-
- Jun 10, 2013
-
-
Tim Northover authored
Previously LEA64_32r went through virtually the entire backend thinking it was using 32-bit registers until its blissful illusions were cruelly snatched away by MCInstLower and 64-bit equivalents were substituted at the last minute. This patch makes it behave normally, and take 64-bit registers as sources all the way through. Previous uses (for 32-bit arithmetic) are accommodated via SUBREG_TO_REG instructions which make the types and classes agree properly. llvm-svn: 183693
-
- Jun 01, 2013
-
-
Tim Northover authored
Very sorry, it was committed from the wrong branch by mistake. llvm-svn: 183070
-
Tim Northover authored
llvm-svn: 183069
-
- May 10, 2013
-
-
Chad Rosier authored
The issue was that the MatchingInlineAsm and VariantID args to the MatchInstructionImpl function weren't being set properly. Specifically, when parsing intel syntax, the parser thought it was parsing inline assembly in the at&t dialect; that will never be the case. The crash was caused when the emitter tried to emit the instruction, but the operands weren't set. When parsing inline assembly we only set the opcode, not the operands, which is used to lookup the instruction descriptor. rdar://13854391 and PR15945 Also, this commit reverts r176036. Now that we're correctly parsing the intel syntax the pushad/popad don't match properly. I've reimplemented that fix using a MnemonicAlias. llvm-svn: 181620
-
- Apr 19, 2013
-
-
Chad Rosier authored
AT&T dialect. Test case for r179804 as well. rdar://13674398 and PR13340. llvm-svn: 179813
-
Chad Rosier authored
variant/dialect. Addresses a FIXME in the emitMnemonicAliases function. Use and test case to come shortly. rdar://13688439 and part of PR13340. llvm-svn: 179804
-
- Mar 29, 2013
-
-
Michael Liao authored
llvm-svn: 178314
-
Michael Liao authored
To enable a load of a call address to be folded with that call, this load is moved from outside of callseq into callseq. Such a moving adds a non-glued node (that load) into a glued sequence. This non-glue load is only removed when DAG selection folds them into a memory form call instruction. When such instruction selection is disabled, it breaks DAG schedule. To prevent that, such moving is disabled when target favors register indirect call. Previous workaround disabling CALL32m/CALL64m insn selection is removed. llvm-svn: 178308
-
- Mar 26, 2013
-
-
Michael Liao authored
llvm-svn: 178083
-
Michael Liao authored
llvm-svn: 178082
-
Jakob Stoklund Olesen authored
llvm-svn: 178048
-
Michael Liao authored
- Add 'PRFCHW' feature defined in AVX2 ISA extension llvm-svn: 178040
-
- Mar 21, 2013
-
-
Jakob Stoklund Olesen authored
llvm-svn: 177611
-
- Mar 19, 2013
-
-
Jakob Stoklund Olesen authored
llvm-svn: 177417
-
- Feb 25, 2013
-
-
Chad Rosier authored
rdar://13254235 llvm-svn: 176036
-
- Feb 14, 2013
-
-
Kay Tiong Khoo authored
-feature flag, instructions definitions, test cases llvm-svn: 175196
-
- Feb 01, 2013
-
-
David Sehr authored
1) allows the use of RIP-relative addressing in 32-bit LEA instructions under x86-64 (ILP32 and LP64) 2) separates the size of address registers in 64-bit LEA instructions from control by ILP32/LP64. llvm-svn: 174208
-
- Jan 07, 2013
-
-
Craig Topper authored
llvm-svn: 171696
-
- Jan 02, 2013
-
-
Kevin Enderby authored
Patch by Michael M Kuperstein! llvm-svn: 171414
-
- Dec 27, 2012
-
-
Craig Topper authored
Add mayLoad, mayStore, and hasSideEffects tags to BT/BTS/BTR/BTC instructions. Shouldn't change any functionality since they don't have patterns to select them. llvm-svn: 171128
-
Craig Topper authored
Fix operands and encoding form for ARPL instruction. Register form had and reversed. Memory form writes memory, but was marked as MRMSrcMem. llvm-svn: 171123
-
- Dec 26, 2012
-
-
Craig Topper authored
Mark all the _REV instructions as not having side effects. They aren't really emitted by the backend, but it reduces the number of instructions in the output files with unmodelled side effects to make auditing easier. llvm-svn: 171118
-
- Dec 17, 2012
-
-
Craig Topper authored
Remove EFLAGS from the BLSI/BLSMSK/BLSR patterns. The nodes created by DAG combine don't contain an EFLAGS def. llvm-svn: 170308
-
- Nov 14, 2012
-
-
Jim Grosbach authored
When an instruction as written requires 32-bit mode and we're assembling in 64-bit mode, or vice-versa, issue a more specific diagnostic about what's wrong. rdar://12700702 llvm-svn: 167937
-