• Home
  • History
  • Annotate
  • only in /external/llvm/test/MC/AsmParser/
History log of /external/llvm/test/MC/AsmParser/
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
cd81d94322a39503e4a3e87b6ee03d4fcb3465fb 21-Jul-2014 Stephen Hines <srhines@google.com> Update LLVM for rebase to r212749.

Includes a cherry-pick of:
r212948 - fixes a small issue with atomic calls

Change-Id: Ib97bd980b59f18142a69506400911a6009d9df18
fi-invalid-startproc.s
onditional_asm.s
irective_file.s
irective_line.s
irective_loc.s
irective_seh.s
f-diagnostics.s
it.local.cfg
ararg.s
dce4a407a24b04eebc6a376f8e62b41aaa7b071f 29-May-2014 Stephen Hines <srhines@google.com> Update LLVM for 3.5 rebase (r209712).

Change-Id: I149556c940fb7dc92d075273c87ff584f400941f
fi-invalid-startproc.s
irective_seh.s
nvalid-input-assertion.s
acros-darwin-vararg.s
ararg-default-value.s
ararg.s
36b56886974eae4f9c5ebc96befd3e7bfe5de338 24-Apr-2014 Stephen Hines <srhines@google.com> Update to LLVM 3.5a.

Change-Id: Ifadecab779f128e62e430c2b4f6ddd84953ed617
onditional_asm.s
irective-err-diagnostics.s
irective-err.s
irective_end-2.s
irective_end.s
irective_fill.s
irective_loc.s
irective_rept-diagnostics.s
irective_rept.s
irective_values.s
ot-symbol-assignment-backwards.s
ot-symbol-assignment.s
ot-symbol-non-absolute.s
ot-symbol.s
xprs.s
fc.s
feqs-diagnostics.s
feqs.s
acro-def-in-instantiation.s
acro-err1.s
acro-irp.s
acro-qualifier-diagnostics.s
acro-qualifier.s
acros-argument-parsing-diagnostics.s
acros-argument-parsing.s
acros-darwin.s
acros-gas.s
acros.s
deac137da710cd8566b857ee9d1e182d4fd35932 27-Sep-2013 Adrian Prantl <aprantl@apple.com> MCParser/Debug info: Accept line number 0 as a legitimate value, since
CFE produces it to indicate artificial locations.
c.f.: DWARF standard, Table 6.2:
line -- An unsigned integer indicating a source line number. Lines are numbered beginning at 1. The compiler may emit the value 0 in cases where an instruction cannot be attributed to any source line.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@191471 91177308-0d34-0410-b5e6-96231b3b80d8
irective_loc.s
83ba58e5f0a5afbb23d7d2092d817accded4455a 26-Sep-2013 Venkatraman Govindaraju <venkatra@cs.wisc.edu> Implements parsing and emitting of .cfi_window_save in MC.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@191431 91177308-0d34-0410-b5e6-96231b3b80d8
fi-window-save.s
9c60710c8045f6f22151da1271e2d40d1f68bcfd 24-Sep-2013 Roman Divacky <rdivacky@freebsd.org> Make the size and expr arguments of .fill directive optional.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@191318 91177308-0d34-0410-b5e6-96231b3b80d8
irective_fill.s
ed119820f223401b0c64769759eafc46de30a9da 05-Sep-2013 Yunzhong Gao <Yunzhong_Gao@playstation.sony.com> Improve handling of .file, .include and .incbin directives to
allow escaped octal character sequences.

The patch was discussed in Phabricator. See:
http://llvm-reviews.chandlerc.com/D1289



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@190089 91177308-0d34-0410-b5e6-96231b3b80d8
irective_file.s
irective_incbin.s
irective_include.s
24ec2e5a72d7fca58f8ae2b3c01501a9927ef04e 16-Aug-2013 Daniel Dunbar <daniel@zuster.org> [tests] Cleanup initialization of test suffixes.

- Instead of setting the suffixes in a bunch of places, just set one master
list in the top-level config. We now only modify the suffix list in a few
suites that have one particular unique suffix (.ml, .mc, .yaml, .td, .py).

- Aside from removing the need for a bunch of lit.local.cfg files, this enables
4 tests that were inadvertently being skipped (one in
Transforms/BranchFolding, a .s file each in DebugInfo/AArch64 and
CodeGen/PowerPC, and one in CodeGen/SI which is now failing and has been
XFAILED).

- This commit also fixes a bunch of config files to use config.root instead of
older copy-pasted code.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188513 91177308-0d34-0410-b5e6-96231b3b80d8
it.local.cfg
73cd0c844ba6c46ddb94405ee28246f084a13a12 14-Aug-2013 Tim Northover <tnorthover@apple.com> Add test-case for hex floating-literals

Somehow I forgot to test one of the error conditions I'd added.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188372 91177308-0d34-0410-b5e6-96231b3b80d8
loating-literals.s
337439d12d2e2a9e820e0aeee261bbdb935fc0a5 14-Aug-2013 Tim Northover <tnorthover@apple.com> Support C99 hexadecimal floating-point literals in assembly

It's useful to be able to write down floating-point numbers without having to
worry about what they'll be rounded to (as C99 discovered), this extends that
ability to the MC assembly parsers.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188370 91177308-0d34-0410-b5e6-96231b3b80d8
loating-literals.s
f8087419df7153f20ac0d418cdc8ae657f5d2d89 19-Jul-2013 NAKAMURA Takumi <geek4civic@gmail.com> llvm/test/MC/AsmParser/secure_log_unique.s: Use env(1) here. Then r186611 can be reverted.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@186643 91177308-0d34-0410-b5e6-96231b3b80d8
ecure_log_unique.s
9903a2513deba26d2284a5c83822b2043577bf69 18-Jul-2013 Hans Wennborg <hans@hanshq.net> test/MC/AsmParser/secure_log_unique.s requires shell

This should fix the chapuni bots.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@186611 91177308-0d34-0410-b5e6-96231b3b80d8
ecure_log_unique.s
13c9cf1d5158d704546494f4b4851e5c9f09573f 18-Jul-2013 Rafael Espindola <rafael.espindola@gmail.com> Add a test for .secure_log_unique.

It also doubles a test that F_Append works.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@186606 91177308-0d34-0410-b5e6-96231b3b80d8
ecure_log_unique.s
73477b9f32da6488f2883f33fd17fa0de61f2bd1 03-Jul-2013 Rafael Espindola <rafael.espindola@gmail.com> Prefix failing commands with not to make clear they are expected to fail.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185554 91177308-0d34-0410-b5e6-96231b3b80d8
lign_invalid.s
irective_align.s
acros-darwin.s
88535dda9050377cc52dfffa20664484b0bb9f7f 07-May-2013 Kevin Enderby <enderby@apple.com> Fix a bug in the MC asm parser evaluating expressions. It was treating:
A = 9
B = 3 * A - 2 * A + 1 as B = 3 * A - (2 * A + 1)

rdar://13816516


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@181366 91177308-0d34-0410-b5e6-96231b3b80d8
xprs.s
f89da7210b09a0a0f7c9ee216cd54dca03c6b64a 12-Apr-2013 Nico Rieck <nico.rieck@gmail.com> Replace coff-/elf-dump with llvm-readobj

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@179361 91177308-0d34-0410-b5e6-96231b3b80d8
ection.s
ection_names.s
ac67b50fcfaab20829b4bce32cfdce77507f6c72 26-Feb-2013 Jim Grosbach <grosbach@apple.com> AsmParser: More generic support for integer type suffices.

For integer constants, allow 'L', 'UL' as well as 'ULL' and 'LL'. This provides
better support for shared headers between .s and .c files that define bunches
of constant values.

rdar://9321056

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@176118 91177308-0d34-0410-b5e6-96231b3b80d8
irective_values.s
8a89cf233dcb3359c8649febefb4c38246f2acb4 16-Feb-2013 Benjamin Kramer <benny.kra@googlemail.com> MCParser: Reject .balign with non-pow2 alignments.

GNU as rejects them and there are configure scripts in the wild that check if
the assembler rejects ".align 3" to determine whether the alignment is in bytes
or powers of two.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175360 91177308-0d34-0410-b5e6-96231b3b80d8
lign_invalid.s
42edeb1ba8aabcbe0e5cc846d9e5f2a9e2261292 16-Feb-2013 Joerg Sonnenberger <joerg@bec.de> Derive ELF section type from the name in some cases where GNU as does
so.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175327 91177308-0d34-0410-b5e6-96231b3b80d8
ection_names.s
7b6f2034ac355bd3b3cc88960bf8d0e694fe3db4 19-Sep-2012 Preston Gurd <preston.gurd@intel.com> Add support for macro parameters/arguments delimited by spaces,
to improve compatibility with GNU as.

Based on a patch by PaX Team.

Fixed assertion failures on non-Darwin and added additional test cases.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@164248 91177308-0d34-0410-b5e6-96231b3b80d8
acros-darwin.s
acros.s
6c9176aeec549adb4bbdd499664c4304ee151f68 19-Sep-2012 Preston Gurd <preston.gurd@intel.com> Support default parameters/arguments for assembler macros.
This patch is based on the one by PaX Team.

Patch by Andy Zhang!



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@164246 91177308-0d34-0410-b5e6-96231b3b80d8
acro-args.s
6579eea90dfeb7540e37307cc30c8677759c5e4d 19-Sep-2012 Preston Gurd <preston.gurd@intel.com> Enhance unmatched '.endr' directive error message in assembler.
The directive can be matched with directives other than '.rept'

Patch by Andy Zhang!



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@164245 91177308-0d34-0410-b5e6-96231b3b80d8
acro-rept-err1.s
39646d96e76aea5d20bffb386233a0dbb5932a21 07-Sep-2012 Benjamin Kramer <benny.kra@googlemail.com> MC: Overhaul handling of .lcomm

- Darwin lied about not supporting .lcomm and turned it into zerofill in the
asm parser. Push the zerofill-conversion down into macho-specific code.
- This makes the tri-state LCOMMType enum superfluous, there are no targets
without .lcomm.
- Do proper error reporting when trying to use .lcomm with alignment on a target
that doesn't support it.
- .comm and .lcomm alignment was parsed in bytes on COFF, should be power of 2.
- Fixes PR13755 (.lcomm crashes on ELF).

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@163395 91177308-0d34-0410-b5e6-96231b3b80d8
irective_lcomm.s
abels.s
799aacfb27ac51417ad17f4548b9f7743f946e66 21-Aug-2012 Rafael Espindola <rafael.espindola@gmail.com> Fix macros arguments with an underscore, dot or dollar in them. This is based
on a patch by Andy/PaX. I added the support for dot and dollar.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@162298 91177308-0d34-0410-b5e6-96231b3b80d8
acros.s
d7ae0f187635003c385901906fe2cdd95bf13057 21-Aug-2012 Rafael Espindola <rafael.espindola@gmail.com> Make the wording in of the "expected identifier" error in the .macro directive
consistent with the other "expected identifier" errors.
Extracted from the Andy/PaX patch. I added the test.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@162291 91177308-0d34-0410-b5e6-96231b3b80d8
ad-macro.s
9714644a38213d059f3ddced08cfc119ca8a0ab7 31-Jul-2012 Jim Grosbach <grosbach@apple.com> Keep empty assembly macro argument values in the middle of the list.

Empty macro arguments at the end of the list should be as-if not specified at
all, but those in the middle of the list need to be kept so as not to screw
up the positional numbering. E.g.:
.macro foo
foo_-bash___:
nop
.endm

foo 1, 2, 3, 4
foo 1, , 3, 4

Should create two labels, "foo_1_2_3_4" and "foo_1__3_4".

rdar://11948769

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@161002 91177308-0d34-0410-b5e6-96231b3b80d8
acro-args.s
49589f0d0e35f643e697ab7ae8a51a530d38b0d8 02-Jul-2012 Chandler Carruth <chandlerc@gmail.com> Convert the uses of '|&' to use '2>&1 |' instead, which works on old
versions of Bash. In addition, I can back out the change to the lit
built-in shell test runner to support this.

This should fix the majority of fallout on Darwin, but I suspect there
will be a few straggling issues.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@159544 91177308-0d34-0410-b5e6-96231b3b80d8
urgem.s
fc9216eb5a437719b3a53d88d79833a8abc93fee 16-Jun-2012 Rafael Espindola <rafael.espindola@gmail.com> Implement irpc. Extracted from a patch by the PaX team. I just added the test.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@158604 91177308-0d34-0410-b5e6-96231b3b80d8
acro-irpc.s
aa7a2f2ba308656e206338fe65c422e0b6781c64 15-Jun-2012 Rafael Espindola <rafael.espindola@gmail.com> Factor macro argument parsing into helper methods and add support for .irp.
Patch extracted from a larger one by the PaX team. I added the testcases
and tightened error handling a bit.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@158523 91177308-0d34-0410-b5e6-96231b3b80d8
acro-err1.s
acro-irp.s
2ec304c0bf308c5c304412c56ca8f6d69c0b94fc 12-May-2012 Rafael Espindola <rafael.espindola@gmail.com> Add support for the .rept directive. Patch by Vladmir Sorokin. I added support
for nesting.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@156714 91177308-0d34-0410-b5e6-96231b3b80d8
acro-rept-err1.s
acro-rept-err2.s
acro-rept.s
bc3b27ccd964df7627ecff4a62715ff72f1c4a7f 12-May-2012 Benjamin Kramer <benny.kra@googlemail.com> AsmParser: Add support for the .purgem directive.

Based on a patch by Team PaX.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@156709 91177308-0d34-0410-b5e6-96231b3b80d8
urgem.s
e14a3c5084838b40bca4b006cbf78500c874a043 12-May-2012 Benjamin Kramer <benny.kra@googlemail.com> AsmParser: ignore the .extern directive.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@156707 91177308-0d34-0410-b5e6-96231b3b80d8
xtern.s
dec06ef43114ca0f7e5a616ca7437be6e98ea0b3 12-May-2012 Benjamin Kramer <benny.kra@googlemail.com> AsmParser: Add support for .ifc and .ifnc directives.

Based on a patch from PaX Team.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@156706 91177308-0d34-0410-b5e6-96231b3b80d8
fc.s
a3dd0eb93c764905dac919851bca12517e7e8757 12-May-2012 Benjamin Kramer <benny.kra@googlemail.com> AsmParser: Add support for .ifb and .ifnb directives.

Based on a patch from PaX Team.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@156705 91177308-0d34-0410-b5e6-96231b3b80d8
fb.s
686c01854e49748ef2e23851bd0abfa8b9b414f3 01-May-2012 Jim Grosbach <grosbach@apple.com> MC: Unknown assembler directives are now hard errors.

Previously, an unsupported/unknown assembler directive issued a warning.
That's generally unsafe, and inconsistent with the behaviour of pretty
much every system assembler. Now that the MC assemblers are mature
enough to be the default on multiple targets, it's reasonable to
issue errors for these.

For target or platform directives that need to stay warnings, we
should add explicit handlers for them in, e.g., ELFAsmParser.cpp,
DarwinAsmParser.cpp, et. al., and issue the warning there.

rdar://9246275

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@155926 91177308-0d34-0410-b5e6-96231b3b80d8
acros-parsing.s
acros.s
68f89a61587e8d482347cf892c2670a869a1ad61 16-Apr-2012 Jim Grosbach <grosbach@apple.com> MC assembly parser handling for trailing comma in macro instantiation.

A trailing comma means no argument at all (i.e., as if the comma were not
present), not an empty argument to the invokee.

rdar://11252521

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@154863 91177308-0d34-0410-b5e6-96231b3b80d8
acro-args.s
cc85160672e3b2d5ec363cc4e151e5b944a60454 25-Mar-2012 Eli Bendersky <eli.bendersky@intel.com> Continue cleanup of LIT, getting rid of the remaining artifacts from dejagnu

* Removed test/lib/llvm.exp - it is no longer needed
* Deleted the dg.exp reading code from test/lit.cfg. There are no dg.exp files
left in the test suite so this code is no longer required. test/lit.cfg is
now much shorter and clearer
* Removed a lot of duplicate code in lit.local.cfg files that need access to
the root configuration, by adding a "root" attribute to the TestingConfig
object. This attribute is dynamically computed to provide the same
information as was previously provided by the custom getRoot functions.
* Documented the config.root attribute in docs/CommandGuide/lit.pod





git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@153408 91177308-0d34-0410-b5e6-96231b3b80d8
it.local.cfg
48c9533181ec7ef24e49a4f5bca9151dc6886bad 20-Mar-2012 Jim Grosbach <grosbach@apple.com> Assembler should accept redefinitions of unused variable symbols.

rdar://11027851

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@153137 91177308-0d34-0410-b5e6-96231b3b80d8
ariables-invalid.s
ae151ed87d4100ec352fee8fc70e2c8c26281c69 17-Mar-2012 Jim Grosbach <grosbach@apple.com> MC asm parser macro argument count was wrong when empty.

evaluated to '1' when the argument list was empty (should be '0').

rdar://11057257

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@152967 91177308-0d34-0410-b5e6-96231b3b80d8
acro-args.s
0f0c411079cd21bb3a81a1b70bf8c67539a16c22 16-Feb-2012 Eli Bendersky <eli.bendersky@intel.com> Replace all instances of dg.exp file with lit.local.cfg, since all tests are run with LIT now and now Dejagnu. dg.exp is no longer needed.

Patch reviewed by Daniel Dunbar. It will be followed by additional cleanup patches.




git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@150664 91177308-0d34-0410-b5e6-96231b3b80d8
g.exp
it.local.cfg
8b01c82f25aaea12340f53789ba59a2527713b9e 28-Jan-2012 Rafael Espindola <rafael.espindola@gmail.com> Small improvement to the recursion detection logic from the previous commit.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@149175 91177308-0d34-0410-b5e6-96231b3b80d8
ariables-invalid.s
e71cc86ad10143173195182f28bf90844f682436 28-Jan-2012 Rafael Espindola <rafael.espindola@gmail.com> Handle recursive variable definitions directly. This gives us better error
messages and allows us to fix PR11865.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@149174 91177308-0d34-0410-b5e6-96231b3b80d8
r11865.s
ariables-invalid.s
8704b7897db5d877970bde2c8d6766488c457b90 11-Jan-2012 Kevin Enderby <enderby@apple.com> The error check for using -g with a .s file already containing dwarf .file
directives was in the wrong place and getting triggered incorectly with a
cpp .file directive. This change fixes that and adds a test case.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@147951 91177308-0d34-0410-b5e6-96231b3b80d8
irective_file-errors.s
99b4237c1647156f0e1d3d7e03efdab23ed79778 07-Jan-2012 Rafael Espindola <rafael.espindola@gmail.com> Split Finish into Finish and FinishImpl to have a common place to do end of
file error checking. Use that to error on an unfinished cfi_startproc.

