| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
| |
llvm-svn: 118332
|
|
|
|
|
|
| |
tidy up the movsx and movzx aliases.
llvm-svn: 118331
|
|
|
|
|
|
| |
from c++ hacks to proper .td InstAlias definitions. Change them!
llvm-svn: 118330
|
|
|
|
|
|
| |
from X86AsmParser.cpp
llvm-svn: 117952
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
aliases installed and working. They now work when the
matched pattern and the result instruction have exactly
the same operand list.
This is now enough for us to define proper aliases for
movzx and movsx, implementing rdar://8017633 and PR7459.
Note that we do not accept instructions like:
movzx 0(%rsp), %rsi
GAS accepts this instruction, but it doesn't make any
sense because we don't know the size of the memory
operand. It could be 8/16/32 bits.
llvm-svn: 117901
|
|
|
|
|
|
|
|
|
|
|
| |
directives, allowing things like this:
def : MnemonicAlias<"pop", "popl">, Requires<[In32BitMode]>;
def : MnemonicAlias<"pop", "popq">, Requires<[In64BitMode]>;
Move the rest of the X86 MnemonicAliases over to the .td file.
llvm-svn: 117830
|
|
|
|
| |
llvm-svn: 117824
|
|
|
|
| |
llvm-svn: 117823
|
|
|
|
| |
llvm-svn: 117822
|
|
|
|
| |
llvm-svn: 117821
|
|
|
|
|
|
| |
for shl. Caught by inspection.
llvm-svn: 117820
|
|
|
|
| |
llvm-svn: 117819
|
|
|
|
| |
llvm-svn: 117818
|
|
|
|
| |
llvm-svn: 117817
|
|
|
|
| |
llvm-svn: 117816
|
|
|
|
|
|
|
| |
just remaps one mnemonic to another. Convert a few of the X86 aliases
from .cpp to .td code.
llvm-svn: 117815
|
|
|
|
| |
llvm-svn: 117773
|
|
|
|
|
|
| |
(still to add ud2b).
llvm-svn: 117435
|
|
|
|
|
|
| |
the wait prefix).
llvm-svn: 117434
|
|
|
|
|
|
|
|
|
| |
sense, when the instruction takes the 16-bit ax register or m16 memory
location. These changes to llvm-mc matches what the darwin assembler
allows for these instructions. Done differently than in r117031 that
caused a valgrind error which was later reverted.
llvm-svn: 117433
|
|
|
|
|
|
|
| |
will accept versions that the darwin assembler allows. Forms ending in "pi" and
forms without all the operands.
llvm-svn: 117427
|
|
|
|
|
|
|
| |
It doesn't look like anything is wrong with the checkin,
but the new test cases expose a mem bug in AsmParser.
llvm-svn: 117087
|
|
|
|
|
|
|
|
|
| |
sense, when the instruction takes the 16-bit ax register or m16 memory
location. These changes to llvm-mc matches what the darwin assembler allows
for these instructions. Also added the missing flex (without the wait prefix)
and ud2a as an alias to ud2 (still to add ud2b).
llvm-svn: 117031
|
|
|
|
|
|
|
| |
word forms and suffixed versions to match the darwin assembler in 32-bit and
64-bit modes. This is again for use just with assembly source for llvm-mc .
llvm-svn: 116773
|
|
|
|
|
|
|
|
|
|
| |
be more complete. These are only expected to be used by llvm-mc with assembly
source so there is no pattern, [], in the .td files. Most are being added to
X86InstrInfo.td as Chris suggested and only comments about register uses are
added. Suggestions welcome on the .td changes as I'm not sure on every detail
of the x86 records. More missing instructions will be coming.
llvm-svn: 116716
|
|
|
|
| |
llvm-svn: 116149
|
|
|
|
|
|
| |
gross hack (having the asmmatcher handle the alias).
llvm-svn: 115685
|
|
|
|
| |
llvm-svn: 115311
|
|
|
|
| |
llvm-svn: 115168
|
|
|
|
| |
llvm-svn: 115156
|
|
|
|
| |
llvm-svn: 115154
|
|
|
|
|
|
| |
instructions.
llvm-svn: 115061
|
|
|
|
|
|
| |
an instruction that requires a WHOLE NEW wonderful kind of alias.
llvm-svn: 115015
|
|
|
|
|
|
|
| |
MCStreamer to emit into instead of an MCInst to fill in. This allows the
matcher extra flexibility and is more convenient.
llvm-svn: 115014
|
|
|
|
| |
llvm-svn: 114822
|
|
|
|
| |
llvm-svn: 114821
|
|
|
|
| |
llvm-svn: 114819
|
|
|
|
|
|
|
|
| |
My previous fix for rdar://8456371 should only apply to fmulp/faddp,
not to fmul/fadd. Instruction set orthogonality is overrated or
something.
llvm-svn: 114818
|
|
|
|
|
|
| |
but balrog was wanting it on irc.
llvm-svn: 114809
|
|
|
|
| |
llvm-svn: 114536
|
|
|
|
|
|
|
|
|
|
|
|
| |
x86-32: 32-bit calls were named "call" not "calll". 64-bit calls were correctly
named "callq", so this only impacted x86-32.
This fixes rdar://8456370 - llvm-mc rejects 'calll'
This also exposes that mingw/64 is generating a 32-bit call instead of a 64-bit call,
I will file a bugzilla.
llvm-svn: 114534
|
|
|
|
| |
llvm-svn: 114531
|
|
|
|
| |
llvm-svn: 114528
|
|
|
|
|
|
|
|
|
| |
-This line, and those below, will be ignored--
M test/MC/AsmParser/X86/x86_instructions.s
M lib/Target/X86/AsmParser/X86AsmParser.cpp
llvm-svn: 114527
|
|
|
|
| |
llvm-svn: 114526
|
|
|
|
| |
llvm-svn: 114116
|
|
|
|
|
|
| |
wraps up r8418316
llvm-svn: 113949
|
|
|
|
|
|
| |
for call. Add this.
llvm-svn: 113948
|
|
|
|
|
|
| |
even in 64-bit mode apparently.
llvm-svn: 113945
|
|
|
|
| |
llvm-svn: 113937
|