| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
|
|
| |
incompatible with GCC.
I moved a test from avx512-vbroadcast-crash.ll to avx512-vbroadcast.ll
I defined HasAVX512 predicate as AssemblerPredicate. It means that you should invoke llvm-mc with "-mcpu=knl" to get encoding for AVX-512 instructions. I need this to let AsmMatcher to set different encoding for AVX and AVX-512 instructions that have the same mnemonic and operands (all scalar instructions).
llvm-svn: 197041
|
|
|
|
|
|
|
|
|
| |
bulldozer and piledriver. Support for the instruction itself seems to have
already been added in r178040.
Differential Revision: http://llvm-reviews.chandlerc.com/D1933
llvm-svn: 192828
|
|
|
|
|
|
| |
instructions to parse either GR32 or GR64 without resorting to duplicating instructions.
llvm-svn: 192567
|
|
|
|
| |
llvm-svn: 192283
|
|
|
|
|
|
| |
instruction naming.
llvm-svn: 192040
|
|
|
|
|
|
| |
are sufficient.
llvm-svn: 192039
|
|
|
|
|
|
| |
(sub -2, x).
llvm-svn: 192037
|
|
|
|
| |
llvm-svn: 191874
|
|
|
|
|
|
| |
from Yunzhong Gao.
llvm-svn: 191871
|
|
|
|
| |
llvm-svn: 191728
|
|
|
|
|
|
| |
Phabricator code review is located here: http://llvm-reviews.chandlerc.com/D1750
llvm-svn: 191539
|
|
|
|
|
|
|
|
|
|
|
| |
Implements Instruction scheduler latencies for Silvermont,
using latencies from the Intel Silvermont Optimization Guide.
Auto detects SLM.
Turns on post RA scheduler when generating code for SLM.
llvm-svn: 190717
|
|
|
|
|
|
|
|
|
| |
Add basic assembly/disassembly support for the first Intel SHA
instruction 'sha1rnds4'. Also includes feature flag, and test cases.
Support for the remaining instructions will follow in a separate patch.
llvm-svn: 190611
|
|
|
|
| |
llvm-svn: 190259
|
|
|
|
|
|
| |
Fixes PR17028.
llvm-svn: 189742
|
|
|
|
| |
llvm-svn: 189656
|
|
|
|
| |
llvm-svn: 189654
|
|
|
|
|
|
| |
Y), -1)). Fixes PR17038.
llvm-svn: 189653
|
|
|
|
|
|
| |
overrides to remove forwarding in the X86AsmParser code itself. No functional change.
llvm-svn: 189205
|
|
|
|
|
|
| |
existing functions.
llvm-svn: 189204
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
memory offset instructions.
-Assembly parser now properly check the size of the memory operation specified in intel syntax. So 'mov word ptr [5], al' is no longer accepted.
-x86-32 disassembly of these instructions no longer sign extends the 32-bit address immediate based on size.
-Intel syntax printing prints the ptr size and places brackets around the address immediate.
Known remaining issues with these instructions:
-Segment override prefix is not supported. PR16962 and PR16961.
-Immediate size should be changed by address size prefix.
llvm-svn: 189201
|
|
|
|
|
|
| |
moffs8/moffs16/moffs32/moffs64 versions of move.
llvm-svn: 189182
|
|
|
|
| |
llvm-svn: 189178
|
|
|
|
|
|
|
|
|
| |
All insertf*/extractf* functions replaced with insert/extract since we have insertf and inserti forms.
Added lowering for INSERT_VECTOR_ELT / EXTRACT_VECTOR_ELT for 512-bit vectors.
Added lowering for EXTRACT/INSERT subvector for 512-bit vectors.
Added a test.
llvm-svn: 187491
|
|
|
|
|
|
|
|
| |
Intel X86 assembler syntax.
Patch by Richard Mitton.
llvm-svn: 187476
|
|
|
|
|
|
| |
Patch by Richard Mitton.
llvm-svn: 187471
|
|
|
|
|
|
|
| |
Added 512-bit operands printing.
Added instruction formats for KNL instructions.
llvm-svn: 187324
|
|
|
|
|
|
| |
in a subsequent patch.
llvm-svn: 187187
|
|
|
|
|
|
| |
them from being used by the asm printer.
llvm-svn: 187020
|
|
|
|
|
|
| |
normal movsl instead.
llvm-svn: 186924
|
|
|
|
| |
llvm-svn: 186910
|
|
|
|
|
|
| |
normal movsl instead.
llvm-svn: 186907
|
|
|
|
|
|
|
|
| |
to their 32-bit forms.
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
|
|
|
|
|
|
|
|
| |
%reg.
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
|
|
|
|
|
|
| |
the asm writer. Prefer to use the explicit %st(1) form.
llvm-svn: 186897
|
|
|
|
|
|
|
|
| |
absolute address encoded in the instruction.
rdar://8612627 and rdar://14299221
llvm-svn: 186878
|
|
|
|
|
|
| |
suppressing some of the aliases from being emitted by the asm printer.
llvm-svn: 186869
|
|
|
|
|
|
| |
This reverts commit r186813, which broke the bots.
llvm-svn: 186818
|
|
|
|
| |
llvm-svn: 186814
|
|
|
|
| |
llvm-svn: 186813
|
|
|
|
| |
llvm-svn: 186811
|
|
|
|
| |
llvm-svn: 186809
|
|
|
|
| |
llvm-svn: 185292
|
|
|
|
| |
llvm-svn: 183907
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
Very sorry, it was committed from the wrong branch by mistake.
llvm-svn: 183070
|
|
|
|
| |
llvm-svn: 183069
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
AT&T dialect. Test case for r179804 as well.
rdar://13674398 and PR13340.
llvm-svn: 179813
|
|
|
|
|
|
|
|
| |
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
|