The error is not nice, but is already better than a segmentation fault.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@147717 91177308-0d34-0410-b5e6-96231b3b80d8
fi-unfinished-frame.s
c3fc3136a1760601458267163ea0fe6d7e4af72b 14-Dec-2011 Kevin Enderby <enderby@apple.com> Improve the implementation of .incbin directive by replacing a loop by using
getStreamer().EmitBytes. Suggestion by Benjamin Kramer!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146599 91177308-0d34-0410-b5e6-96231b3b80d8
irective_incbin.s
c55accaddb472a517f697d4b0c44017f40c2a5a7 14-Dec-2011 Kevin Enderby <enderby@apple.com> Add the .incbin directive which takes the binary data from a file and emits
it to the streamer. rdar://10383898


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146592 91177308-0d34-0410-b5e6-96231b3b80d8
irective_incbin.s
ncbin_abcd
5e6d54806570db81bbc8bdb480ce049f4bad05cc 31-Oct-2011 Rafael Espindola <rafael.espindola@gmail.com> Move test to the X86 directory, note the PR number and only run MC once.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143352 91177308-0d34-0410-b5e6-96231b3b80d8
011-09-06-NoNewline.s
398daae4cc0182f77ff0e68d7ba4b7614ce8af71 28-Oct-2011 NAKAMURA Takumi <geek4civic@gmail.com> test/MC/AsmParser/2011-09-06-NoNewline.s: Add explicit -mtriple=i386. It uses X86 instruction.

FIXME: Would it be reproduced without target-specific operands?
FIXME: Why run llvm-mc as the same input by 3 times?

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143195 91177308-0d34-0410-b5e6-96231b3b80d8
011-09-06-NoNewline.s
12ae52767f2d0e4312ba059c0e97ed8beb9777d5 19-Oct-2011 Rafael Espindola <rafael.espindola@gmail.com> Fix parsing of a line with only a # in it.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@142537 91177308-0d34-0410-b5e6-96231b3b80d8
ine_with_hash.s
44d798d9763bc32aaf49fe7c10d604845f4b6685 18-Oct-2011 Nick Lewycky <nicholas@mxc.ca> Add support for a new extension to the .file directive:

.file filenumber "directory" "filename"

This removes one join+split of the directory+filename in MC internals. Because
bitcode files have independent fields for directory and filenames in debug info,
this patch may change the .o files written by existing .bc files.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@142300 91177308-0d34-0410-b5e6-96231b3b80d8
irective_file.s
76034c5f546770faf5e63a878c996a829bcb31c2 19-Sep-2011 Stepan Dyatkovskiy <stpworld@narod.ru> Added regression test for bug #10869.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@140012 91177308-0d34-0410-b5e6-96231b3b80d8
011-09-06-NoNewline.s
fbe1681490f4386a351e385129f2c3bce516adbc 20-Aug-2011 Jim Grosbach <grosbach@apple.com> Fix AsmParser binary precedence for shift operators.

rdar://9976729



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@138208 91177308-0d34-0410-b5e6-96231b3b80d8
xprs.s
2f4bdc5db92fbf5fd54c3067bb41d47aa3141ddd 20-Aug-2011 Jim Grosbach <grosbach@apple.com> Tidy up. Whitespace.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@138207 91177308-0d34-0410-b5e6-96231b3b80d8
xprs.s
f2a35fbd60fbb86465ad2fb4d801cd5c240decd7 25-Jul-2011 Jim Grosbach <grosbach@apple.com> Move some ELF directives into ELF asm parser.

The .local, .hidden, .internal, and .protected are not legal for all supported
file formats (in particular, they're invalid for MachO). Move the parsing for
them into the ELF assembly parser since that's the format they're for.
Similarly, .weak is used by COFF and ELF, but not MachO, so move the parsing
to the COFF and ELF asm parsers. Previously, using any of these directives
on Darwin would result in an assertion failure in the parser; now we get
a diagnostic as we should.

rdar://9827089


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135921 91177308-0d34-0410-b5e6-96231b3b80d8
abels.s
254cf03a45534ccfdcc7d223fbebc07d4a0562a7 29-Jun-2011 Jim Grosbach <grosbach@apple.com> Asm parser range checking on .<size> <value> directives.

For example, ".byte 256" would previously assert() when emitting an object
file. Now it generates a diagnostic that the literal value is out of range.

rdar://9686950


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@134069 91177308-0d34-0410-b5e6-96231b3b80d8
xprs-invalid.s
5cc6491f50d0598715d87c69793bfdb2df7cda6f 18-Jun-2011 Hans Wennborg <hans@hanshq.net> MC: Allow .common as alias for .comm assembler directive. PR10116.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@133349 91177308-0d34-0410-b5e6-96231b3b80d8
irective_comm.s
be234dabf4c58a40c2b063f2e3a8c6cb0ab73a3b 07-Jun-2011 Roman Divacky <rdivacky@freebsd.org> Test that ".byte 1, 2, 3, 4" does the right thing.

Requested by nbjoerg!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132716 91177308-0d34-0410-b5e6-96231b3b80d8
irective_values.s
653664471333f316020e96dd3d664f4984f66a65 05-Jun-2011 Rafael Espindola <rafael.espindola@gmail.com> Basic support for macros with explicit arguments.

We still don't handle

* default values
* :req
* :vararg
* \()

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132656 91177308-0d34-0410-b5e6-96231b3b80d8
acro-args.s
3ac7b034d65bb1b78795931287f634d4efd7e151 26-May-2011 Charles Davis <cdavis@mines.edu> Add a test for the chained directives that I forgot last time.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132110 91177308-0d34-0410-b5e6-96231b3b80d8
irective_seh.s
ca93138e11f404a19553049a569f1fa6ad491b67 26-May-2011 Charles Davis <cdavis@mines.edu> Test .seh_startchained and .seh_endchained parsing.

Rework how the MCWin64EHUnwindInfo instances are stored. Fix issues with
chained unwind areas exposed by the test that were related to this.

The ChainedParent field had the wrong address, because when the chained unwind
info was added, the addresses shifted around. Now we store the pointers to the
structures, which are now allocated from the MC heap.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132106 91177308-0d34-0410-b5e6-96231b3b80d8
irective_seh.s
410ef2b263e92d3de1b2acff7437059400daed7d 25-May-2011 Charles Davis <cdavis@mines.edu> Add tests for .seh_setframe and .seh_handlerdata parsing. Fix issues with
them.

I had to add a special SwitchSectionNoChange method to MCStreamer just for
.seh_handlerdata. If this isn't OK, please let me know, and I'll find some
other way to fix .seh_handlerdata streaming.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132084 91177308-0d34-0410-b5e6-96231b3b80d8
irective_seh.s
575630ccb8a267405146a0c14fba7a5b74e1e4c3 25-May-2011 Charles Davis <cdavis@mines.edu> Add tests for .seh_savereg and .seh_savexmm parsing. Once again, fix the
buggy methods that parse these directives.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132045 91177308-0d34-0410-b5e6-96231b3b80d8
irective_seh.s
47268164f3d660f6357cc3a59d510efe3bc9152f 25-May-2011 Charles Davis <cdavis@mines.edu> Add a test for .seh_pushframe parsing. Fix the bug exposed by it (and another
one I found by inspection).


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132037 91177308-0d34-0410-b5e6-96231b3b80d8
irective_seh.s
309213279e5d95826d97b2ab2178db5ddea0ed80 25-May-2011 Charles Davis <cdavis@mines.edu> Add a test for the .seh_handler directive. Fix problems with the parsing
method exposed by the test. While we're at it, simplify the .seh_proc
parsing method.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132028 91177308-0d34-0410-b5e6-96231b3b80d8
irective_seh.s
40de0e013a456971697491b428fb903570e8766e 24-May-2011 Charles Davis <cdavis@mines.edu> Test basic SEH directive-parsing functionality. Fix a latent bug exposed by
this test.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132004 91177308-0d34-0410-b5e6-96231b3b80d8
irective_seh.s
05f9e4e8bd2347826c50ec391ea4ec8caffe45ef 12-Apr-2011 Eric Christopher <echristo@apple.com> Match case for invalid constant error messages and add a new
test for invalid hexadecimals.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129326 91177308-0d34-0410-b5e6-96231b3b80d8
xprs-invalid.s
164254d77c36a2f224987406d66f3bacfdbb7652 12-Apr-2011 Eric Christopher <echristo@apple.com> Test for invalid constant expr addition - bad octal constant.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129323 91177308-0d34-0410-b5e6-96231b3b80d8
xprs-invalid.s
c18214a6e0a22ffa6886c70dbd6176ac9e91c847 09-Apr-2011 Benjamin Kramer <benny.kra@googlemail.com> Don't store Twine temporaries, it's not safe.

And don't append the name over and over again in the loop.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129210 91177308-0d34-0410-b5e6-96231b3b80d8
ename.s
9974b8b3cb49eb937cb148c4199e0d456186c3ca 08-Apr-2011 Rafael Espindola <rafael.espindola@gmail.com> Update tests

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129116 91177308-0d34-0410-b5e6-96231b3b80d8
ection.s
ce8463f1fb223ecea1243b2274a7c18ddab6e815 07-Apr-2011 Rafael Espindola <rafael.espindola@gmail.com> Add support for .skip.
Patch by Roman Divacky.
Fixes PR9361.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129106 91177308-0d34-0410-b5e6-96231b3b80d8
irective_space.s
b715ce35d709e911f0936cfdb6b98aef15d0d5cf 29-Mar-2011 Kevin Enderby <enderby@apple.com> Adding a test for "-inf" as well.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@128495 91177308-0d34-0410-b5e6-96231b3b80d8
loating-literals.s
360d8d7a02188c694b79e5e4c8fafcfa84257938 29-Mar-2011 Kevin Enderby <enderby@apple.com> Added support symbolic floating point constants in the MC assembler for Infinity
and Nans with the same strings as GAS supports. rdar://8673024


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@128488 91177308-0d34-0410-b5e6-96231b3b80d8
loating-literals.s
8b2b43c41d2f9a25d1eb387bd74dd761fe3cb83b 25-Mar-2011 Daniel Dunbar <daniel@zuster.org> MC: Improve some diagnostics on uses of '.' pseudo-symbol.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@128289 91177308-0d34-0410-b5e6-96231b3b80d8
ot-symbol.s
3fe3424a2149a67f7468fc7a441d6cb6bb79ca33 24-Feb-2011 Devang Patel <dpatel@apple.com> Move arch specific tests in arch specific directories.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@126401 91177308-0d34-0410-b5e6-96231b3b80d8
ull_line_comment.s
f95618364396dedb9d926c9989625fd633a24b78 23-Feb-2011 Jim Grosbach <grosbach@apple.com> Remove file. Previous commit deleted content, but left the file around.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@126337 91177308-0d34-0410-b5e6-96231b3b80d8
aren.s
33b7bebca4be7e6759e61223d6b058d47ad0e071 23-Feb-2011 Jim Grosbach <grosbach@apple.com> Revert r125595, which is an X86-only undocumented assembly syntax extension
enabled for all targets. Non-X86 targets should not have this behavior
enabled by default.

Joerg, if you would like to resubmit with the behavior conditionalized to be
X86-ELF only, that's fine.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@126336 91177308-0d34-0410-b5e6-96231b3b80d8
xprs.s
aren.s
7768a9dce14431018133cd586f5c8ce3e057f069 16-Feb-2011 Rafael Espindola <rafael.espindola@gmail.com> Add support for pushsection and popsection. Patch by Joerg Sonnenberger.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@125629 91177308-0d34-0410-b5e6-96231b3b80d8
ection.s
738a00eb861c045dc11366b4d3203cde0e528f22 15-Feb-2011 Roman Divacky <rdivacky@freebsd.org> Add support for parsing [expr].

This is submitted by Joerg Sonnenberger and fixes his PR8685.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@125595 91177308-0d34-0410-b5e6-96231b3b80d8
xprs.s
aren.s
0fd90bc12f77820e757ef3a427fab9f66aba6381 08-Feb-2011 Benjamin Kramer <benny.kra@googlemail.com> Support for .ifdef / .ifndef in the assembler parser. Patch by Joerg Sonnenberger.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@125120 91177308-0d34-0410-b5e6-96231b3b80d8
fdef.s
fndef.s
14e66553d57ebec1d8ca6619f6570c5342a7a764 28-Jan-2011 Roman Divacky <rdivacky@freebsd.org> Add support for parsing .float



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@124485 91177308-0d34-0410-b5e6-96231b3b80d8
loating-literals.s
4c4c7329603491838d9c089dfbce19915c1431ea 28-Jan-2011 Nico Weber <nicolasweber@gmx.de> PR8951: Support for .equiv in integrated assembler, patch by Jörg Sonnenberger!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@124467 91177308-0d34-0410-b5e6-96231b3b80d8
qu.s
d82ed5b7347173a827969966db740c2b34d605b9 24-Dec-2010 Kevin Enderby <enderby@apple.com> In llvm-mc parse a Hash token as a full line comment. Allows handling of
preprocessed .s files and matches darwin gas. rdar://8798690
Also fix a comment on the next line of AsmParser.cpp after this new code.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@122531 91177308-0d34-0410-b5e6-96231b3b80d8
ull_line_comment.s
7529b164104f802b59fbf96f5a88d9709ac3ff1a 18-Dec-2010 Roman Divacky <rdivacky@freebsd.org> Add support for lexing single quotes like 'c'.

This fixed 8615.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@122150 91177308-0d34-0410-b5e6-96231b3b80d8
irective_values.s
9f44724be058d17944dcd9ef6a6b57734b3744b8 01-Dec-2010 Rafael Espindola <rafael.espindola@gmail.com> Rename temporary symbols if they conflict with artificial symbols created
by the assembler. This was blocking parsing any large .s produced by clang for
example.

Fixes PR8596.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120603 91177308-0d34-0410-b5e6-96231b3b80d8
ename.s
c50a0fd7cb6da0e674e154205da65241f9c90e1d 13-Nov-2010 Rafael Espindola <rafael.espindola@gmail.com> Parse and remember discriminators in .loc line. I try to output them with
another patch.
This lets us parse a bit more of the gcc 4.5 output.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118975 91177308-0d34-0410-b5e6-96231b3b80d8
irective_loc.s
cc3acee7b3e1f5813ac604bee18928410270f464 01-Nov-2010 Rafael Espindola <rafael.espindola@gmail.com> Add support for .value.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117922 91177308-0d34-0410-b5e6-96231b3b80d8
irective_values.s
787c33718da09d3f0e4600b30c7d59e6c2632966 28-Oct-2010 Rafael Espindola <rafael.espindola@gmail.com> Add support for the .string directive.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117592 91177308-0d34-0410-b5e6-96231b3b80d8
irective_ascii.s
50e7a787099b8031c3f9754c30179061eb8233b2 28-Oct-2010 Roman Divacky <rdivacky@freebsd.org> Implement .equ directive as a synonym to .set.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117553 91177308-0d34-0410-b5e6-96231b3b80d8
irective_set.s
b1e0f76352cd4a050834f57805e5c6481fd9329f 25-Oct-2010 Daniel Dunbar <daniel@zuster.org> MC/AsmParser: Fix relative precedence of {+,-} and comparison ops.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117299 91177308-0d34-0410-b5e6-96231b3b80d8
xprs.s
bdf90d679befafe70b93082042266ba58a9ad0b2 25-Oct-2010 Daniel Dunbar <daniel@zuster.org> MC/AsmLexer: Fix bug in source location for Slash token.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117298 91177308-0d34-0410-b5e6-96231b3b80d8
xprs.s
048a19abe69d0c7968715ec12637e79a4f3707ca 25-Oct-2010 Daniel Dunbar <daniel@zuster.org> tweak test.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117297 91177308-0d34-0410-b5e6-96231b3b80d8
xprs.s
6b13effe825678634368f925329a0a1d808a9be6 25-Oct-2010 Daniel Dunbar <daniel@zuster.org> MC/AsmParser: Rewrite test to actually check some parts of expression parsing,
now that we have macros and friends. Uncovered a bug in macro expansion...

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117295 91177308-0d34-0410-b5e6-96231b3b80d8
xprs.s
b539b76038ed072be886a1b29fdcd1623b6ad897 02-Oct-2010 Chris Lattner <sabre@nondot.org> actually, move the elf tests into the existing elf dir.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115416 91177308-0d34-0410-b5e6-96231b3b80d8
lf_directive_previous.s
lf_directive_section.s
90b12590b6b907f8c3d83bd48e218990b5f1ed53 02-Oct-2010 Chris Lattner <sabre@nondot.org> consolidate ELF tests into asmparser tests.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115415 91177308-0d34-0410-b5e6-96231b3b80d8
LF/dg.exp
LF/directive_previous.s
LF/directive_section.s
lf_directive_previous.s
lf_directive_section.s
9ab044f20b85597cdaed6849dfc2b55af023906a 02-Oct-2010 Chris Lattner <sabre@nondot.org> move ARM MC tests up one level.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115414 91177308-0d34-0410-b5e6-96231b3b80d8
RM/arm_instructions.s
RM/arm_word_directive.s
RM/dg.exp
3286db670c689104c0df4f98fbb4a66f6e4d2db5 01-Oct-2010 Chris Lattner <sabre@nondot.org> move X86 subdir up a level


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115292 91177308-0d34-0410-b5e6-96231b3b80d8
86/dg.exp
86/x86-32-avx.s
86/x86-32-coverage.s
86/x86-32-fma3.s
86/x86-32.s
86/x86-64.s
86/x86_64-avx-clmul-encoding.s
86/x86_64-avx-encoding.s
86/x86_64-encoding.s
86/x86_64-fma3-encoding.s
86/x86_64-imm-widths.s
86/x86_directives.s
86/x86_errors.s
86/x86_operands.s
1344488d65efcc0c738407ef41d86801f20086a8 30-Sep-2010 Chris Lattner <sabre@nondot.org> more cleanups.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115178 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86-32-avx.s
86/x86-32-coverage.s
86/x86-32-fma3.s
86/x86-32.s
86/x86-64.s
86/x86_32-avx-clmul-encoding.s
86/x86_32-avx-encoding.s
86/x86_32-bit_cat.s
86/x86_32-fma3-encoding.s
86/x86_32-new-encoder.s
86/x86_64.s
27c5215fbd59c2e8262dd14d63ada96ce3cfd351 30-Sep-2010 Chris Lattner <sabre@nondot.org> merge and clean up tests.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115177 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86-32-coverage.s
86/x86_32-bit.s
86/x86_32-new-encoder.s
86/x86_64-incl_decl.s
86/x86_64-operands.s
86/x86_64-suffix-matching.s
86/x86_64.s
a879dc717ec9e7d7819d2774147cfb0cc8084480 30-Sep-2010 Chris Lattner <sabre@nondot.org> merge two tests.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115175 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_32-bit.s
86/x86_32-encoding.s
e73774dbb0e427fa170cf2df86adddd9ad3c20c7 30-Sep-2010 Chris Lattner <sabre@nondot.org> rename test


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115174 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_errors.s
86/x86_instruction_errors.s
84d7ffdede03c17b68fdbd8d9a98b9e67e004712 30-Sep-2010 Chris Lattner <sabre@nondot.org> generalize test.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115172 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_directives.s
86/x86_word_directive.s
9e46d78809024f15c1b102ba7c0326649b383b7d 30-Sep-2010 Chris Lattner <sabre@nondot.org> rename test.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115171 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_64.s
86/x86_instructions.s
ebfa86b4349bb38732f0b927ed2589b176e69cb5 30-Sep-2010 Chris Lattner <sabre@nondot.org> merge two tests.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115170 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_64-new-encoder.s
86/x86_instructions.s
905f2e06691672c236ae864faf0ad7220afc2844 30-Sep-2010 Chris Lattner <sabre@nondot.org> preemptively add the rest of the non-n fpstack instructions.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115168 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_instructions.s
5660904a2c41e7545debdecc9b3e98962f5f7cbf 30-Sep-2010 Chris Lattner <sabre@nondot.org> merge two tests.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115165 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_32-encoding.s
86/x86_32-mismatched-add.s
198b9797b4447f27de0c28e09602bb2112dd2263 30-Sep-2010 Chris Lattner <sabre@nondot.org> fix this to not be completely broken.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115164 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_32-mismatched-add.s
18e5179f3d944f9edae90d43ced718d4db4f0178 30-Sep-2010 Chris Lattner <sabre@nondot.org> update, unxfail, fix bogus encodings.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115163 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_32-encoding.s
0d5d7a019c8d76ba2df28fec56e9bb624002a8fc 30-Sep-2010 Chris Lattner <sabre@nondot.org> update and unxfail


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115162 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_32-bit_cat.s
bf840a198ded52612173474df5f60aac34363a79 30-Sep-2010 Chris Lattner <sabre@nondot.org> unxfail this by fixing syntactic differences.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115161 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_32-bit.s
9ee4aed3b652ea4a4327af2cb1c614dd10cd8b47 30-Sep-2010 Chris Lattner <sabre@nondot.org> implement support for finit, PR8258


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115156 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_instructions.s
0bb83a84d4319030c0c9260dbfea461c40eea1b2 30-Sep-2010 Chris Lattner <sabre@nondot.org> add support for fstcw, PR8259


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115154 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_instructions.s
a25f933396b8408ad89218bc60b0a93f130a3ea9 29-Sep-2010 Chris Lattner <sabre@nondot.org> implement rdar://8491845 - Gas supports commuted forms of non-commutable instructions.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115061 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_instructions.s
6f4202726339815c7167ef2f00858c766c9ffea9 29-Sep-2010 Chris Lattner <sabre@nondot.org> fix rdar://8490728 - llvm-mc rejects gpr64 form of 'movmskpd'


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115029 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_instructions.s
f3654db4588884edbf52f139a2f713e45a8ed9b4 29-Sep-2010 Chris Lattner <sabre@nondot.org> add assembler support for the cvtsd2sil/cvtsd2siq mnemonics, rdar://8456382


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115027 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_instructions.s
78a194693bb9bbfa1080454cded0166265b803e5 29-Sep-2010 Chris Lattner <sabre@nondot.org> make the x86 mccode emitter emit the 0x67 and 0x66 prefix bytes in the same
order as cctools for diffability.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115022 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_instructions.s
8a5072903e2037da1cfdaffa5a26be00f3d76a22 29-Sep-2010 Chris Lattner <sabre@nondot.org> implement support for 32-bit address operands in 64-bit mode, which
are defined to emit the 0x67 prefix byte. rdar://8482675


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115021 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_instructions.s
b2ef4c1235c846c2503d0796541f4255ef1e13f5 29-Sep-2010 Chris Lattner <sabre@nondot.org> add basic avx support to the disassembler, also teach it about ssmem/sdmem
operands.

With this done, we can remove the _Int suffixes from the round instructions
without the disassembler blowing up. This allows the assembler to support
them, implementing rdar://8456376 - llvm-mc rejects 'roundss'


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115019 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_instructions.s
bf6018ac5a4ce8db0f0719aa666cd81f0904431a 29-Sep-2010 Chris Lattner <sabre@nondot.org> add asmparser support for cvttpd2dq by removing some Int_ prefixes.

Clean up cvttps2dq by removing some redundant implementations of the
same instruction. rdar://8456382


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115018 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_instructions.s
0c04e4f58f8d1ad4604de17324170fa1f4e43418 29-Sep-2010 Chris Lattner <sabre@nondot.org> implement rdar://8456382 - cvtsd2si support, by removing some Int_ prefixes.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115017 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_instructions.s
7c51a3172cf5104ebeaef22f1366fa634ca00d85 29-Sep-2010 Chris Lattner <sabre@nondot.org> implement rdar://8456378 and PR7557 - support for the fstsw,
an instruction that requires a WHOLE NEW wonderful kind of alias.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115015 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_instructions.s
4f2afe3d399eb9485dc605f3cc3a6382dcae757a 27-Sep-2010 Daniel Dunbar <daniel@zuster.org> MC/AsmParser: Handle exponents in floating point literals.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114861 91177308-0d34-0410-b5e6-96231b3b80d8
loating-literals.s
295646274276c6814d970bed86d3b4ff76ba3ee3 27-Sep-2010 Chris Lattner <sabre@nondot.org> yet more aliases.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114822 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_instructions.s
b1162fc05e09c7247be1896fd4aa4ca7e76c938c 27-Sep-2010 Chris Lattner <sabre@nondot.org> add a couple more aliases, rdar://8456378


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114821 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_instructions.s
df967d613704d4e4f01ecce85c1846dfab4d9a1b 27-Sep-2010 Chris Lattner <sabre@nondot.org> fix rdar://8470918 - llvm-mc can't assemble smovl


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114819 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_instructions.s
cb296ec0b689ccbcb08cedc5d3e090c0471eb393 27-Sep-2010 Chris Lattner <sabre@nondot.org> Fix rdar://8468087 - llvm-mc commutes fmul (and friend) operands.

My previous fix for rdar://8456371 should only apply to fmulp/faddp,
not to fmul/fadd. Instruction set orthogonality is overrated or
something.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114818 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_instructions.s
fd8fddd830ad8322d04161f2f6bad6269a451ab2 27-Sep-2010 Chris Lattner <sabre@nondot.org> implement support for 'clr' alias. This is part of rdar://8416805,
but balrog was wanting it on irc.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114809 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_instructions.s
facb34b41cea284b5a0b4992ff619e5cfd5e6a22 24-Sep-2010 Daniel Dunbar <daniel@zuster.org> MC/AsmParser: Handle a missed case of floating literals in the lexer.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114733 91177308-0d34-0410-b5e6-96231b3b80d8
loating-literals.s
b95a079cae7bd5232d17be8a095fa63fe84f4e44 24-Sep-2010 Daniel Dunbar <daniel@zuster.org> MC/AsmParser: Support .single and .double for embedding floating point literals.
- I believe more modern 'gas' supports a more enhanced set of arithmetic on
them, but for now the only thing we can do is emit them as data.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114719 91177308-0d34-0410-b5e6-96231b3b80d8
loating-literals.s
2c5291b56358bf239bdfc675ed681c2da3eb4901 22-Sep-2010 Chris Lattner <sabre@nondot.org> fix rdar://8456371 - Handle commutable instructions written backward.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114536 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_instructions.s
1eb1b68e3a5241591bfa18d4beb0e0cf13a48ef2 22-Sep-2010 Chris Lattner <sabre@nondot.org> Fix an inconsistency in the x86 backend that led it to reject "calll foo" on
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.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114534 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_32-new-encoder.s
86/x86_operands.s
bc57c6db4a3a1f5df4450d8dbb100e1eb6944c28 22-Sep-2010 Chris Lattner <sabre@nondot.org> fix rdar://8456412 - llvm-mc crash in encoder on "mov %rdx, %cr8"
Teaching the code generator about CR8-15, how to rex them up, etc.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114533 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_instructions.s
f7d4da0c1dcdac3941fe440982bce19706541629 22-Sep-2010 Chris Lattner <sabre@nondot.org> fix rdar://8456417 - llvm-mc can't do basic math



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114532 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_instructions.s
c2b942acf6008ac822c21722ac7ec84264d10bef 22-Sep-2010 Chris Lattner <sabre@nondot.org> add the missing aliases for fp stack cmovs, rdar://8456391


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114531 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_instructions.s
33d60d5e56bbf3e9ed02bc916735419091736ca3 22-Sep-2010 Chris Lattner <sabre@nondot.org> Fix rdar://8456364 - llvm-mc rejects '%CS'


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114528 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_instructions.s
0c289c140ee7a68e3d06b9d8ae6060758345ad4e 22-Sep-2010 Chris Lattner <sabre@nondot.org> fix rdar://8456389 - llvm-mc mismatch with 'as' on 'fstp'

-This line, and those below, will be ignored--

M test/MC/AsmParser/X86/x86_instructions.s
M lib/Target/X86/AsmParser/X86AsmParser.cpp


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114527 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_instructions.s
61129252e44067ae112dc856c64c814344b7e7c9 22-Sep-2010 Chris Lattner <sabre@nondot.org> fix rdar://8456361 - llvm-mc rejects 'rep movsd'


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114526 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_instructions.s
40cc3f8783a4e426a0d439bb2b070b5c072b5947 17-Sep-2010 Chris Lattner <sabre@nondot.org> fix rdar://8444631 - encoder crash on 'enter'
What a weird instruction.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114190 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_instructions.s
cceba838935b5018fddf7118bb8b9e6f50bbbe45 17-Sep-2010 Daniel Dunbar <daniel@zuster.org> MC/AsmParser: Add support for 'a + 4@GOTPCREL' and friends, by reconsing the
expression to include the modifier.
- Gross, but this a corner case we don't expect to see often in practice, but
it is worth accepting.
- Also improves diagnostics on invalid modifiers.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114154 91177308-0d34-0410-b5e6-96231b3b80d8
xpr_symbol_modifiers.s
35aa94b229d516b9eb775ad4e13a8e2d03221cf9 16-Sep-2010 Chris Lattner <sabre@nondot.org> fix rdar://8438816 - unrecognized 'fildq' instruction


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114116 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_64-new-encoder.s
d0bcc9a01590c60adb4d288691120c46a49a2288 15-Sep-2010 Chris Lattner <sabre@nondot.org> lcall and ljmp always default to lcalll and ljmpl. This finally
wraps up r8418316


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113949 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_32-new-encoder.s
cbb442640fdefae48edca2b4c60555a68352b553 15-Sep-2010 Chris Lattner <sabre@nondot.org> apparently jmpl $1,$2 is an alias for ljmpl, similiarly
for call. Add this.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113948 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_32-new-encoder.s
86/x86_instructions.s
250b948f21b2910c5bc61fb364c6817727a3a972 15-Sep-2010 Chris Lattner <sabre@nondot.org> Disambiguate lcall/ljmp to the 32-bit version. This happens
even in 64-bit mode apparently.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113945 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_instructions.s
6c1b3b1e32f960f44e47d8484510f5c5f8e5343f 15-Sep-2010 Chris Lattner <sabre@nondot.org> fix the encoding of sldt GR16 to have the 0x66 prefix, and
add sldt GR32, which isn't documented in the intel manual
but which gas accepts. Part of rdar://8418316


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113938 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_instructions.s
cfad564043021c7276ce19725f43bcde233fa549 15-Sep-2010 Chris Lattner <sabre@nondot.org> implement aliases for shld/shrd, part of rdar://8418316


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113937 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_instructions.s
e9e16a36d9ff355dab60e4b95673bf7a0cd27e86 15-Sep-2010 Chris Lattner <sabre@nondot.org> fix rdar://8431880 - rcl/rcr with no shift amount not recognized


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113936 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_instructions.s
84f362d8912657bb21250a65331f797d5381e9a3 15-Sep-2010 Chris Lattner <sabre@nondot.org> add various broken forms of fnstsw. I didn't add the %rax
version because it adds a prefix and makes even less sense
than the other broken forms. This wraps up rdar://8431422


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113932 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_instructions.s
8f777a205e4523b773ba3af3bad007d93da56a9a 15-Sep-2010 Chris Lattner <sabre@nondot.org> add some aliases for f[u]comi, part of rdar://8431422


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113930 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_instructions.s
2d592d10a57887ebe7c43a5e610f4278dd6c5d20 15-Sep-2010 Chris Lattner <sabre@nondot.org> add a bunch of aliases for fp operations with no operand,
rdar://8431422


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113929 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_instructions.s
ef63c9a9b6f79fef91dc144db9d5f217d2b83a95 15-Sep-2010 Chris Lattner <sabre@nondot.org> add a terrible hack to allow out with dx is parens, a gas bug.
This fixes PR8114


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113894 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_instructions.s
0989d29d093c281a0d8b4f1b1ea22436249c4087 11-Sep-2010 Chris Lattner <sabre@nondot.org> add a missed cmov alias, part of rdar://8416805


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113693 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_32-new-encoder.s
697d37a43625b8862a6d6993c6c5ee614fdc0843 11-Sep-2010 Chris Lattner <sabre@nondot.org> add support for all the setCC aliases. Part of rdar://8416805


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113692 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_32-new-encoder.s
dfa3c9d98260f899297c11cda2b15dc44fc4f91e 11-Sep-2010 Chris Lattner <sabre@nondot.org> add support for pushfd/popfd which are aliases for pushfl/popfl.
This fixes rdar://8408129 - pushfd and popfd get invalid instruction mnemonic errors


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113690 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_32-new-encoder.s
ee211d0ed632d6329922ad4c5f7a25d3d66cf551 11-Sep-2010 Chris Lattner <sabre@nondot.org> implement rdar://8407928 - support for in/out with a missing "a" register.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113689 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_instructions.s
1ab6f2fa7a38a12d8f20157d71e5280a253f2578 10-Sep-2010 Daniel Dunbar <daniel@zuster.org> llvm-mc: Don't crash when using -n and we see a directive before the initial section.
- This is annoying, because we have to scatter this check everywhere that could emit real data, but I see no better solution.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113552 91177308-0d34-0410-b5e6-96231b3b80d8
ash-n.s
93bd4d1e6b81b71ce56888e760ce0c9abe44023f 10-Sep-2010 Daniel Dunbar <daniel@zuster.org> llvm-mc: Make sure we exit != 0 if any errors are encountered.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113551 91177308-0d34-0410-b5e6-96231b3b80d8
irective_abort.s
90b54547d9fcc381f8ec92c32756ad4da43ed9aa 09-Sep-2010 Chris Lattner <sabre@nondot.org> fix rdar://8407548, I missed the commuted form of xchg/test without a suffix.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113427 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_64-new-encoder.s
373c458850a963ab062046529337fe976e1f944d 09-Sep-2010 Chris Lattner <sabre@nondot.org> fix bugs in push/pop segment support, rdar://8407242


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113422 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_32-new-encoder.s
86/x86_64-new-encoder.s
c8ae35a8e8a6a39ae05b1c876afbf404e20961ff 08-Sep-2010 Chris Lattner <sabre@nondot.org> add support for the commuted form of the test instruction, rdar://8018260.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113352 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_32-new-encoder.s
ba8e81cca281a92fe30c25a10d8990521128be39 08-Sep-2010 Chris Lattner <sabre@nondot.org> implement proper support for sysret{,l,q}, rdar://8403907


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113350 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_32-new-encoder.s
86/x86_64-new-encoder.s
ba8cea450f330145cc7764e23e5d8b1aadd5e131 08-Sep-2010 Chris Lattner <sabre@nondot.org> implement the iret suite of instructions properly,
fixing rdar://8403974



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113349 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_32-new-encoder.s
86/x86_64-new-encoder.s
2544f426927aa6dbac8d52bd9d5e12629099da82 08-Sep-2010 Chris Lattner <sabre@nondot.org> add support for instruction prefixes on the same line as the instruction,
implementing rdar://8033482 and PR7254.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113348 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_64-new-encoder.s
9607c40601b345c21af9de97ec03e124179efd24 08-Sep-2010 Chris Lattner <sabre@nondot.org> gas accepts xchg <mem>, <reg> as a synonym for xchg <reg>, <mem>.
Add this to the mc assembler, fixing PR8061


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113346 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_64-new-encoder.s
a247685b3013b3dc675d4e83f9c98de6473af1d7 08-Sep-2010 Chris Lattner <sabre@nondot.org> fix the encoding of the "jump on *cx" family of instructions,
rdar://8061602


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113343 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_32-new-encoder.s
86/x86_64-new-encoder.s
e9e0fc5eed9e177c3ee7299a34e640973102ac39 07-Sep-2010 Chris Lattner <sabre@nondot.org> add missing cmov aliases, this resolves rdar://8208499


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113189 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_instructions.s
c5cebeb3cb44a3fd0aaee956431159757ee47914 07-Sep-2010 Chris Lattner <sabre@nondot.org> "sldt <mem>" is ambiguous in 64-bit mode, but should
always be disambiguated as sldtw. sldtw and sldtq with
a mem operands have the same effect, but sldtw is more
compact. Force it to sldtw, resolving rdar://8017530


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113186 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_instructions.s
d68c474ec55a3dd43f9fa8ea4c89e5fae62909ab 07-Sep-2010 Chris Lattner <sabre@nondot.org> fix rdar://8017621 - llvm-mc can't guess encoding for "push $(1000)"


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113184 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_instructions.s
9389b60a03890b70872e5ee2f078c4a4a00d123b 07-Sep-2010 Chris Lattner <sabre@nondot.org> fix the operand constraints of the immediate form of in/out,
allowing unsigned 8-bit operands. This fixes rdar://8208481



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113182 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_instructions.s
1674b0b0e4972b844833f253286cbf99a6e99d6e 02-Sep-2010 Benjamin Kramer <benny.kra@googlemail.com> Add AsmParser support for the ELF .previous directive. Patch by Roman Divacky.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112849 91177308-0d34-0410-b5e6-96231b3b80d8
LF/directive_previous.s
a5729aae5d151f7b3a3805003ba076d7015cc9a7 28-Aug-2010 Chris Lattner <sabre@nondot.org> fixme accomplished



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112386 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_operands.s
3d6e4c31116c4f8fcc0737c5a626f81436c84532 25-Aug-2010 Daniel Dunbar <daniel@zuster.org> X86: Fix misencode of RI64mi8. This fixes OpenSSL / x86_64-apple-darwin10 / clang -O3.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112089 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_64-new-encoder.s
fba88d49e3fbb68bb84c295a9639fe94f9a8c6aa 24-Aug-2010 Daniel Dunbar <daniel@zuster.org> MC/X86: Tweak imul recognition, previous hack only applies for the imul form
taking immediates.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111950 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_instructions.s
ae528f65ba731e2e080822496ef36db950ffe1c1 24-Aug-2010 Daniel Dunbar <daniel@zuster.org> MC/X86: Add custom hack for recognizing "imul $12, %eax" and friends.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111947 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_instructions.s
e17edff28f684b5c59db395bdecb7b5330638398 24-Aug-2010 Daniel Dunbar <daniel@zuster.org> MC/AsmParser: Change ParseExpression to use ParseIdentifier(), to support
dollars in identifiers.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111946 91177308-0d34-0410-b5e6-96231b3b80d8
ollars-in-identifiers.s
ee9102587e7f6fc95de9fc5731b341eeb9bfc3ca 24-Aug-2010 Daniel Dunbar <daniel@zuster.org> MC/X86: Warn on scale factors > 1 without index register, instead of erroring,
for 'as' compatibility.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111945 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_instructions.s
1f1b865c4062365712a1549191482bd6dd174f51 24-Aug-2010 Daniel Dunbar <daniel@zuster.org> MC/Parser: Accept leading dollar signs in identifiers.
- Implemented by manually splicing the tokens. If this turns out to be
problematically platform specific, a more elegant solution would be to
implement some context dependent lexing support.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111934 91177308-0d34-0410-b5e6-96231b3b80d8
ollars-in-identifiers.s
a78c67e9bbf6ff0253945f3ba5bc178ece76d886 24-Aug-2010 Chris Lattner <sabre@nondot.org> fix rdar://7997827 - Accept and ignore LL and ULL suffixes on integer literals.

Also fix 0b010 syntax to actually work while we're at it :-)


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111876 91177308-0d34-0410-b5e6-96231b3b80d8
irective_values.s
59f8a6a66621f7c6f45b838e48fbf210af9d1fb5 19-Aug-2010 Chris Lattner <sabre@nondot.org> fix PR7465, mishandling of lcall and ljmp: intersegment long
call and jumps.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111496 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_32-new-encoder.s
09062b1672d33c40c38de3ff3163e0d53ebe165d 12-Aug-2010 Daniel Dunbar <daniel@zuster.org> MC/X86/AsmParser: Give an explicit error message when we reject an instruction
because it could have an ambiguous suffix.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110890 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_instruction_errors.s
345a9a6269318c96f333c0492b23733e29d952df 11-Aug-2010 Daniel Dunbar <daniel@zuster.org> MC/ARM: Add basic support for handling predication by parsing it out of the mnemonic into a separate operand form.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110794 91177308-0d34-0410-b5e6-96231b3b80d8
RM/arm_instructions.s
e25c6b95cec7d8e774488c867998a94c3110250f 10-Aug-2010 Daniel Dunbar <daniel@zuster.org> MC/AsmParser: Fix a bug in macro argument parsing, which was dropping
parentheses from argument lists.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110692 91177308-0d34-0410-b5e6-96231b3b80d8
acros.s
079515f382fa7e95362ac1eeaadecbc7eb2f71db 05-Aug-2010 Daniel Dunbar <daniel@zuster.org> tests: Mark MC/AsmParser tests as requiring x86 for now -- almost all of them
rely on using a specific x86 triple to test what they want to test.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110337 91177308-0d34-0410-b5e6-96231b3b80d8
g.exp
3c8e1bee6399e829eda801a32158c1f52d2733ad 24-Jul-2010 Bruno Cardoso Lopes <bruno.cardoso@gmail.com> Support x86 "eiz" and "riz" pseudo index registers in the assembler.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109295 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_32-avx-encoding.s
86/x86_32-encoding.s
86/x86_64-avx-encoding.s
86/x86_64-encoding.s
19d92fcae209cbd43d23a080a5166707600c0041 24-Jul-2010 Matt Fleming <matt@console-pimps.org> Consolidate the ELF section directive tests into a single file as
suggested by Chris Lattner.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109290 91177308-0d34-0410-b5e6-96231b3b80d8
LF/directive_section.s
LF/directive_section_bss.s
LF/directive_section_data_rel.s
LF/directive_section_data_rel_ro.s
LF/directive_section_eh_frame.s
LF/directive_section_rodata.s
LF/directive_section_tbss.s
LF/directive_section_tdata.s
6d7019bcc43ab92ae87c8762b16264327e5c37a8 23-Jul-2010 Bruno Cardoso Lopes <bruno.cardoso@gmail.com> Move AVX encoding tests to different files

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109269 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_32-avx-encoding.s
86/x86_32-encoding.s
86/x86_64-avx-encoding.s
86/x86_64-encoding.s
f528d2b438b5c8fd3e2609be981e500576f5e5af 23-Jul-2010 Bruno Cardoso Lopes <bruno.cardoso@gmail.com> Add AVX version of CLMUL instructions

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109248 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_32-avx-clmul-encoding.s
86/x86_64-avx-clmul-encoding.s
6b7e9168a451a7c07ceda1c92470b3b691e35c20 23-Jul-2010 Bruno Cardoso Lopes <bruno.cardoso@gmail.com> Add complete assembler support for FMA3 instructions, with descriptions and encodings taken from the AVX manual

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109204 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_32-fma3-encoding.s
86/x86_64-fma3-encoding.s
fb583a98427bb7191b27ad2ac5bf408201df07bb 22-Jul-2010 Bruno Cardoso Lopes <bruno.cardoso@gmail.com> Add remaining AVX instructions (most of them dealing with GR64 destinations. This complete the assembler support for the general AVX ISA. But we still miss instructions from FMA3 and CLMUL specific feature flags, which are now the next step

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109168 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_64-encoding.s
2b69143083a770fa883257340073ebb1f4787747 22-Jul-2010 Bruno Cardoso Lopes <bruno.cardoso@gmail.com> Add more 256-bit forms for a bunch of regular AVX instructions
Add 64-bit (GR64) versions of some instructions (which are not
described in their SSE forms, but are described in AVX)


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109063 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_32-encoding.s
86/x86_64-encoding.s
e29f37f6a134502e39553c9f072eaad2568cbe18 21-Jul-2010 Bruno Cardoso Lopes <bruno.cardoso@gmail.com> Add missing AVX convert instructions. Those instructions are not described in their SSE forms (although they exist), but add the AVX forms anyway, so the assembler can benefit from it

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109039 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_32-encoding.s
86/x86_64-encoding.s
cf6ca031288332c4fb43a314a3c30df8deeb2ffb 21-Jul-2010 Bruno Cardoso Lopes <bruno.cardoso@gmail.com> Add AVX only vzeroall and vzeroupper instructions

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109002 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_32-encoding.s
7d7d15a159aaddeafe243a87ef3dbf9c9d220f49 21-Jul-2010 Bruno Cardoso Lopes <bruno.cardoso@gmail.com> Add new AVX vpermilps, vpermilpd and vperm2f128 instructions

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108984 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_32-encoding.s
86/x86_64-encoding.s
4b13f3cf3d44219371ca8cdfe699ebdc5e12f7f8 21-Jul-2010 Bruno Cardoso Lopes <bruno.cardoso@gmail.com> Add new AVX vmaskmov instructions, and also fix the VEX encoding bits to support it

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108983 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_32-encoding.s
86/x86_64-encoding.s
1154f426d72ea7b2d9de93f9af5874d7d9b5a3d5 21-Jul-2010 Bruno Cardoso Lopes <bruno.cardoso@gmail.com> Add new AVX vextractf128 instructions

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108964 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_32-encoding.s
86/x86_64-encoding.s
a7f9563c018d33eee1586da8aa26a1faa58a3cea 20-Jul-2010 Matt Fleming <matt@console-pimps.org> Include some tests for the recently committed ELF section directive
handlers.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108938 91177308-0d34-0410-b5e6-96231b3b80d8
LF/dg.exp
LF/directive_section_bss.s
LF/directive_section_data_rel.s
LF/directive_section_data_rel_ro.s
LF/directive_section_eh_frame.s
LF/directive_section_rodata.s
LF/directive_section_tbss.s
LF/directive_section_tdata.s
e1c29be6f08d0e5657cfa3d430816147698c7479 20-Jul-2010 Bruno Cardoso Lopes <bruno.cardoso@gmail.com> Add new AVX instruction vinsertf128

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108892 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_32-encoding.s
86/x86_64-encoding.s
7a2b701ef6a294170fb92a535d52bc533778acff 20-Jul-2010 Bruno Cardoso Lopes <bruno.cardoso@gmail.com> x86_32 tests for vbroadcast

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108789 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_32-encoding.s
43945d99de0df592383e6e0a42694418c78dbdda 20-Jul-2010 Bruno Cardoso Lopes <bruno.cardoso@gmail.com> Add AVX vbroadcast new instruction

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108788 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_64-encoding.s
94143ee6254944a26adba2200037328c2c8ef289 20-Jul-2010 Bruno Cardoso Lopes <bruno.cardoso@gmail.com> Add 256-bit vaddsub, vhadd, vhsub, vblend and vdpp instructions!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108769 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_32-encoding.s
86/x86_64-encoding.s
77e2dd7bb2bb5f28d389ba246d815cd9848ee53b 19-Jul-2010 Daniel Dunbar <daniel@zuster.org> X86: Mark JMP{32,64}[mr] as requires 32-bit/64-bit mode. They are the same
instruction, we only want to allow the one for the current subtarget.
- This also fixes suffix matching for jmp instructions, because it eliminates
the ambiguity between 'jmpl' and 'jmpq'.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108746 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_32-new-encoder.s
86/x86_64-new-encoder.s
926f2bb3d8dd6f8b0198aa478828ee02914050f9 19-Jul-2010 Daniel Dunbar <daniel@zuster.org> X86-64: Mark WINCALL and more tail call instructions as code gen only.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108685 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_instructions.s
90b374cdedf0ff844b86b768b2d0832c64ab9173 19-Jul-2010 Daniel Dunbar <daniel@zuster.org> MC/X86: We now match instructions like "incl %eax" correctly for the arch we are
assembling; remove crufty custom cleanup code.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108681 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_64-new-encoder.s
9ece46d172d89aa4ea6c04b8e55044bc9fdf9921 19-Jul-2010 Daniel Dunbar <daniel@zuster.org> tests: Force another triple.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108666 91177308-0d34-0410-b5e6-96231b3b80d8
acro-def-in-instantiation.s
030794bd87d731d736da59681afdb7694131c9f2 18-Jul-2010 Daniel Dunbar <daniel@zuster.org> tests: Force triples.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108658 91177308-0d34-0410-b5e6-96231b3b80d8
acros-parsing.s
acros.s
6a46d571b461246e36f82c146e17bf614d2114ea 18-Jul-2010 Daniel Dunbar <daniel@zuster.org> MC/AsmParser: Fix .abort and .secure_log_unique to accept arbitrary token
sequences, not just strings.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108655 91177308-0d34-0410-b5e6-96231b3b80d8
irective_abort.s
7a570d09ac8630f782d394878baf6645cfd264e7 18-Jul-2010 Daniel Dunbar <daniel@zuster.org> MC/AsmParser: Add macro argument substitution support.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108654 91177308-0d34-0410-b5e6-96231b3b80d8
acro-def-in-instantiation.s
acros.s
c64a0d7c3e55cf7d8bc8b49dcc447a3d809b11c8 18-Jul-2010 Daniel Dunbar <daniel@zuster.org> MC/AsmParser: Add basic support for macro instantiation.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108653 91177308-0d34-0410-b5e6-96231b3b80d8
acros-parsing.s
6d8cf082f643a585b82e8dd136641ee4638b8c7a 18-Jul-2010 Daniel Dunbar <daniel@zuster.org> MC/AsmParser: Add basic parsing support for .macro definitions.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108652 91177308-0d34-0410-b5e6-96231b3b80d8
acros-parsing.s
3c802de01af19964c41cc17e9d788271d42dbcdb 18-Jul-2010 Daniel Dunbar <daniel@zuster.org> MC/AsmParser: Add .macros_{off,on} support, not that makes sense since we don't
support macros.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108649 91177308-0d34-0410-b5e6-96231b3b80d8
acros-parsing.s
879259faa3b24015949f3a3614ce348a7c20e422 17-Jul-2010 Eli Friedman <eli.friedman@gmail.com> Test for ELF .size directive.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108607 91177308-0d34-0410-b5e6-96231b3b80d8
irective_elf_size.s
7dbf7d8b1cc60f869534b959025aa29b6e1018fb 14-Jul-2010 Bruno Cardoso Lopes <bruno.cardoso@gmail.com> Add AVX 256-bit compare instructions and a bunch of testcases

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108286 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_32-encoding.s
86/x86_64-encoding.s
87a85c7ef0d1a96c73473de90d3b2b28d24538a5 13-Jul-2010 Bruno Cardoso Lopes <bruno.cardoso@gmail.com> AVX 256-bit conversion instructions
Add the x86 VEX_L form to handle special cases where VEX_L must be set.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108274 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_32-encoding.s
86/x86_64-encoding.s
fd920fa59a7ac65fdd5f97da4e07e63b3922d30a 13-Jul-2010 Bruno Cardoso Lopes <bruno.cardoso@gmail.com> Add AVX 256-bit packed logical forms

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108224 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_32-encoding.s
86/x86_64-encoding.s
6991623dd7b8a096ccddbaedd9de3f515bacb1e2 13-Jul-2010 Bruno Cardoso Lopes <bruno.cardoso@gmail.com> Add AVX 256-bit unop arithmetic instructions

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108223 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_32-encoding.s
86/x86_64-encoding.s
a0d09a85e27adb8545b37bfdaab9e2c6a01477fa 13-Jul-2010 Bruno Cardoso Lopes <bruno.cardoso@gmail.com> Add AVX 256 binary arithmetic instructions

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108207 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_32-encoding.s
86/x86_64-encoding.s
aa099be71f5e7b6a71930259edd3d25e60cb4fe2 12-Jul-2010 Bruno Cardoso Lopes <bruno.cardoso@gmail.com> Add AVX 256-bit MOVMSK forms

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108184 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_32-encoding.s
86/x86_64-encoding.s
b6c3a607ac91dc4fdd0b195e9df2b04eaa53a1ef 12-Jul-2010 Daniel Dunbar <daniel@zuster.org> MC/AsmParser: Move .tbss and .zerofill parsing to Darwin specific parser.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108180 91177308-0d34-0410-b5e6-96231b3b80d8
irective_zerofill.s
xprs.s
492b7a21cb28adf8819ee369f42a8129de5227ae 12-Jul-2010 Daniel Dunbar <daniel@zuster.org> MC/AsmParser: Move .desc parsing to Darwin specific parser.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108179 91177308-0d34-0410-b5e6-96231b3b80d8
irective_desc.s
9ac66b008d74d0a981455a2220136c59cf363226 12-Jul-2010 Daniel Dunbar <daniel@zuster.org> MC/AsmParser: Move some misc. Darwin directive handling to DarwinAsmParser.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108174 91177308-0d34-0410-b5e6-96231b3b80d8
irective_subsections_via_symbols.s
ello.s
d52e78efac2da94f9967db343abd46a0fa9cb3b4 09-Jul-2010 Bruno Cardoso Lopes <bruno.cardoso@gmail.com> Add AVX 256-bit packed MOVNT variants

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108021 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_32-encoding.s
86/x86_64-encoding.s
2bfb8f6ef8ac6970acfd90f4b93f5e58b7d2e62c 09-Jul-2010 Bruno Cardoso Lopes <bruno.cardoso@gmail.com> Add AVX 256-bit unpack and interleave

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108017 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_32-encoding.s
86/x86_64-encoding.s
e86b01c153ba52307ecb6e7513ec33f57caedfdd 09-Jul-2010 Bruno Cardoso Lopes <bruno.cardoso@gmail.com> Start the support for AVX instructions with 256-bit %ymm registers. A couple of
notes:
- The instructions are being added with dummy placeholder patterns using some 256
specifiers, this is not meant to work now, but since there are some multiclasses
generic enough to accept them, when we go for codegen, the stuff will be already
there.
- Add VEX encoding bits to support YMM
- Add MOVUPS and MOVAPS in the first round
- Use "Y" as suffix for those Instructions: MOVUPSYrr, ...
- All AVX instructions in X86InstrSSE.td will move soon to a new X86InstrAVX
file.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107996 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_32-encoding.s
86/x86_64-encoding.s
834df19452a551195ab012a8923b646b9a57a0d9 09-Jul-2010 Chris Lattner <sabre@nondot.org> Rework segment prefix emission code to handle segments
in memory operands at the same type as hard coded segments.
This fixes problems where we'd emit the segment override after
the REX prefix on instructions like:
mov %gs:(%rdi), %rax

This fixes rdar://8127102. I have several cleanup patches coming
next.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107917 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_64-encoding.s
9fc05227a2596c545b845ed9a72673995e49d16b 08-Jul-2010 Chris Lattner <sabre@nondot.org> Implement the major chunk of PR7195: support for 'callw'
in the integrated assembler. Still some discussion to be
done.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107825 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_64-encoding.s
cc69e13a36b2238d8e0a2fc01463d16943c08936 08-Jul-2010 Bruno Cardoso Lopes <bruno.cardoso@gmail.com> Add more assembly opcodes for SSE compare instructions

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107823 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_32-encoding.s
86/x86_64-encoding.s
ced9ec9baceb8fd89fc657cfeeb1697f27d2e6ec 07-Jul-2010 Bruno Cardoso Lopes <bruno.cardoso@gmail.com> Add AVX AES instructions

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107798 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_32-encoding.s
86/x86_64-encoding.s
4f6bdf9042dee0d49b0537b73be93878d0b402b1 07-Jul-2010 Bruno Cardoso Lopes <bruno.cardoso@gmail.com> Add AVX SSE4.2 instructions

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107752 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_32-encoding.s
86/x86_64-encoding.s
09df2ae0d056f846850732b4ec1ab49dee9791cc 07-Jul-2010 Bruno Cardoso Lopes <bruno.cardoso@gmail.com> Add AVX SSE4.1 insertps, ptest and movntdqa instructions

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107747 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_32-encoding.s
86/x86_64-encoding.s
3c1482231290e4c180556e090475bd09e7a26480 07-Jul-2010 Bruno Cardoso Lopes <bruno.cardoso@gmail.com> Add AVX SSE4.1 extractps and pinsr instructions

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107746 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_32-encoding.s
86/x86_64-encoding.s
4fd32db6a6a43296489ac65b3cc84660f0621694 07-Jul-2010 Bruno Cardoso Lopes <bruno.cardoso@gmail.com> Add AVX SSE4.1 Extract Integer instructions

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107740 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_32-encoding.s
86/x86_64-encoding.s
ee94e8297e37775011b5ddebc55b729d694cfa84 07-Jul-2010 Bruno Cardoso Lopes <bruno.cardoso@gmail.com> Add the rest of AVX SSE4.1 packed move with sign/zero extend instructions

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107723 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_32-encoding.s
86/x86_64-encoding.s
36869b69b0b42944e8e3add7db2299e19e94e53d 07-Jul-2010 Bruno Cardoso Lopes <bruno.cardoso@gmail.com> Add part of AVX SSE4.1 packed move with sign/zero extend instructions

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107720 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_32-encoding.s
86/x86_64-encoding.s
07de40629f73fb018a2a7f0a5bbd1ee4defe95fd 07-Jul-2010 Bruno Cardoso Lopes <bruno.cardoso@gmail.com> Add AVX vblendvpd, vblendvps and vpblendvb instructions
Update VEX encoding to support those new instructions


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107715 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_32-encoding.s
86/x86_64-encoding.s
68b559e5f34b787fac04eb617c451cc840a473b4 03-Jul-2010 Bruno Cardoso Lopes <bruno.cardoso@gmail.com> Add AVX SSE4.1 blend, mpsadbw and vdp

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107560 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_32-encoding.s
86/x86_64-encoding.s
4a544be3a8d27b0f4314e893397124c3c7ed1507 03-Jul-2010 Bruno Cardoso Lopes <bruno.cardoso@gmail.com> Add AVX SSE4.1 binop (some forms of packed max,min,mul,pack,cmp) instructions

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107558 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_32-encoding.s
86/x86_64-encoding.s
c607570563609b97f9bb0e3a367c9460c00976a7 03-Jul-2010 Bruno Cardoso Lopes <bruno.cardoso@gmail.com> Add AVX SSE4.1 Horizontal Minimum and Position instruction

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107552 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_32-encoding.s
86/x86_64-encoding.s
2c70d4ad35e6a7beddb0b65d9176ede77ea5683e 03-Jul-2010 Bruno Cardoso Lopes <bruno.cardoso@gmail.com> Add AVX SSE4.1 round instructions

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107549 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_32-encoding.s
86/x86_64-encoding.s
f5cd8c51e3d09a2af32e03414e75d3b50f47d0aa 03-Jul-2010 Bruno Cardoso Lopes <bruno.cardoso@gmail.com> - Add support for the rest of AVX SSE3 instructions
- Fix VEX prefix to be emitted with 3 bytes whenever VEX_5M
represents a REX equivalent two byte leading opcode



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107523 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_32-encoding.s
86/x86_64-encoding.s
c6fcdeb8f94c0b1a4b203e341d978b36df58b1e3 01-Jul-2010 Bruno Cardoso Lopes <bruno.cardoso@gmail.com> Move SSE3 Move patterns to a more appropriate section
Add AVX SSE3 packed horizontal and & sub instructions


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107405 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_32-encoding.s
86/x86_64-encoding.s
7144821c61db5c12be2d24f2149ff63804f24d1a 01-Jul-2010 Bruno Cardoso Lopes <bruno.cardoso@gmail.com> Add AVX SSE3 packed addsub instructions

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107404 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_32-encoding.s
86/x86_64-encoding.s
79b634c244e178ff4ab38151c77d2307f4f6ffe1 01-Jul-2010 Bruno Cardoso Lopes <bruno.cardoso@gmail.com> Add AVX SSE3 replicate and convert instructions

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107375 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_32-encoding.s
86/x86_64-encoding.s
6596a6207627ed59f568883924a21e642934c083 01-Jul-2010 Bruno Cardoso Lopes <bruno.cardoso@gmail.com> - Add AVX SSE2 Move doubleword and quadword instructions.
- Add encode bits for VEX_W
- All 128-bit SSE 1 & SSE2 instructions that are described
in the .td file now have a AVX encoded form already working.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107365 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_32-encoding.s
86/x86_64-encoding.s
e26f14d15024d27cc1416efb62432de54ee779d2 30-Jun-2010 Bruno Cardoso Lopes <bruno.cardoso@gmail.com> Add AVX SSE2 mask creation and conditional store instructions

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107306 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_32-encoding.s
86/x86_64-encoding.s
1e4b723b20af962f1f235cc0c8929b36e8e6a9fb 30-Jun-2010 Bruno Cardoso Lopes <bruno.cardoso@gmail.com> Add AVX SSE2 packed integer extract/insert instructions

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107293 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_32-encoding.s
86/x86_64-encoding.s
876085dcfa0b16071b73d4b1bb2f531bf897417a 30-Jun-2010 Bruno Cardoso Lopes <bruno.cardoso@gmail.com> Add AVX SSE2 integer unpack instructions

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107246 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_32-encoding.s
86/x86_64-encoding.s
d252fec7ae69ec95e41589d8d5b4ea218f3e25ce 30-Jun-2010 Bruno Cardoso Lopes <bruno.cardoso@gmail.com> Add AVX SSE2 packed integer shuffle instructions

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107245 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_32-encoding.s
86/x86_64-encoding.s
6d5d2b5de2e48944a5fc28aff585333e6fa52f2a 30-Jun-2010 Bruno Cardoso Lopes <bruno.cardoso@gmail.com> Add AVX SSE2 pack with saturation integer instructions

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107241 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_32-encoding.s
86/x86_64-encoding.s
c0ea94a37c6ebf7a517fd7e78b1df6bcad2e2ac9 30-Jun-2010 Bruno Cardoso Lopes <bruno.cardoso@gmail.com> Add AVX SSE2 integer packed compare instructions

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107240 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_32-encoding.s
86/x86_64-encoding.s
5a3a4767502341f304a8015580ab05ed74161ab0 30-Jun-2010 Bruno Cardoso Lopes <bruno.cardoso@gmail.com> - Add AVX form of all SSE2 logical instructions
- Add VEX encoding bits to x86 MRM0r-MRM7r


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107238 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_32-encoding.s
86/x86_64-encoding.s
6c9fa437167bf420e6cc4b0b577910d634b09ac5 30-Jun-2010 Bruno Cardoso Lopes <bruno.cardoso@gmail.com> Add *several* AVX integer packed binop instructions


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107225 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_32-encoding.s
86/x86_64-encoding.s
147b7cad2fefa3260e2da8f7cfe31ac07f352ceb 29-Jun-2010 Bruno Cardoso Lopes <bruno.cardoso@gmail.com> Add AVX ld/st XCSR register.
Add VEX encoding bits for MRMXm x86 form



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107204 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_32-encoding.s
86/x86_64-encoding.s
721ef73d88414b7cfab1f1424db7101ff727ea81 29-Jun-2010 Bruno Cardoso Lopes <bruno.cardoso@gmail.com> Add AVX non-temporal stores

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107178 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_32-encoding.s
86/x86_64-encoding.s
ea86423cbd3cc71a2ee2d261c25ab6c0eea0c7e0 29-Jun-2010 Bruno Cardoso Lopes <bruno.cardoso@gmail.com> Add sqrt, rsqrt and rcp AVX instructions

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107166 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_32-encoding.s
86/x86_64-encoding.s
4548260ab57319273f24d25bf8d6a7eeda6fe0f6 29-Jun-2010 Bruno Cardoso Lopes <bruno.cardoso@gmail.com> Described the missing AVX forms of SSE2 convert instructions

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107108 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_32-encoding.s
86/x86_64-encoding.s
bdffc16d65b92929c79f5651280ee3051a877289 26-Jun-2010 Bruno Cardoso Lopes <bruno.cardoso@gmail.com> Add AVX convert CVTSS2SI{rr,rm} and CVTDQ2PS{rr,rm} instructions

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106917 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_32-encoding.s
86/x86_64-encoding.s
161476ec343161c6c6ab16df775d853fcecd77c3 26-Jun-2010 Bruno Cardoso Lopes <bruno.cardoso@gmail.com> Reapply r106896:
Add several AVX MOV flavors
Support VEX encoding for MRMDestReg



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106912 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_32-encoding.s
86/x86_64-encoding.s
95325b08a33dbce40f4d1faa2dfada40cac6cec5 26-Jun-2010 Bruno Cardoso Lopes <bruno.cardoso@gmail.com> revert this now, it's using avx instead of sse :)

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106906 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_32-encoding.s
86/x86_64-encoding.s
544a95d7161a0b333ec889d77941aff828e627ac 26-Jun-2010 Bruno Cardoso Lopes <bruno.cardoso@gmail.com> Add several AVX MOV flavors
Support VEX encoding for MRMDestReg



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106896 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_32-encoding.s
86/x86_64-encoding.s
a0ae87fd5d8dd7e1221114c80fdfd0bba6ddaf87 25-Jun-2010 Bruno Cardoso Lopes <bruno.cardoso@gmail.com> Add some AVX convert instructions

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106815 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_32-encoding.s
86/x86_64-encoding.s
788184365a4a949eb83b0036045e6793bc6c20f0 24-Jun-2010 Bruno Cardoso Lopes <bruno.cardoso@gmail.com> - Add AVX COMI{SS,SD}{rr,rm} and UCOMI{SS,SD}{rr,rm}.
- Fix a small VEX encoding issue.
- Move compare instructions to their appropriate place.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106787 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_32-encoding.s
86/x86_64-encoding.s
645b209c4af53c0d21292df3d506cf79d4e3ec11 24-Jun-2010 Chris Lattner <sabre@nondot.org> Teach the x86 mc assembler that %dr6 = %db6, this implements
rdar://8013734


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106725 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_64-operands.s
6539dc6e6cb247de6960b2b1b3b8b01badb90728 24-Jun-2010 Bruno Cardoso Lopes <bruno.cardoso@gmail.com> Add AVX CMP{SS,SD}{rr,rm} instructions and encoding testcases


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106705 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_32-encoding.s
86/x86_64-encoding.s
e93e300ad04ca93b1e3b07d0eaf632e361785954 23-Jun-2010 Bruno Cardoso Lopes <bruno.cardoso@gmail.com> Add AVX MOVMSK{PS,PD}rr instructions



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106683 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_32-encoding.s
428256b8186208e89995d447c5e4c9d8e5c099fa 23-Jun-2010 Bruno Cardoso Lopes <bruno.cardoso@gmail.com> Add tests for different AVX cmp opcodes, also teach the x86 asm parser to understand the vcmp instruction

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106678 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_32-encoding.s
86/x86_64-encoding.s
7dbfd07e321dfdc90501d71a144749c69263659f 23-Jun-2010 Bruno Cardoso Lopes <bruno.cardoso@gmail.com> Add AVX SHUF{PS,PD}{rr,rm} instructions


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106672 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_32-encoding.s
86/x86_64-encoding.s
50b9efc2a852bab753948a35e6615ace3100c9da 23-Jun-2010 Nico Weber <nicolasweber@gmx.de> Add support for the x86 instructions "pusha" and "popa".

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106671 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_32-new-encoder.s
62a76c6401e050b741f9293d4476346f1d74230d 23-Jun-2010 Bruno Cardoso Lopes <bruno.cardoso@gmail.com> Add AVX compare packed instructions


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106600 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_32-encoding.s
86/x86_64-encoding.s
0caca3967b6547a9c97bd5e10ee3babb345a9979 23-Jun-2010 Bruno Cardoso Lopes <bruno.cardoso@gmail.com> Reapply support for AVX unpack and interleave instructions, with
testcases this time.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106593 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_32-encoding.s
86/x86_64-encoding.s
c3d57b179c33ef010ebbff003ce8c5d908cf9c01 23-Jun-2010 Bruno Cardoso Lopes <bruno.cardoso@gmail.com> Add AVX MOV{SS,SD}{rr,rm} instructions


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106588 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_32-encoding.s
86/x86_64-encoding.s
97994e02621dbb174463c348b7155978a1429b8b 22-Jun-2010 Eric Christopher <echristo@apple.com> Move a 64-bit test to the 64-bit file. Fixes an llvm-mc assertion
during test runs.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106577 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_32-encoding.s
86/x86_64-encoding.s
f4f4bad6965fc3b8df700ceb7fe4679bd386d9f9 19-Jun-2010 Bruno Cardoso Lopes <bruno.cardoso@gmail.com> Refactor aliased packed logical instructions, also add
AVX AND,OR,XOR,NAND{P}{S,D}{rr,rm} instructions.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106374 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_32-encoding.s
86/x86_64-encoding.s
be4d595afd6e0d1a1c0a511dabf2c5a724bdf366 19-Jun-2010 Bruno Cardoso Lopes <bruno.cardoso@gmail.com> Shrink down code and add for free AVX {MIN,MAX}P{S,D}{rm,rr} instructions

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106366 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_32-encoding.s
86/x86_64-encoding.s
1cf44fc051e05c7cd96a4b071b654381338baae9 19-Jun-2010 Chris Lattner <sabre@nondot.org> fix rdar://7873482 by teaching the instruction encoder to emit
segment prefixes. Daniel wrote most of this patch.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106364 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_32-new-encoder.s
86/x86_64-new-encoder.s
d7f9cc4de72bbb4f6308d7d66386319feeb4d466 18-Jun-2010 Bruno Cardoso Lopes <bruno.cardoso@gmail.com> Add {mix,max}{ss,sd}{rr,rm} AVX forms.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106264 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_32-encoding.s
86/x86_64-encoding.s
cf125d02a08b0bde90739425da7c4af9ea43b9d7 12-Jun-2010 Bruno Cardoso Lopes <bruno.cardoso@gmail.com> More AVX: {ADD,SUB,MUL,DIV}{PD,PS}rm



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105870 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_32-encoding.s
86/x86_64-encoding.s
7be0d2c8e944d0f51db8abb0fb4c8fb7c1bfe8f8 12-Jun-2010 Bruno Cardoso Lopes <bruno.cardoso@gmail.com> More AVX: {ADD,SUB,MUL,DIV}{PD,PS}rr
Handle OpSize TSFlag for AVX



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105869 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_32-encoding.s
86/x86_64-encoding.s
c902a59f4c786a2a047f0b4c964a93108f248915 12-Jun-2010 Bruno Cardoso Lopes <bruno.cardoso@gmail.com> More AVX instructions ({ADD,SUB,MUL,DIV}{SS,SD}rm)
Introduce the VEX_X field


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105859 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_32-encoding.s
86/x86_64-encoding.s
99405df044f2c584242e711cc9023ec90356da82 09-Jun-2010 Bruno Cardoso Lopes <bruno.cardoso@gmail.com> Reapply r105521, this time appending "LLU" to 64 bit
immediates to avoid breaking the build.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105652 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_32-encoding.s
86/x86_64-encoding.s
1087f54ddb70bd2a7ab62608161e4a3f0c345935 05-Jun-2010 Chris Lattner <sabre@nondot.org> revert r105521, which is breaking the buildbots with stuff like this:

In file included from X86InstrInfo.cpp:16:
X86GenInstrInfo.inc:2789: error: integer constant is too large for 'long' type
X86GenInstrInfo.inc:2790: error: integer constant is too large for 'long' type
X86GenInstrInfo.inc:2792: error: integer constant is too large for 'long' type
X86GenInstrInfo.inc:2793: error: integer constant is too large for 'long' type
X86GenInstrInfo.inc:2808: error: integer constant is too large for 'long' type
X86GenInstrInfo.inc:2809: error: integer constant is too large for 'long' type
X86GenInstrInfo.inc:2816: error: integer constant is too large for 'long' type
X86GenInstrInfo.inc:2817: error: integer constant is too large for 'long' type



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105524 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_32-encoding.s
86/x86_64-encoding.s
3eca98bb3ab1ec27ab8763298c416d282cdaa261 05-Jun-2010 Bruno Cardoso Lopes <bruno.cardoso@gmail.com> Initial AVX support for some instructions. No patterns matched
yet, only assembly encoding support.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105521 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_32-encoding.s
86/x86_64-encoding.s
31cc9655b681c1b9b0a199131588377ce578ec0d 28-May-2010 Kevin Enderby <enderby@apple.com> MC/X86: Add alias for movzx.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105005 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_64-new-encoder.s
5e394429ab0a51af87056fbdaceeae879e651963 28-May-2010 Kevin Enderby <enderby@apple.com> MC/X86: Add alias for fwait.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105001 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_32-new-encoder.s
31b6c5b2f3118ba8ab9366ecf37085a26be6db97 28-May-2010 Kevin Enderby <enderby@apple.com> Fix the use of x86 control and debug registers so that the assertion failure in
getX86RegNum() does not happen. Patch by Shantonu Sen!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104994 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_32-new-encoder.s
b106543592abcaabdbe929dd05d914f613f00af2 26-May-2010 Kevin Enderby <enderby@apple.com> Fix the x86 move to/from segment register instructions.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104731 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_32-new-encoder.s
cf50a5390c09325a7fc41640449205eced4363f6 25-May-2010 Kevin Enderby <enderby@apple.com> Changed the encoding of X86 floating point stack operations where both operands
are st(0). These can be encoded using an opcode for storing in st(0) or using
an opcode for storing in st(i), where i can also be 0. To allow testing with
the darwin assembler and get a matching binary the opcode for storing in st(0)
is now used. To do this the same logical trick is use from the darwin assembler
in converting things like this:

fmul %st(0), %st

into this:

fmul %st(0)

by looking for the second operand being X86::ST0 for specific floating point
mnemonics then removing the second X86::ST0 operand. This also has the add
benefit to allow things like:

fmul %st(1), %st

that llvm-mc did not assemble.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104634 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_32-new-encoder.s
39e2dd7bab1925e12d4a03ae7abca0eff87274d6 25-May-2010 Daniel Dunbar <daniel@zuster.org> MC/X86: Add a hack to allow recognizing 'cmpltps' and friends.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104626 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_32-new-encoder.s
79373680ed7f2b92df4a5c45d0d9bbd47af77c58 25-May-2010 Daniel Dunbar <daniel@zuster.org> MC/X86: Define explicit immediate forms of cmp{ss,sd,ps,pd}.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104622 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_32-new-encoder.s
04ac770be90f7e6c308fb0213caab2bed2c20e47 25-May-2010 Kevin Enderby <enderby@apple.com> The BT64ri8 record in X86Instr64bit.td was missing a REX_W which is required
for the 64-bit version of the Bit Test instruction.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104621 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_64-new-encoder.s
7e2f5aaa6754542e869e4f506273e2df45dcda6a 25-May-2010 Eric Christopher <echristo@apple.com> Make sure aeskeygenassist uses an unsigned immediate field.

Fixes rdar://8017638


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104617 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_32-encoding.s
e350690e3b0b33255ad9b8f152da4dff43014f9b 24-May-2010 Dan Gohman <gohman@apple.com> Fix an mmx movd encoding.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104552 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_64-encoding.s
ca956dc0f66a573735cdea16acab7159c0c254e5 24-May-2010 Kevin Enderby <enderby@apple.com> MC/X86: Add aliases for CMOVcc variants.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104549 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_32-new-encoder.s
62e4c671b6b0f13c04a20bb43c05bfe84984ef34 22-May-2010 Daniel Dunbar <daniel@zuster.org> MC/X86: Subdivide immediates a bit more, so that we properly recognize immediates based on the width of the target instruction. For example:
addw $0xFFFF, %ax
should match the same as
addw $-1, %ax
but we used to match it to the longer encoding.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104453 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_64-imm-widths.s
4c361972fd9110eff30145abdd17f195404a4e49 22-May-2010 Daniel Dunbar <daniel@zuster.org> MC/X86: Add alias for setz, setnz, jz, jnz.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104435 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_64-new-encoder.s
9d31d79493be05ab9cbf5b7fb16b52e79712eff3 22-May-2010 Kevin Enderby <enderby@apple.com> Added retl for 32-bit x86 and added retq for 64-bit x86.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104394 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_32-new-encoder.s
86/x86_64-new-encoder.s
4e7f8390c0aada41b820fe47f65b7bde570f53a7 20-May-2010 Daniel Dunbar <daniel@zuster.org> MC/X86: Add movq alias for movabsq, to allow matching 64-bit immediates with movq.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104275 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_64-new-encoder.s
e5e4ff974df52aa870085904b6670c4d22ada0ac 20-May-2010 Dan Gohman <gohman@apple.com> Fix assembly parsing and encoding of the pushf and popf family of
instructions.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104231 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_32-bit_cat.s
86/x86_32-new-encoder.s
86/x86_64-new-encoder.s
14aaeac5cf8dd96859c4e74423f17a3da1c094c4 20-May-2010 Dan Gohman <gohman@apple.com> Define the x86 pause instruction.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104204 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_32-bit_cat.s
86/x86_32-new-encoder.s
ee5673b622de7684c20b265f15a7563c573f452a 20-May-2010 Dan Gohman <gohman@apple.com> Fix the sfence instruction to use MRM_F8 instead of MRM7r, since it
doesn't have a register operand. Also, use I instead of PSI, for
consistency with mfence and lfence.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104203 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_32-new-encoder.s
a7f1354eb5289b340220c9138befff89822119b2 20-May-2010 Chris Lattner <sabre@nondot.org> fix rdar://7986634 - match instruction opcodes case insensitively.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104183 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_instructions.s
c6177a4531a5d7e2207a3184cc8a4f1792073a7d 18-May-2010 Eric Christopher <echristo@apple.com> More data/parsing support for tls directives. Add a few more testcases
and cleanup comments as well.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103985 91177308-0d34-0410-b5e6-96231b3b80d8
irective_tbss.s
irective_tdata.s
irective_thread_init_func.s
irective_tlv.s
525a3a67c16c2d1d9ce9d75ed1b44296be6c2270 17-May-2010 Daniel Dunbar <daniel@zuster.org> llvm-mc: Support reassignment of variables in one special case, when the
variable has not yet been used in an expression. This allows us to support a few
cases that show up in real code (mostly because gcc generates it for Objective-C
on Darwin), without giving up a reasonable semantic model for assignment.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103950 91177308-0d34-0410-b5e6-96231b3b80d8
ssignment.s
d04d98d24fe5c82c7e69b711cd989ef96980fb8e 17-May-2010 Eric Christopher <echristo@apple.com> Assume that we'll handle mangling the symbols earlier and just put the
symbol to the file as we have it. Simplifies out tbss handling.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103928 91177308-0d34-0410-b5e6-96231b3b80d8
irective_tbss.s
c3ce05c594ded5c2ad20410719bd9e586aeff180 14-May-2010 Kevin Enderby <enderby@apple.com> Fix so "int3" is correctly accepted, added "into" and fixed "int" with an
argument, like "int $4", to not get an Assertion error.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103791 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_32-new-encoder.s
482eba054ab3543ee0e1f453d3d6441092f4b76d 14-May-2010 Eric Christopher <echristo@apple.com> Add AsmParser support for darwin tbss directive.

Nothing uses this yet.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103757 91177308-0d34-0410-b5e6-96231b3b80d8
irective_tbss.s
7bb7c55a619c29f96518f4a0da57799cdef27167 13-May-2010 Chris Lattner <sabre@nondot.org> fix rdar://7965971 and a fixme: use ParseIdentifier in
ParseDirectiveDarwinZerofill instead of hard coding the
check for identifier. This allows quoted symbol names to
be used.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103682 91177308-0d34-0410-b5e6-96231b3b80d8
irective_zerofill.s
b5505d0ee34c22ca25189e035e29e07323311ec9 13-May-2010 Chris Lattner <sabre@nondot.org> reapply r103668 with a fix. Never make "minor syntax changes"
after testing before committing.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103681 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_32-new-encoder.s
86/x86_64-new-encoder.s
3519f9d7d179ac1a77a4721b2e5f8123f95af418 13-May-2010 Chris Lattner <sabre@nondot.org> revert r103668 for now, it is apparently breaking things.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103677 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_32-new-encoder.s
86/x86_64-new-encoder.s
0de8e3f10ac42abbd642fb2bdab5911374b14a75 13-May-2010 Chris Lattner <sabre@nondot.org> moffset forms of moves are x86-32 only, make the parser
lower them to the correct x86-64 instructions since we
don't have a clean way to handle this in td files yet.
rdar://7947184


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103668 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_32-new-encoder.s
86/x86_64-new-encoder.s
2745f6e920dd8b562ded008e3e34acc873c5a36f 13-May-2010 Chris Lattner <sabre@nondot.org> fix the encoding of the obscure "moffset" forms of moves, i386
part first. rdar://7947184


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103660 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_32-new-encoder.s
0481449a0536311b5fefc9122ce679000540e013 12-May-2010 Daniel Dunbar <daniel@zuster.org> MC/X86: Extend suffix matching hack to match 'q' suffix.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103535 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_64-suffix-matching.s
c26ae5ab7e2d65b67c97524e66f50ce86445dec7 07-May-2010 Daniel Dunbar <daniel@zuster.org> MC/X86: X86AbsMemAsmOperand is subclass of X86NoSegMemAsmOperand.
- This fixes "leal 0, %eax", for example.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103205 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_instructions.s
e1611f26e332045272923d4e540b055c1c08be4d 06-May-2010 Chris Lattner <sabre@nondot.org> fix rdar://7947167 - llvm-mc doesn't match movsq



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103199 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_64-new-encoder.s
5fe03c023cd47a718759a3a4dc1d8e33297ae0fc 06-May-2010 Daniel Dunbar <daniel@zuster.org> Revert r103137, fix for $ in labels. It looks like we can't actually handle this
at the token level. Consider the following horrible test case:

a = 1
.globl $a
movl ($a), %eax
movl $a, %eax
movl $$a, %eax

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103178 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_operands.s
abels.s
851f87c6c98af936ba68c5ca8962df3832f8a5fc 06-May-2010 Chris Lattner <sabre@nondot.org> fix rdar://7946934 - in some limited cases, the assembler should
allow $ at the start of a symbol name.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103137 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_operands.s
abels.s
e9f0fb4179d57c631a72fa8020ca05a4d132e15b 04-May-2010 Daniel Dunbar <daniel@zuster.org> MC/X86: Chris pointed that 'as' isn't consistent in accepting the long form of
instructions which have no direct register usage.

Darwin 'as' accepts:
add $0, (%rax)
but rejects
mov $0, (%rax)
for example.

Given that, only accept suffix matches which match exactly one form. We still
need to emit nice diagnostics for failures...

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103015 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_64-suffix-matching.s
c918d6043b823173b106c163038b14c1e2f92765 04-May-2010 Daniel Dunbar <daniel@zuster.org> MC/X86: Add "support" for matching ATT style mnemonic prefixes.
- The idea is that when a match fails, we just try to match each of +'b', +'w',
+'l'. If exactly one matches, we assume this is a mnemonic prefix and accept
it. If all match, we assume it is width generic, and take the 'l' form.

- This would be a horrible hack, if it weren't so simple. Therefore it is an
elegant solution! Chris gets the credit for this particular elegant
solution. :)

- Next step to making this more robust is to have the X86 matcher generate the
mnemonic prefix information. Ideally we would also compute up-front exactly
which mnemonic to attempt to match, but this may require more custom code in
the matcher than is really worth it.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103012 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_64-suffix-matching.s
9d0838fba8bb79bd4f43244e91f199dd8f4ea1b6 03-May-2010 Kevin Enderby <enderby@apple.com> Changed llvm-mc to use the same suffixes with floating point compare
instructions as the Mac OS X darwin assembler. Some of which like 'fcoml'
assembled to different opcodes. While some of the suffixes were just different.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102958 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_32-encoding.s
eb612347f4ec1c6a44daa6abf232e25232984ef8 03-May-2010 Kevin Enderby <enderby@apple.com> Fixed the encoding of two of the X86 movq instuctions. The Move quadword from
mm to mm/m64 and the Move quadword from xmm2/mem64 to xmm1 had the incorrect
encodings.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102952 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_32-encoding.s
3c979b06c041544b97b13c5adac1a91d6cde6582 03-May-2010 Kevin Enderby <enderby@apple.com> Fixed the encoding of the x86 push instructions. Using a 32-bit immediate value
caused the a pushl instruction to be incorrectly encoding using only two bytes
of immediate, causing the following 2 instruction bytes to be part of the 32-bit
immediate value. Also fixed the one byte form of push to be used when the
immediate would fit in a signed extended byte. Lastly changed the names to not
include the 32 of PUSH32 since they actually push the size of the stack pointer.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102951 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_32-encoding.s
9ac7282117d57932933b539fc8b7b17b6693cf9f 29-Apr-2010 Kevin Enderby <enderby@apple.com> Fixed the word sized Bit Scan Forward/Reverse instructions, they needed the
Operand size override prefix to be part of their records.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102556 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_32-encoding.s
eef6d78be1c3a685f277be3e89ff17f67ed65f49 17-Apr-2010 Chris Lattner <sabre@nondot.org> teach the x86 asm parser how to handle segment prefixes
in memory operands. rdar://7874844


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101661 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_operands.s
65de1b9eb373e196681bfc32f49c40f0d0561522 17-Apr-2010 Chris Lattner <sabre@nondot.org> a bunch of ssse3 instructions are misencoded to think they have an
i8 field when they really do not. This fixes rdar://7840289


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101629 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_32-encoding.s
d305035155ef3d138e102434bf5a733ea2e32405 14-Apr-2010 Chris Lattner <sabre@nondot.org> implement mc asmparser support for '.', which gets the
current PC. rdar://7834775

We now produce an identical .o file compared to the cctools
assembler for something like this:

_f0:
L0:
jmp L1
.long . - L0
L1:
jmp A
.long . - L1

.zerofill __DATA,_bss,A,0



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101227 91177308-0d34-0410-b5e6-96231b3b80d8
xprs.s
86afec7730e719600952bc9019f25e85289032a9 25-Mar-2010 Bob Wilson <bob.wilson@apple.com> Reapply Kevin's change 94440, now that Chris has fixed the limitation on
opcode values fitting in one byte (svn r99494).


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99514 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_32-bit_cat.s
86/x86_32-encoding.s
014dc4e7202f88fdd9c255837bf125f891f2f6b6 25-Mar-2010 Bob Wilson <bob.wilson@apple.com> Speculatively revert this to see if it fixes buildbot failures.
--- Reverse-merging r99440 into '.':
U test/MC/AsmParser/X86/x86_32-bit_cat.s
U test/MC/AsmParser/X86/x86_32-encoding.s
U include/llvm/IntrinsicsX86.td
U include/llvm/CodeGen/SelectionDAGNodes.h
U lib/Target/X86/X86InstrSSE.td
U lib/Target/X86/X86ISelLowering.h


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99450 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_32-bit_cat.s
86/x86_32-encoding.s
760c2f34d94d01ddce47634e69bd77a3625899bf 24-Mar-2010 Kevin Enderby <enderby@apple.com> Added the Advanced Encryption Standard (AES) Instructions.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99440 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_32-bit_cat.s
86/x86_32-encoding.s
044be39090a702504c62fc0544fc977a6caa7112 24-Mar-2010 Kevin Enderby <enderby@apple.com> Fixed the SS42AI template for the SSE 4.2 instructions with TA prefix so it does
not get an "Unknown immediate size" assert failure when used. All instructions
of this form have an 8-bit immediate. Also added a test case of an example
instruction that is of this form.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99435 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_32-encoding.s
b46b03b36f50c11d5517024c1d0ef3763085eb90 19-Mar-2010 Kevin Enderby <enderby@apple.com> Fixed the encoding problems of the crc32 instructions. All had the Operand size
override prefix and only the r/m16 forms should have had that. Also for variant
one, the AT&T syntax, added suffixes to all forms. Also added the missing
64-bit form for 'CRC32 r64, r/m8'. Plus added test cases for all forms and
tweaked one test case to add the needed suffixes.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98980 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_32-bit_cat.s
86/x86_32-encoding.s
86/x86_64-encoding.s
0180daee024b97c87c34ac8c2a7b88c9e643c9aa 19-Mar-2010 Daniel Dunbar <daniel@zuster.org> MC/X86: Rename alternate spellings of {ADD64,CMP64} and mark as "code gen only" so they don't get selected by the asm matcher.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98972 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_64-new-encoder.s
c28c7689fc555b8507d2b0b128f4e6b05dcf2027 19-Mar-2010 Daniel Dunbar <daniel@zuster.org> X86: Fix encoding for TEST64rr.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98919 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_64-new-encoder.s
9fdac902d4300f2b0b8f4830ff276cc8199864b5 18-Mar-2010 Daniel Dunbar <daniel@zuster.org> X86MCCodeEmitter: Fix two minor issues with reloc_riprel_4byte_movq_load, we
were missing it on some movq instructions and were not including the appropriate
PCrel bias.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98880 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_64-new-encoder.s
f98bc6320b61645897606ef332cff60521c1e8f3 18-Mar-2010 Daniel Dunbar <daniel@zuster.org> MC/X86/AsmMatcher: Use the new instruction cleanup routine to implement a
temporary workaround for matching inc/dec on x86_64 to the correct instruction.
- This hack will eventually be replaced with a robust mechanism for handling
matching instructions based on the available target features.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98858 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_64-incl_decl.s
618d0ed4bc0b68d87f86eace0cd6b9c05329dfc7 18-Mar-2010 Chris Lattner <sabre@nondot.org> fix an x86-64 encoding bug Daniel found.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98855 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_64-new-encoder.s
0f53cf22361d89690dcf58409decb43d2a3ad60f 18-Mar-2010 Chris Lattner <sabre@nondot.org> add a special relocation type for movq loads for object
files that produce special relocation types where the
linker changes movq's into lea's.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98839 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_64-new-encoder.s
9e2dab7dbe518bbeb7e93d0f3459e3f1c5f61964 14-Mar-2010 Chris Lattner <sabre@nondot.org> xfail these tests temporarily to get teh buildbots back to happy land.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98476 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_32-bit.s
86/x86_32-bit_cat.s
86/x86_32-encoding.s
859c9dc867960c88db326d8ee16870a518457ec0 13-Mar-2010 Daniel Dunbar <daniel@zuster.org> X86: Fix ADD64i32 encoding.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98457 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_64-new-encoder.s
96e2cec9c743d1242be0e987f6873f74a15d2f80 13-Mar-2010 Daniel Dunbar <daniel@zuster.org> MC/X86_64: Fix matching of leaq.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98444 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_64-operands.s
989ac729811802a4b2a23dd2afd825df1b07f849 13-Mar-2010 Daniel Dunbar <daniel@zuster.org> MC/X86_64: Fix matching of callq.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98443 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_64-operands.s
d5e7705a05947e60806b795880f09757e835f590 13-Mar-2010 Daniel Dunbar <daniel@zuster.org> MC/X86: Add temporary hack to match shrl $1,%eax correctly, to support testing
other functionality on 403.gcc compiled at -O0.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98405 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_32-new-encoder.s
69c695ee472853fa1ee93a94f00ef2a14bf18a66 13-Mar-2010 Daniel Dunbar <daniel@zuster.org> MC/X86: Add an XFAIL test where we aren't matching the correct instruction
because we don't understand how the specific instruction is doing sign
extension.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98404 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_32-mismatched-add.s
f291be3159530fdca2fd5e726ec2bd3100f38e55 09-Mar-2010 Daniel Dunbar <daniel@zuster.org> MC/X86: Rename alternate spellings of ADD{8,16,32} and mark as "code gen only" so they don't get selected by the asm matcher.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98098 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_32-new-encoder.s
1e8ee89c213704c398d8a7ea2567a30b0f75eb5f 09-Mar-2010 Daniel Dunbar <daniel@zuster.org> MC/X86: Rename alternate spellings of CMP{8,16,32} and mark as "code gen only" so they don't get selected by the asm matcher.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98097 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_32-new-encoder.s
b93c72cda456c96224d25e1df11112bd9b69cf69 08-Mar-2010 Daniel Dunbar <daniel@zuster.org> X86: Fix encoding for TEST{8,16,32}rr.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97982 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_32-new-encoder.s
a08b587494a09a94a72245dd9d7088564e511f4e 16-Feb-2010 Chris Lattner <sabre@nondot.org> make pcrel immediate values relative to the start of the field,
not the end of the field, fixing rdar://7651978


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96330 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_64-new-encoder.s
b779033a23c49c2e5e02b15a87bbae42973287b3 13-Feb-2010 Chris Lattner <sabre@nondot.org> add encoder support and tests for rdtscp


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96076 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_32-new-encoder.s
e9a60eb4987a096df10de0442af1e2929bc32547 13-Feb-2010 Daniel Dunbar <daniel@zuster.org> MC/AsmParser: Attempt to constant fold expressions up-front. This ensures we avoid fixups for obvious cases like '-(16)'.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96064 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_32-new-encoder.s
86/x86_operands.s
onditional_asm.s
f068304b1f9205b49aa4bef75e669f750906b84f 13-Feb-2010 Chris Lattner <sabre@nondot.org> rip out the 'heinous' x86 MCCodeEmitter implementation.
We still have the templated X86 JIT emitter, *and* the
almost-copy in X86InstrInfo for getting instruction sizes.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96059 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_32-new-encoder.s
86/x86_64-new-encoder.s
a599de241041eebc84867ac8e4cb76668cabd236 13-Feb-2010 Chris Lattner <sabre@nondot.org> remove special cases for vmlaunch, vmresume, vmxoff, and swapgs
fix swapgs to be spelled right.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96058 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_32-new-encoder.s
9c60f534cbdec2ba58b269c4d624ae4d301ef73a 13-Feb-2010 Daniel Dunbar <daniel@zuster.org> MC/X86: Push immediate operands as immediates not expressions when possible.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96055 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_64-new-encoder.s
86/x86_instructions.s
86/x86_operands.s
4a2e5edb94c5d6ceb2f8f99ec031963e4c3862f9 13-Feb-2010 Chris Lattner <sabre@nondot.org> implement the rest of correct x86-64 encoder support for
rip-relative addresses, and add a testcase.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96040 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_64-new-encoder.s
c4d3f662fc2e907ea2c76aca8ec1971e43f89c98 12-Feb-2010 Chris Lattner <sabre@nondot.org> fix the encodings of monitor and mwait, which were completely
busted in both encoders. I'm not bothering to fix it in the
old one at this point.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95947 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_32-new-encoder.s
1c5bcac7d55efa4df0b6d67bb9cf4fa362244812 11-Feb-2010 Kevin Enderby <enderby@apple.com> Remove the few # TAILCALL comments that snuck in. As they may fail on linux.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95827 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_32-bit_cat.s
ac175e251dbd6f55448677a7dae70f92c49a0286 11-Feb-2010 Kevin Enderby <enderby@apple.com> Update the X86 assembler matcher test case now that a few more things match
with some of the recent changes that have gone into llvm-mc.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95826 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_32-bit_cat.s
1b6c0605915a2f626b1d3aae6f8371924e0fffe7 10-Feb-2010 Daniel Dunbar <daniel@zuster.org> MC/X86 AsmMatcher: Fix a use after free spotted by d0k, and de-XFAIL
x86_32-encoding.s in on expectation of it passing.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95806 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_32-encoding.s
ac6dd79a5548c2e0a409cccd34ad056dd521a80f 10-Feb-2010 Daniel Dunbar <daniel@zuster.org> XFAIL this on linux until I figure out what is happening.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95804 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_32-encoding.s
d901690b822fd40adc5eb34f777ee15d689b8d50 10-Feb-2010 Kevin Enderby <enderby@apple.com> Replace this file containing 4 tests of x86 32-bit encodings with a file
containing the subset of the full auto generated test case that currently
encodes correctly. Again it is useful as we bring up the the new encoder
to make sure currently working stuff stays working.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95791 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_32-encoding.s
40fe18f66e7c94bda22bb3ad5fbef336fffd0f9d 10-Feb-2010 Kevin Enderby <enderby@apple.com> Fix the encoding of the movntdqa X86 instruction. It was missing the 0x66
prefix which is part of the opcode encoding.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95729 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_32-encoding.s
9e8528fc5cd7426884c1708d921d4608ac3878b7 09-Feb-2010 Chris Lattner <sabre@nondot.org> fix X86 encoder to output [disp] only addresses with no SIB byte
in X86-32 mode. This is still required in x86-64 mode to avoid
forming [disp+rip] encoding. Rewrite the SIB byte decision logic
to be actually understandable.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95693 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_32-encoding.s
e16b0fc3cb607bd0b8240733e2fe829d78df3833 09-Feb-2010 Chris Lattner <sabre@nondot.org> Implement x86 asm parsing support for %st and %st(4)


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95634 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_instructions.s
8f60e4d679003235d6e4ac2f5f03eb757a84dde8 05-Feb-2010 Chris Lattner <sabre@nondot.org> fix incorrect encoding of SBB8mi that Kevin noticed.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95448 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_32-encoding.s
3f1118310eddbbc0d5972e8564c7ac9b91464a33 05-Feb-2010 Chris Lattner <sabre@nondot.org> fix a case where we'd mis-encode fisttp because of an incorrect (and
redundant with a correct one) pattern that was added for the disassembler.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95446 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_32-encoding.s
c8296a0d597a27e7070787d12c8fbe16830b1734 05-Feb-2010 Chris Lattner <sabre@nondot.org> remove fixme


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95444 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_instructions.s
12ce0de4622df7bcc15ba6c8818b98c0b936876a 03-Feb-2010 Kevin Enderby <enderby@apple.com> Added support for X86 instruction prefixes so llvm-mc can assemble them. The
Lock prefix, Repeat string operation prefixes and the Segment override prefixes.
Also added versions of the move string and store string instructions without the
repeat prefixes to X86InstrInfo.td. And finally marked the rep versions of
move/store string records in X86InstrInfo.td as isCodeGenOnly = 1 so tblgen is
happy building the disassembler files.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95252 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_instructions.s
e7070e90066acc3460af1d6cac4036a80b0250b8 03-Feb-2010 Daniel Dunbar <daniel@zuster.org> AsmParser/X86: Add temporary hack to allow parsing "sal". Eventually we need
some mechanism for specifying alternative syntaxes, but I'm not sure what form
that should take yet.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95158 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_instructions.s
41051552312c67d53f5571bf9451093e57d1b95a 02-Feb-2010 Chris Lattner <sabre@nondot.org> remove the # TAILCALL markers, which was causing the to fail.
It's unclear if the matcher is nondeterminstic of what here,
but I'm getting matches without TAILCALL and some other hosts
are getting matches with it.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95149 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_32-bit_cat.s
1de46a4ab526243aa950e3f06ab40745d275527d 02-Feb-2010 Chris Lattner <sabre@nondot.org> this apparently depends on the host somehow.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95122 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_32-bit_cat.s
d56f80358b113e918dc43d5b7659f4dd545872de 02-Feb-2010 Chris Lattner <sabre@nondot.org> disable this test for now.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95120 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_32-bit_cat.s
82a594693976edefa37160567e7f7495c2653c99 02-Feb-2010 Kevin Enderby <enderby@apple.com> Added another version of the X86 assembler matcher test case.
This test case is different subset of the full auto generated test case, and a
larger subset that is in x86_32-bit.s (that set will encode correctly). These
instructions can pass though llvm-mc as it were a logical cat(1) and then
reassemble to the same instruction. It is useful as we bring up the parser and
matcher so we don't break things that currently work.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95107 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_32-bit_cat.s
b834f5d13d824dc4da2ce0df2aa8dffb697b8974 30-Jan-2010 Daniel Dunbar <daniel@zuster.org> MC/X86 AsmParser: Handle absolute memory operands correctly. We were doing
something totally broken and parsing them as immediates, but the .td file also
had the wrong match class so things sortof worked. Except, that is, that we
would parse
movl $0, %eax
as
movl 0, %eax
Feel free to guess how well that worked.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94869 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_instructions.s
abels.s
50459580e79348003fec7849b8e147e449c472b8 30-Jan-2010 Daniel Dunbar <daniel@zuster.org> MC/X86: Add a nice X86 assembler matcher test case from Kevin Enderby.
- This test case is auto generated, and has been verified to round-trip
correctly through llvm-mc by checking the assembled .o file before and after
piping through llvm-mc. It will be extended over time as the matcher grows
support for more instructions.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94857 91177308-0d34-0410-b5e6-96231b3b80d8
86/dg.exp
86/x86_32-bit.s
d32e80307395581eac25b4b081dc4e42860b62b9 25-Jan-2010 Chris Lattner <sabre@nondot.org> wirte up .file and .file to the mc asmparser.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94438 91177308-0d34-0410-b5e6-96231b3b80d8
irective_file.s
75f265fbbbb64ab060bf41c5a4677ce56014ce9f 24-Jan-2010 Chris Lattner <sabre@nondot.org> fix a parsing problem on instructions like:
movw $8, (_cost_table_-L97$pb)+66(%eax)

After the parens, we could still have a binop.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94345 91177308-0d34-0410-b5e6-96231b3b80d8
xprs.s
12e555c36ce11c39ce15cd0b27bf7b02a068beb2 23-Jan-2010 Chris Lattner <sabre@nondot.org> teach MCAsmStreamer::EmitBytes to use .ascii and .asciz


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94259 91177308-0d34-0410-b5e6-96231b3b80d8
irective_ascii.s
8a3ee718cdaa153e29c079548e6755184d5426e4 22-Jan-2010 Daniel Dunbar <daniel@zuster.org> Mark EH_RETURN64 as CodeGenOnly.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94205 91177308-0d34-0410-b5e6-96231b3b80d8
86/x86_instructions.s
6113b3d32396168f8f390343d426baa9f64e9009 19-Jan-2010 Chris Lattner <sabre@nondot.org> add an MCAsmStreamer::EmitFill specialization of EmitFill that
emits one directive instead of N. Not doing this would be a
significant regression on the # bytes generated by .fill.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93889 91177308-0d34-0410-b5e6-96231b3b80d8
irective_space.s
f4d9a555ba99a9def419c57fd96d253961c05c84 19-Jan-2010 Chris Lattner <sabre@nondot.org> only darwin has zerofill


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93866 91177308-0d34-0410-b5e6-96231b3b80d8
irective_lcomm.s
db196e82a40020706a221c48cd99026b85fb27ab 16-Oct-2009 Daniel Dunbar <daniel@zuster.org> Force triple in tests.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84257 91177308-0d34-0410-b5e6-96231b3b80d8
ariables-invalid.s
ariables.s
75773ff00da79ecf65e8578cf6f013295a2069cf 16-Oct-2009 Daniel Dunbar <daniel@zuster.org> MC: Tweak variable assignment diagnostics, and make reassignment of non-absolute
variables and symbols invalid.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84232 91177308-0d34-0410-b5e6-96231b3b80d8
ariables-invalid.s
fffff915d53361fc575621c5e04ae7df99dd3fab 16-Oct-2009 Daniel Dunbar <daniel@zuster.org> MC: When parsing a variable reference, substitute absolute variables immediately
since they are allowed to be redefined.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84230 91177308-0d34-0410-b5e6-96231b3b80d8
abels.s
ariables.s
06e483dae04b0ad714f9d8bb0a929b98720bf483 21-Sep-2009 Daniel Dunbar <daniel@zuster.org> Move ARM and X86 specific AsmParser tests into separate subdirectories, and only
run if appropriate target is supported.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82419 91177308-0d34-0410-b5e6-96231b3b80d8
RM/arm_word_directive.s
RM/dg.exp
86/dg.exp
86/x86_instructions.s
86/x86_operands.s
86/x86_word_directive.s
rm_word_directive.s
g.exp
86_instructions.s
86_operands.s
86_word_directive.s
e895c6151589c1b7f6ac9ca992b76106fa197a37 20-Sep-2009 Chris Lattner <sabre@nondot.org> Add an intel syntax MCInstPrinter implementation. You can now
transcode from AT&T to intel syntax with "llvm-mc foo.s -output-asm-variant=1"



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82385 91177308-0d34-0410-b5e6-96231b3b80d8
ello.s
ca9c42c4daa8f4ffd9411e11c05fb53ee1bfaf70 15-Sep-2009 Kevin Enderby <enderby@apple.com> Added the first bits of the ARM target assembler to llvm-mc. For now it only
parses the .word directive as 4 bytes and ARMAsmParser::ParseInstruction will
give an error is called. Broke out the test of the .word directive into two
different test cases, one for x86 and one for arm.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81817 91177308-0d34-0410-b5e6-96231b3b80d8
rm_word_directive.s
irective_values.s
86_word_directive.s
b92c36331dd9c1102b99dc795f14513503ec3e29 14-Sep-2009 Chris Lattner <sabre@nondot.org> unbreak this test by working around an asmparser bug.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81724 91177308-0d34-0410-b5e6-96231b3b80d8
ello.s
cd60c1fb742813df2aa9d85ed6bf219b44bb4b29 08-Sep-2009 Dan Gohman <gohman@apple.com> Unbreak these tests. Chris, please verify that these changes are intended.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81217 91177308-0d34-0410-b5e6-96231b3b80d8
onditional_asm.s
abels.s
86_operands.s
0892a6d7a95fab61ff4e5640e601b363700d952f 03-Sep-2009 Chris Lattner <sabre@nondot.org> use a darwin triple


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80900 91177308-0d34-0410-b5e6-96231b3b80d8
abels.s
17b9abb799037d28382e5be16af1cd2be8d80a5f 03-Sep-2009 Chris Lattner <sabre@nondot.org> adjust expected lines.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80898 91177308-0d34-0410-b5e6-96231b3b80d8
abels.s
2f0adae973010f659909b77041b6cd674953d9b1 03-Sep-2009 Chris Lattner <sabre@nondot.org> update test for alignment value in hex


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80876 91177308-0d34-0410-b5e6-96231b3b80d8
irective_align.s
821e3334ed3390d931f497300e6a5f1dc21bcfb3 31-Aug-2009 Daniel Dunbar <daniel@zuster.org> llvm-mc: Pass values to MCStreamer as MCExprs, not MCValues.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80578 91177308-0d34-0410-b5e6-96231b3b80d8
onditional_asm.s
xprs-invalid.s
abels.s
e2ace509fc1205bed97a5114b13534610d4dbf5e 31-Aug-2009 Daniel Dunbar <daniel@zuster.org> llvm-mc: Simplify EmitAssignment ('.set' is identical to '=').

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80577 91177308-0d34-0410-b5e6-96231b3b80d8
irective_include.s
irective_set.s
abels.s
8c2eebe4074ef218b30d94358f6b2e45c079605c 31-Aug-2009 Daniel Dunbar <daniel@zuster.org> llvm-mc: Switch MCInst to storing an MCExpr* instead of an MCValue.

Also, use MCInst::print instead of custom code in MCAsmPrinter.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80575 91177308-0d34-0410-b5e6-96231b3b80d8
abels.s
86_operands.s
3a3cb6c59edb35184aad06c6d6f32ac2572b3866 30-Aug-2009 Daniel Dunbar <daniel@zuster.org> Update test.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80490 91177308-0d34-0410-b5e6-96231b3b80d8
abels.s
7092c7e1dcf9d05741b400dd54bbd7d3419773b2 30-Aug-2009 Daniel Dunbar <daniel@zuster.org> llvm-mc: MCStreamer cleanups. - Remove EmitLocalSymbol, this is unsupported for now.

- Switch Emit{CommonSymbol,Zerofill} to take alignment in bytes (for consistency).

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80484 91177308-0d34-0410-b5e6-96231b3b80d8
irective_lsym.s
e6cdbf2f92a753ad547e3287e279bf47585b228d 28-Aug-2009 Daniel Dunbar <daniel@zuster.org> llvm-mc: Emit .lcomm as .zerofill.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80343 91177308-0d34-0410-b5e6-96231b3b80d8
irective_lcomm.s
abels.s
b1126e6f4a41ba8bcee155803a6572cf2e493924 27-Aug-2009 Daniel Dunbar <daniel@zuster.org> For now, only run MC tests if X86 is configured.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80213 91177308-0d34-0410-b5e6-96231b3b80d8
g.exp
bc38ca7321b4ca32580e397a9b7df970688560c0 21-Aug-2009 Daniel Dunbar <daniel@zuster.org> llvm-mc: Accept .fill size of 8.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79635 91177308-0d34-0410-b5e6-96231b3b80d8
irective_fill.s
c21d5883acb7635635bb449dd8e439fa15a91bf6 19-Aug-2009 Daniel Dunbar <daniel@zuster.org> Fix typo


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79445 91177308-0d34-0410-b5e6-96231b3b80d8
irective_align.s
6e579c67272afdbca273ad6e6e93c5f6c0f10eeb 19-Aug-2009 Chris Lattner <sabre@nondot.org> fix asmstreaming of 2/4 byte elements with pow-2 alignments.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79408 91177308-0d34-0410-b5e6-96231b3b80d8
irective_align.s
e44313e0ca7ca3504dd9dc906e2eff8b36bc4ee4 14-Aug-2009 Daniel Dunbar <daniel@zuster.org> llvm-mc: Fix bugs where bytes were unintentionally being printed as signed.
- We now print all of 403.gcc cleanly (llvm-mc -> 'as' as diffed to 'as'), minus two
'rep;movsl' instructions (which I missed before).


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79031 91177308-0d34-0410-b5e6-96231b3b80d8
irective_ascii.s
b2d0b6b8c70dadd4c7628d814c5caf7088defad3 14-Aug-2009 Daniel Dunbar <daniel@zuster.org> llvm-mc: When handling a .set, make sure to print subsequent references to the
symbol as the symbol name itself, not the expression it was defined to. These
have different semantics due to the quirky .set behavior (which absolutizes an
expression that would otherwise be treated as a relocation).


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79025 91177308-0d34-0410-b5e6-96231b3b80d8
abels.s
12de0df59fdab799d8d1432fcfd9190829d7f292 14-Aug-2009 Daniel Dunbar <daniel@zuster.org> llvm-mc: zerofill shouldn't print quotes around the section,segment.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79017 91177308-0d34-0410-b5e6-96231b3b80d8
irective_zerofill.s
1ab75949460b92df31b911ea9f99a3e32d779e3f 14-Aug-2009 Daniel Dunbar <daniel@zuster.org> llvm-mc: Support escaped characters in string literals (for .ascii and .asciz)


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79010 91177308-0d34-0410-b5e6-96231b3b80d8
irective_ascii.s
c22e0b2443afdedb6d9b225b938ad404d63cdbe6 14-Aug-2009 Daniel Dunbar <daniel@zuster.org> Update llvm-mc / MCAsmStreamer to print the instruction using the actual target
specific printer (this only works on x86, for now).
- This makes it possible to do some correctness checking of the parsing and
matching, since we can compare the results of 'as' on the original input, to
those of 'as' on the output from llvm-mc.

- In theory, we could now have an easy ATT -> Intel syntax converter. :)


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78986 91177308-0d34-0410-b5e6-96231b3b80d8
abels.s
86_instructions.s
86_operands.s
1095f2ae261d231a63d329b0ebbf6eaf566ff429 12-Aug-2009 Daniel Dunbar <daniel@zuster.org> llvm-mc/AsmParser: Match hard coded registers (e.g. 'shldl %cl, %eax, %eax')

We now match all of 403.gcc (as emitted by clang). :)


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78750 91177308-0d34-0410-b5e6-96231b3b80d8
86_instructions.s
b27a41b44092c0a6e439203586cc944187de3388 11-Aug-2009 Daniel Dunbar <daniel@zuster.org> llvm-mc: Fix a crash on invalid due to a typo in relocatable expression
evaluation.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78692 91177308-0d34-0410-b5e6-96231b3b80d8
xprs-invalid.s
0db68f4e3a8be1641dbba72a41baa6ff1b5dd6af 11-Aug-2009 Daniel Dunbar <daniel@zuster.org> llvm-mc/X86: Parse '*' correctly (in the way the matcher expects).


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78642 91177308-0d34-0410-b5e6-96231b3b80d8
86_instructions.s
1e840b2c6150838815c1041562f9876560b0b465 11-Aug-2009 Daniel Dunbar <daniel@zuster.org> llvm-mc: Accept .word as a synonym for .short


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78641 91177308-0d34-0410-b5e6-96231b3b80d8
irective_values.s
d0c14d69134473f38b84205e9d556234b2d0c0ad 11-Aug-2009 Daniel Dunbar <daniel@zuster.org> llvm-mc: Sketch parsing for .file, .line, and .loc. No streamer hooks for these
yet (I'm not even sure what they do).


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78639 91177308-0d34-0410-b5e6-96231b3b80d8
irective_file.s
irective_line.s
irective_loc.s
ace63127bc7501d4d7707f744cdae09894342aa9 11-Aug-2009 Daniel Dunbar <daniel@zuster.org> llvm-mc: Fix darwin .section parsing. It was skipping the section name and a ','
(and outputting a diagnostic pointing at the wrong place), all of which lead to
much confusion.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78637 91177308-0d34-0410-b5e6-96231b3b80d8
irective_darwin_section.s
ea6408f8cd17b065e414611e01a7133d118429e9 11-Aug-2009 Daniel Dunbar <daniel@zuster.org> llvm-mc/AsmParser: Implement automatic classification of RegisterClass operands.
- This drops us to 123 ambiguous instructions (previously ~500) on X86.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78636 91177308-0d34-0410-b5e6-96231b3b80d8
86_instructions.s
44f63f9335bfb487a2e94cbe20d2950bbdef840e 10-Aug-2009 Daniel Dunbar <daniel@zuster.org> llvm-mc/AsmParser: Disambiguate i64i8imm.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78598 91177308-0d34-0410-b5e6-96231b3b80d8
86_instructions.s
fdb1f493ab6bcfb5603b9f497195492d92aceacb 10-Aug-2009 Daniel Dunbar <daniel@zuster.org> llvm-mc/AsmParser: Check for matches with super classes when matching
instruction operands.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78565 91177308-0d34-0410-b5e6-96231b3b80d8
ello.s
a62b02a7ef93d1fd4e09842c43074b88f559819a 09-Aug-2009 Daniel Dunbar <daniel@zuster.org> Disable this test for now, we don't check for super classes when matching yet.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78531 91177308-0d34-0410-b5e6-96231b3b80d8
ello.s
5fe6338ac859707f797bf6db6d043bb5f4d944a1 09-Aug-2009 Daniel Dunbar <daniel@zuster.org> llvm-mc/AsmParser: Implement user defined super classes.
- We can now discriminate SUB32ri8 from SUB32ri, for example.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78530 91177308-0d34-0410-b5e6-96231b3b80d8
86_instructions.s
93b6db3de934a3cfca5586df25184fef4a54c500 09-Aug-2009 Chris Lattner <sabre@nondot.org> sink the 'name' and 'isdirective' state out of MCSection into its derived classes.
This totally optimizes PIC16 sections by not having an 'isdirective' bit anymore!! ;-)


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78517 91177308-0d34-0410-b5e6-96231b3b80d8
abels.s
a3741fa28b1a397ebfd623ef9d14e978df94ce47 08-Aug-2009 Daniel Dunbar <daniel@zuster.org> llvm-mc/AsmMatcher: Improve match code.
- This doesn't actually improve the algorithm (its still linear), but the
generated (match) code is now fairly compact and table driven. Still need a
generic string matcher.

- The table still needs to be compressed, this is quite simple to do and should
shrink it to under 16k.

- This also simplifies and restructures the code to make the match classes more
explicit, in anticipation of resolving ambiguities.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78461 91177308-0d34-0410-b5e6-96231b3b80d8
abels.s
86_instructions.s
c114ed711eca29e735e10956883a1010c22d7942 08-Aug-2009 Kevin Enderby <enderby@apple.com> Added Mac OS X assembler style conditional assembly. I may come back and see if
I can clean this up a bit more and do way with the TheCondState and just use
the top element on the TheCondStack if not empty. Also may tweak the code
around ParseConditionalAssemblyDirectives() to simplify the AsmParser code.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78423 91177308-0d34-0410-b5e6-96231b3b80d8
onditional_asm.s
7ddca30f311423933ab27bd48727a7226ac3e159 07-Aug-2009 Daniel Dunbar <daniel@zuster.org> Disable X86 AsmMatcher for now, it is causing gcc-4.0 to run out of memory on
i386-apple-darwin9. This presumably will get fixed once the generated code
improves.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78379 91177308-0d34-0410-b5e6-96231b3b80d8
abels.s
86_instructions.s
20927f26fcd7d0394bc60c58c61d879a83adac0d 07-Aug-2009 Daniel Dunbar <daniel@zuster.org> llvm-mc/AsmMatcher: Move to a slightly more sane matching design.
- Still not very sane, but a least its not 60k lines on X86. :)

- In terms of correctness, currently some things are hard wired for X86, and we
still don't properly resolve ambiguities (this is ignoring the instructions
we don't even match due to funny .td stuff or other corner cases).

The high level changes:
1. Represent tokens which are significant for matching explicitly as separate
operands. This uniformly handles not only the instruction mnemonic, but
also 'signficiant' syntax like the '*' in "call * ...".

2. Separate the matching of operands to an instruction from the construction of
the MCInst. In theory this can be done during matching, but since the number
of variations is small I think it makes sense to decompose the problems.

3. Improved a few of the mechanisms to at least successfully flatten / tokenize
the assembly strings for PowerPC and ARM.

4. The comment at the top of AsmMatcherEmitter.cpp explains the approach I'm
moving towards for handling ambiguous instructions. The high-bit is to infer
a partial ordering of the operand classes (and force the user to specify one
if we can't) and use that to resolve ambiguities.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78378 91177308-0d34-0410-b5e6-96231b3b80d8
86_instructions.s
a6b3c5db2e0736937e717a1c221e51aa60700271 01-Aug-2009 Daniel Dunbar <daniel@zuster.org> llvm-mc: More quoted identifier support.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77761 91177308-0d34-0410-b5e6-96231b3b80d8
abels.s
35ee93b7919a97b3cd8ba3cd41e5fb46bfdcc6ea 01-Aug-2009 Daniel Dunbar <daniel@zuster.org> llvm-mc: Add -triple, and fix some typos


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77750 91177308-0d34-0410-b5e6-96231b3b80d8
ello.s
abels.s
ad4555c549ed41aefb306cf9bd0c2e9f60cb3047 01-Aug-2009 Daniel Dunbar <daniel@zuster.org> llvm-mc: Fix .s output to quote section & symbol names when necessary.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77749 91177308-0d34-0410-b5e6-96231b3b80d8
irective_zerofill.s
abels.s
c09e411102878c7f01ef707c2ac52eb3c76ab77b 01-Aug-2009 Daniel Dunbar <daniel@zuster.org> llvm-mc: A few more parsing / match tweaks.
- Operands which are just a label should be parsed as immediates, not memory
operands (from the assembler perspective).

- Match a few more flavors of immediates.

- Distinguish match functions for memory operands which don't take a segment
register.

- We match the .s for "hello world" now!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77745 91177308-0d34-0410-b5e6-96231b3b80d8
ello.s
76c4d7696c1eb566d53467a76024c5fdadd448e4 31-Jul-2009 Daniel Dunbar <daniel@zuster.org> llvm-mc: Support quoted identifiers.
- Uses MCAsmToken::getIdentifier which returns the (sub)string representing the
meaningfull contents a string or identifier token.

- Directives aren't done yet.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77739 91177308-0d34-0410-b5e6-96231b3b80d8
abels.s
022e2a84a867ba73fd0e6b89f61e56396f22620d 31-Jul-2009 Daniel Dunbar <daniel@zuster.org> llvm-mc/X86: Sketch match functions for immediates and memory operands.

Also, change scale value to always be 1 when unspecified to machine MachineInst
encoding.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77728 91177308-0d34-0410-b5e6-96231b3b80d8
86_instructions.s
b6804e91267381427866dfc1ae3d88abd02ddf14 31-Jul-2009 Daniel Dunbar <daniel@zuster.org> Add this test back, the check pattern was too strict.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77662 91177308-0d34-0410-b5e6-96231b3b80d8
86_instructions.s
527695dd66971086f1a67ad30762c47fc7bce5d1 31-Jul-2009 Daniel Dunbar <daniel@zuster.org> Remove this test while I figure out why it is failing.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77659 91177308-0d34-0410-b5e6-96231b3b80d8
86_instructions.s
a027d222e18ea9028e9e12ae2f5cd566889b599a 31-Jul-2009 Daniel Dunbar <daniel@zuster.org> llvm-mc: Match a few X86 instructions.
- This is "experimental" code, I am feeling my way around and working out the
best way to do things (and learning tblgen in the process). Comments welcome,
but keep in mind this stuff will change radically.

- This is enough to match "subb" and friends, but not much else. The next step is to
automatically generate the matchers for individual operands.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77657 91177308-0d34-0410-b5e6-96231b3b80d8
86_instructions.s
86_operands.s
f9507ffa5b1c8697009e86bbedaacb51e4c6735d 28-Jul-2009 Daniel Dunbar <daniel@zuster.org> llvm-mc: Implement .abort fully in the front end


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77272 91177308-0d34-0410-b5e6-96231b3b80d8
irective_abort.s
5026ae4514caf5bb88d6c09fbf56a9db2753ed43 20-Jul-2009 Kevin Enderby <enderby@apple.com> Removed the DumpSymbolsandMacros and LoadSymbolsandMacros MCStreamer API as
the parsing of the .dump and .load should be done in the assembly parser and
not have any need for an MCStreamer API. Changed the code for now so these
just produce an error saying these specific directives are not yet implemented
since they are likely no longer used and may never need to be implemented.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76462 91177308-0d34-0410-b5e6-96231b3b80d8
irective_dump_and_load.s
b4b53e5c13167925d6315a6f57c7b863e4e2b704 18-Jul-2009 Daniel Dunbar <daniel@zuster.org> llvm-mc: Add -triple, and start fetching the target asm printer.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76257 91177308-0d34-0410-b5e6-96231b3b80d8
ssignment.s
irective_abort.s
irective_align.s
irective_ascii.s
irective_comm.s
irective_desc.s
irective_dump_and_load.s
irective_fill.s
irective_include.s
irective_lcomm.s
irective_lsym.s
irective_org.s
irective_set.s
irective_space.s
irective_subsections_via_symbols.s
irective_symbol_attrs.s
irective_values.s
irective_zerofill.s
xprs.s
86_operands.s
8e25e2d801bb1119cea080c7c860adcfbf85d65d 16-Jul-2009 Chris Lattner <sabre@nondot.org> implement .include in the lexer/parser instead of passing it into the streamer.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75896 91177308-0d34-0410-b5e6-96231b3b80d8
irective_include.s
6e68cd96b2c76c80bfff07e8121ba19691ec1276 15-Jul-2009 Kevin Enderby <enderby@apple.com> Added llvm-mc support for parsing the .dump and .load directives.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75786 91177308-0d34-0410-b5e6-96231b3b80d8
irective_dump_and_load.s
1f049b24c7e520ecfd2291b7d30eb5abc3aee852 15-Jul-2009 Kevin Enderby <enderby@apple.com> Added llvm-mc support for parsing the .include directive.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75711 91177308-0d34-0410-b5e6-96231b3b80d8
irective_include.s
711482476c55f99c34c516f9e035b7c59b00ef42 14-Jul-2009 Kevin Enderby <enderby@apple.com> Added llvm-mc support for parsing the .lsym directive.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75685 91177308-0d34-0410-b5e6-96231b3b80d8
irective_lsym.s
95cf30c444707634bbd950f13405b6c8bcfe496b 14-Jul-2009 Kevin Enderby <enderby@apple.com> Added llvm-mc support for parsing the .desc directive.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75645 91177308-0d34-0410-b5e6-96231b3b80d8
irective_desc.s
5f1f0b8f7e7087d456ddc3efdb4bed21a4ae359c 14-Jul-2009 Kevin Enderby <enderby@apple.com> Added llvm-mc support for parsing the .abort directive.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75545 91177308-0d34-0410-b5e6-96231b3b80d8
irective_abort.s
a5c783280f83df5c60a8ed9e32c61b05a11048e3 13-Jul-2009 Kevin Enderby <enderby@apple.com> add llvm-mc support for parsing the .subsections_via_symbols directive.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75500 91177308-0d34-0410-b5e6-96231b3b80d8
irective_subsections_via_symbols.s
9be3fee2bdc3126fb87e4e1b31935905f4bcc4d0 11-Jul-2009 Chris Lattner <sabre@nondot.org> add support for .zerofill, patch by Kevin Enderby!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75301 91177308-0d34-0410-b5e6-96231b3b80d8
irective_zerofill.s
1fc3d7558139eb6081a7ee5a8f88506d44c8dd7f 09-Jul-2009 Chris Lattner <sabre@nondot.org> add llvm-mc support for parsing the .lcomm directive, patch by Kevin Enderby!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75148 91177308-0d34-0410-b5e6-96231b3b80d8
irective_lcomm.s
096e7280c2abceb4dcc119677c31a2055bc8ccde 08-Jul-2009 Chris Lattner <sabre@nondot.org> Switch all the MC tests to use FileCheck.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75039 91177308-0d34-0410-b5e6-96231b3b80d8
ssignment.s
irective_align.s
irective_comm.s
irective_fill.s
irective_org.s
irective_set.s
irective_space.s
irective_symbol_attrs.s
irective_values.s
648f9970aeab8ba8ec2e149a4ed67145a80785ac 08-Jul-2009 Chris Lattner <sabre@nondot.org> convert to FileCheck style.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75038 91177308-0d34-0410-b5e6-96231b3b80d8
irective_ascii.s
4e4db7adfc9858a8f77f841c7467bc6fcbb8110e 07-Jul-2009 Chris Lattner <sabre@nondot.org> Implement parsing support for the .comm directive. Patch by
Kevin Enderby!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74944 91177308-0d34-0410-b5e6-96231b3b80d8
irective_comm.s
0a93771e4c7283bf7999c00b3282eab0431b463f 02-Jul-2009 Daniel Dunbar <daniel@zuster.org> llvm-mc/x86: Test case for x86 operand parsing.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74688 91177308-0d34-0410-b5e6-96231b3b80d8
86_operands.s
374d8bddacbffce7c82ce81103d30b5ee42032df 01-Jul-2009 Daniel Dunbar <daniel@zuster.org> llvm-mc: Symbols in a relocatable expression of the (a - b + cst) form are
allowed to be undefined when the expression is seen, we cannot enforce the
same-section requirement until the entire assembly file has been seen.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74565 91177308-0d34-0410-b5e6-96231b3b80d8
xprs.s
f4b830f03f4859d89b03cb56fb3e43ba08ba94c3 30-Jun-2009 Daniel Dunbar <daniel@zuster.org> llvm-mc: Accept relocatable expressions for .org, assignments, .byte, etc.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74498 91177308-0d34-0410-b5e6-96231b3b80d8
xprs.s
d7b267bd908ee1a1792a6a917c036e764fc3ace0 30-Jun-2009 Daniel Dunbar <daniel@zuster.org> llvm-mc: Parse symbol attribute directives.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74487 91177308-0d34-0410-b5e6-96231b3b80d8
irective_symbol_attrs.s
c29dfa786a23c9ff0827ce4a56b5b178e4087aaa 30-Jun-2009 Daniel Dunbar <daniel@zuster.org> llvm-mc: Parse .{,b,p2}align{,w,l} directives.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74478 91177308-0d34-0410-b5e6-96231b3b80d8
irective_align.s
1ad7edc2125d57dcd6c54810d7a4a5f4f77da34b 30-Jun-2009 Daniel Dunbar <daniel@zuster.org> llvm-mc: Recognize C++ style comments.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74463 91177308-0d34-0410-b5e6-96231b3b80d8
xprs.s
475839e9a97a0c0282e107d14fd1dc6e5f223435 29-Jun-2009 Daniel Dunbar <daniel@zuster.org> MC: Improve expression parsing and implement evaluation of absolute expressions.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74448 91177308-0d34-0410-b5e6-96231b3b80d8
xprs.s
c238b584de26d7ee717dbd951a7656033fb6bc05 26-Jun-2009 Daniel Dunbar <daniel@zuster.org> MC: Parse .org directives.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74218 91177308-0d34-0410-b5e6-96231b3b80d8
irective_org.s
8f780cd7896407f743de7538166ff9d40d752086 25-Jun-2009 Daniel Dunbar <daniel@zuster.org> MC: Parse .set and assignments.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74208 91177308-0d34-0410-b5e6-96231b3b80d8
ssignment.s
irective_set.s
a0d1426af0bd05e1ae69481cdb75d2913e7e1ac1 25-Jun-2009 Daniel Dunbar <daniel@zuster.org> Basic .s parsing for .asci[iz], .fill, .space, {.byte, .short, ... }
- Includes some DG tests in test/MC/AsmParser, which are rather primitive since
we don't have a -verify mode yet.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74139 91177308-0d34-0410-b5e6-96231b3b80d8
g.exp
irective_ascii.s
irective_fill.s
irective_space.s
irective_values.s