]>
granicus.if.org Git - yasm/log
Peter Johnson [Thu, 8 Apr 2010 05:57:28 +0000 (05:57 -0000)]
COPYING: Update credits a bit.
svn path=/trunk/yasm/; revision=2314
Peter Johnson [Thu, 8 Apr 2010 05:56:33 +0000 (05:56 -0000)]
Update copyright dates.
svn path=/trunk/yasm/; revision=2313
Peter Johnson [Thu, 8 Apr 2010 03:46:43 +0000 (03:46 -0000)]
NASM preproc: Add basic support for %{x:y} parameter list expansion.
Contributed by: Mathieu Monnier
nasm64developer has a more advanced 3-parameter version that will take
some time to integrate, so for now just provide the simpler version.
svn path=/trunk/yasm/; revision=2312
Peter Johnson [Thu, 8 Apr 2010 03:32:04 +0000 (03:32 -0000)]
NASM preprocessor: Add %scope and %endscope.
Contributed by: Mathieu Monnier
svn path=/trunk/yasm/; revision=2311
Peter Johnson [Sun, 28 Mar 2010 19:28:54 +0000 (19:28 -0000)]
Instead of initializing unknown sections en-masse during objfmt_output(),
add new objfmt interface function init_new_section() to initialize as we
go.
This fixes several issues, primarily with debug formats that create sections.
Reported by: Brian Gladman
svn path=/trunk/yasm/; revision=2310
Peter Johnson [Fri, 19 Mar 2010 23:00:36 +0000 (23:00 -0000)]
vsyasm: Allow override of object, list, and map file extensions.
svn path=/trunk/yasm/; revision=2309
Peter Johnson [Fri, 19 Mar 2010 22:46:16 +0000 (22:46 -0000)]
vsyasm: Fix map extension.
svn path=/trunk/yasm/; revision=2308
Brian Gladman [Wed, 10 Mar 2010 11:33:55 +0000 (11:33 -0000)]
Improve VSYASM integration into Visual Studio 2010
svn path=/trunk/yasm/; revision=2307
Peter Johnson [Thu, 4 Mar 2010 05:13:48 +0000 (05:13 -0000)]
vsyasm: if -E is used, print command line as first line in error file.
Requested by: Brian Gladman
svn path=/trunk/yasm/; revision=2300
Peter Johnson [Thu, 4 Mar 2010 05:08:00 +0000 (05:08 -0000)]
Makefile.am: Update for [2297] changes.
svn path=/trunk/yasm/; revision=2299
Brian Gladman [Wed, 3 Mar 2010 10:31:37 +0000 (10:31 -0000)]
Adjust YASM integration into Visual Studio 2010 slightly
svn path=/trunk/yasm/; revision=2298
Brian Gladman [Wed, 3 Mar 2010 09:41:12 +0000 (09:41 -0000)]
Add VSYASM integration files for Visual Studio 2010 (and remove incorrect YASM ones)
svn path=/trunk/yasm/; revision=2297
Brian Gladman [Thu, 25 Feb 2010 11:47:02 +0000 (11:47 -0000)]
Correction to Python detection on Windows
svn path=/trunk/yasm/; revision=2296
Brian Gladman [Thu, 25 Feb 2010 10:57:07 +0000 (10:57 -0000)]
Yet one more attempt to find Python in Windows
svn path=/trunk/yasm/; revision=2295
Brian Gladman [Wed, 24 Feb 2010 11:26:40 +0000 (11:26 -0000)]
Make a further attempt to use the Windows registry to find Python
svn path=/trunk/yasm/; revision=2294
Brian Gladman [Tue, 23 Feb 2010 08:56:20 +0000 (08:56 -0000)]
correct error in python detection batch file
svn path=/trunk/yasm/; revision=2293
Brian Gladman [Tue, 23 Feb 2010 08:15:43 +0000 (08:15 -0000)]
Hopefully remove python discovery issue in Windows build
svn path=/trunk/yasm/; revision=2292
Peter Johnson [Fri, 19 Feb 2010 07:07:51 +0000 (07:07 -0000)]
vsyasm: More gracefully handle single input file by using output name as-is.
Patch by: Brian Gladman
svn path=/trunk/yasm/; revision=2291
Peter Johnson [Wed, 17 Feb 2010 06:33:26 +0000 (06:33 -0000)]
Add vc10 and vsyasm build files to EXTRA_DIST.
svn path=/trunk/yasm/; revision=2290
Brian Gladman [Mon, 15 Feb 2010 10:45:22 +0000 (10:45 -0000)]
Update Visual Studio 2010 build files
svn path=/trunk/yasm/; revision=2289
Brian Gladman [Sat, 13 Feb 2010 19:26:44 +0000 (19:26 -0000)]
1. Add vsyasm build to VC9 and vc10 builds
2. Improve search for Python interpreter
svn path=/trunk/yasm/; revision=2288
Peter Johnson [Sat, 13 Feb 2010 08:42:27 +0000 (08:42 -0000)]
vsyasm: create intermediate output directories if necessary.
This feature is apparently assumed by MSBUILD.
Contributed (with minor modifications) by: Brian Gladman
svn path=/trunk/yasm/; revision=2287
Peter Johnson [Sat, 13 Feb 2010 07:25:23 +0000 (07:25 -0000)]
Update yasm_parsers(7) now that GAS preprocessor support is fairly mature.
svn path=/trunk/yasm/; revision=2286
Peter Johnson [Sat, 13 Feb 2010 07:22:23 +0000 (07:22 -0000)]
Add support for gas preprocessor macro directives.
It doesn't yet support the full set of macro types gas supports, but
can handle a lot of common cases.
Contributed by: Alexei Svitkine
svn path=/trunk/yasm/; revision=2285
Peter Johnson [Sat, 6 Feb 2010 09:27:32 +0000 (09:27 -0000)]
Add "vsyasm", a batch version of yasm primarily useful for VS2010.
Basically the objfile, listfile, and mapfile options specify output
directories instead of files. Multiple files are accepted and each one
is independently assembled in command line order. All options (such
as include directories and predefined macros) apply to all input files.
Any error terminates the process early.
Suggested by: Brian Gladman
svn path=/trunk/yasm/; revision=2284
Peter Johnson [Sat, 6 Feb 2010 09:13:56 +0000 (09:13 -0000)]
nasm_pp_cleanup(): Do a better job of cleaning up.
svn path=/trunk/yasm/; revision=2283
Peter Johnson [Wed, 20 Jan 2010 03:58:15 +0000 (03:58 -0000)]
Update flat and DJGPP Makefiles for GAS preproc and parser changes.
svn path=/trunk/yasm/; revision=2282
Brian Gladman [Tue, 19 Jan 2010 11:11:35 +0000 (11:11 -0000)]
Update VC++ v10 build
svn path=/trunk/yasm/; revision=2281
Brian Gladman [Tue, 19 Jan 2010 11:09:21 +0000 (11:09 -0000)]
Update VC++ v9 build
svn path=/trunk/yasm/; revision=2280
Peter Johnson [Tue, 19 Jan 2010 07:57:43 +0000 (07:57 -0000)]
Add .intel_syntax and .gas_syntax support to GAS parser.
Uses the NASM parser for the .intel_syntax parsing heavy lifting.
Contributed by: Alexei Svitkine
svn path=/trunk/yasm/; revision=2279
Peter Johnson [Tue, 19 Jan 2010 07:28:08 +0000 (07:28 -0000)]
Add nasm-parser-struct.h to SOURCES.
svn path=/trunk/yasm/; revision=2278
Peter Johnson [Tue, 19 Jan 2010 07:03:15 +0000 (07:03 -0000)]
Nasm parser: Add some very basic MASM-ish syntax handling, along the lines
of the TASM "mode".
These code paths aren't used yet; they will be used for GAS .intel_syntax
handling.
Contributed by: Alexei Svitkine
svn path=/trunk/yasm/; revision=2277
Peter Johnson [Tue, 19 Jan 2010 06:56:08 +0000 (06:56 -0000)]
Split yasm_parser_nasm structure out to separate header.
This is needed so that other parsers can get access to this structure without
naming conflicts.
Contributed by: Alexei Svitkine
svn path=/trunk/yasm/; revision=2276
Peter Johnson [Thu, 14 Jan 2010 08:24:13 +0000 (08:24 -0000)]
Allow gas flags input to bin objfmt (ignored and not used).
Contributed by: Alexei Svitkine
svn path=/trunk/yasm/; revision=2275
Peter Johnson [Thu, 14 Jan 2010 08:10:35 +0000 (08:10 -0000)]
substitute_values(): Allocate sufficient space for null terminator.
Noticed by: Alexei Svitkine
svn path=/trunk/yasm/; revision=2274
Peter Johnson [Wed, 13 Jan 2010 04:44:28 +0000 (04:44 -0000)]
gas-preproc.c: Use sprintf instead of snprintf.
It's impossible for a decimal long string to be longer than 64 chars.
Also remove workaround for MSVC added in r2267.
svn path=/trunk/yasm/; revision=2273
Peter Johnson [Tue, 12 Jan 2010 05:59:37 +0000 (05:59 -0000)]
Allow older automake version (1.9.6).
svn path=/trunk/yasm/; revision=2272
Brian Gladman [Fri, 8 Jan 2010 09:50:52 +0000 (09:50 -0000)]
Fix #200 - yasm.rules double quote issue
svn path=/trunk/yasm/; revision=2271
Brian Gladman [Fri, 8 Jan 2010 09:47:46 +0000 (09:47 -0000)]
"Fix #200" - yasm.rules double quote issue
svn path=/trunk/yasm/; revision=2270
Peter Johnson [Thu, 7 Jan 2010 07:00:05 +0000 (07:00 -0000)]
Update autoconf/automake scripts.
Also remove ltmain.sh as we no longer use libtool.
Patch submitted by: Roumen Petrov <bugtrack@roumenpetrov.info>
svn path=/trunk/yasm/; revision=2269
Peter Johnson [Thu, 7 Jan 2010 06:55:03 +0000 (06:55 -0000)]
Unbreak make distcheck.
svn path=/trunk/yasm/; revision=2268
Brian Gladman [Tue, 5 Jan 2010 16:01:53 +0000 (16:01 -0000)]
1. Add gas preprocessor build on Windows
2. Add snprintf -> _snprintf define for VC++ build
svn path=/trunk/yasm/; revision=2267
Peter Johnson [Sun, 3 Jan 2010 22:02:30 +0000 (22:02 -0000)]
Now that the gas preproc supports .rept, remove it from the gas parser.
svn path=/trunk/yasm/; revision=2266
Peter Johnson [Sun, 3 Jan 2010 21:59:28 +0000 (21:59 -0000)]
GAS preproc: Fix line number for .rept without matching .endr error.
The line number reported for the error is that of the .rept directive.
Contributed by: Alexei Svitkine <alexei.svitkine@gmail.com>
svn path=/trunk/yasm/; revision=2265
Peter Johnson [Sun, 3 Jan 2010 03:47:16 +0000 (03:47 -0000)]
Update Pyxelator to avoid deprecation warnings on recent Python versions.
svn path=/trunk/yasm/; revision=2264
Peter Johnson [Sun, 3 Jan 2010 02:47:28 +0000 (02:47 -0000)]
bin-objfmt.c: Comment out unused function (kept in the code for debugging).
svn path=/trunk/yasm/; revision=2263
Peter Johnson [Sun, 3 Jan 2010 02:46:11 +0000 (02:46 -0000)]
Fix two more instances of queue.h HEAD macros for portability.
svn path=/trunk/yasm/; revision=2262
Peter Johnson [Sun, 3 Jan 2010 02:41:50 +0000 (02:41 -0000)]
gas-preproc.c: Avoid warning on unused variable.
svn path=/trunk/yasm/; revision=2261
Peter Johnson [Sun, 3 Jan 2010 02:04:13 +0000 (02:04 -0000)]
Improve the gas preprocessor and re-add it as default for gas parser.
Contributed by: Alexei Svitkine <alexei.svitkine@gmail.com>
Summary of changes:
- Correct line numbers will now be reported for warnings and errors
when using the GAS preprocessor
- GAS preprocessor will now replace defined (e.g. via .set) variables
by their values in lines returned to the parser
- GAS preprocessor will now handle multi-line comments correctly
- GAS preprocessor will now handle nested .rept directives correctly
svn path=/trunk/yasm/; revision=2260
Peter Johnson [Sun, 3 Jan 2010 01:58:23 +0000 (01:58 -0000)]
Implement some linemap changes required for the GAS preprocessor.
Contributed by: Alexei Svitkine <alexei.svitkine@gmail.com>
- yasm_linemap_set() now takes virtual_line as a parameter, instead of
always using linemap->current. If 0 is passed for the virtual_line,
then linemap->current is used, as before.
This is because linemap->current was only incremented by the parser
(and never decremented), so the preprocessor was not able to set
mappings during the preprocessing phase (whereas with these changes,
it now does).
Additionally, setting a mapping for a line number will now delete any
existing mappings for line numbers equal or greater to that line
number. This allows the code to correctly handle the case when the
preprocessor first sets mappings from pre-pp lines to post-pp lines,
and later those mappings getting superseded by .line directives in the
original source.
This change also required making a change to yasm_linemap_lookup() to
set *file_line to 0 when line is 0 (i.e. preventing line 0 - which
means "don't display line number in output" - from getting mapped).
svn path=/trunk/yasm/; revision=2259
Peter Johnson [Sun, 3 Jan 2010 01:04:18 +0000 (01:04 -0000)]
Use queue.h HEAD macros more portably (also avoiding compiler warning).
svn path=/trunk/yasm/; revision=2258
Peter Johnson [Sat, 2 Jan 2010 17:56:16 +0000 (17:56 -0000)]
Fix additional cases of duplicate 66h prefix generation for AVX instructions.
Reported by: Gil Dabah
svn path=/trunk/yasm/; revision=2257
Peter Johnson [Fri, 1 Jan 2010 20:55:07 +0000 (20:55 -0000)]
Use Cython instead of Pyrex.
svn path=/trunk/yasm/; revision=2256
Peter Johnson [Fri, 1 Jan 2010 20:54:15 +0000 (20:54 -0000)]
Some minor Pyrex fixes:
- Don't return self in IntNum.__abs__ (return a copy instead).
- yasm_sym_status enum values have YASM_ prefixes.
svn path=/trunk/yasm/; revision=2255
Peter Johnson [Fri, 1 Jan 2010 20:52:25 +0000 (20:52 -0000)]
All Pyrex files: Use __cinit__ instead of __new__ in extension classes.
svn path=/trunk/yasm/; revision=2254
Peter Johnson [Fri, 1 Jan 2010 20:47:58 +0000 (20:47 -0000)]
yasm_intnum_create_sized(): Fix off-by-one error in sign extension check.
svn path=/trunk/yasm/; revision=2253
Peter Johnson [Wed, 30 Dec 2009 06:21:24 +0000 (06:21 -0000)]
Unbreak python bindings on 64-bit Linux.
svn path=/trunk/yasm/; revision=2252
Peter Johnson [Tue, 29 Dec 2009 06:18:25 +0000 (06:18 -0000)]
Avoid generating duplicate 66h prefix on PINSRB in 16-bit mode.
Reported by: Gil Dabah <arkon@ragestorm.net>
svn path=/trunk/yasm/; revision=2251
Peter Johnson [Mon, 28 Dec 2009 05:23:46 +0000 (05:23 -0000)]
Revert gas parser default to raw preproc until gas tests pass with the gas
preproc.
svn path=/trunk/yasm/; revision=2250
Peter Johnson [Mon, 28 Dec 2009 04:40:30 +0000 (04:40 -0000)]
Fix incorrect vaesimc encoding (need to set VEX.vvvv=1111).
Reported by: Gil Dabah <arkon@ragestorm.net>
svn path=/trunk/yasm/; revision=2249
Peter Johnson [Sat, 26 Dec 2009 04:41:21 +0000 (04:41 -0000)]
Fix --preproc-only (and possibly other long options) by avoiding false
matches on shorter long argument names.
Contributed by: Alexei Svitkine <alexei.svitkine@gmail.com>
svn path=/trunk/yasm/; revision=2248
Peter Johnson [Sat, 26 Dec 2009 04:38:27 +0000 (04:38 -0000)]
gas-preproc.c: Avoid casting away of const.
svn path=/trunk/yasm/; revision=2247
Peter Johnson [Sat, 26 Dec 2009 04:30:39 +0000 (04:30 -0000)]
Update gas preproc a bit:
- Handle removal of comments during preprocessing
- Fix a bug with evaluation of nested .if/.else statements.
Contributed by: Alexei Svitkine <alexei.svitkine@gmail.com>
svn path=/trunk/yasm/; revision=2246
Peter Johnson [Sat, 26 Dec 2009 04:28:40 +0000 (04:28 -0000)]
nasm-pp.c: Use vsnprintf if available.
Patch contributed by: Alexei Svitkine <alexei.svitkine@gmail.com>
svn path=/trunk/yasm/; revision=2245
Peter Johnson [Sat, 26 Dec 2009 04:26:46 +0000 (04:26 -0000)]
Default to gas preproc for gas parser.
svn path=/trunk/yasm/; revision=2244
Peter Johnson [Wed, 23 Dec 2009 06:45:17 +0000 (06:45 -0000)]
Add initial gas preprocessor, contributed by Alexei Svitkine.
Support for include directive amongst other major key pieces.
Does not currently support macros.
Fixes #79.
Contributed by: Alexei Svitkine <alexei.svitkine@gmail.com>
svn path=/trunk/yasm/; revision=2243
Peter Johnson [Sun, 6 Dec 2009 03:37:43 +0000 (03:37 -0000)]
Unbreak gen_x86_insn.py on Python 2.4.
Patch by: Alexei Svitkine <alexei.svitkine@gmail.com>
svn path=/trunk/yasm/; revision=2242
Brian Gladman [Sat, 5 Dec 2009 16:33:12 +0000 (16:33 -0000)]
Add files for building YASM with Visual Studio 2010 (beta 2)
svn path=/trunk/yasm/; revision=2241
Brian Gladman [Sat, 5 Dec 2009 16:13:05 +0000 (16:13 -0000)]
Update gen_x86_insn.py to work in both Python 2 and 3
svn path=/trunk/yasm/; revision=2240
Peter Johnson [Tue, 1 Dec 2009 03:33:03 +0000 (03:33 -0000)]
Fix #198: Previous commit accidentally broke a great many instructions.
svn path=/trunk/yasm/; revision=2239
Peter Johnson [Mon, 30 Nov 2009 03:43:10 +0000 (03:43 -0000)]
Fix a bunch of GAS x86 instruction issues.
- Fix #193: ljmp/lcall not implemented; add 2-operand far jump to jmp/call.
- Add loop{,z,e} instruction suffixes
- Fix a bunch of jmp/call minor issues.
- Vastly improve suffix handling in general to make more consistent and make
a greater variety of no-suffix instructions work in a way that matches GAS.
svn path=/trunk/yasm/; revision=2238
Peter Johnson [Sun, 8 Nov 2009 17:30:34 +0000 (17:30 -0000)]
Fix #191: Incorrect argument order generated for AMD FMA4 opcodes.
svn path=/trunk/yasm/; revision=2237
Peter Johnson [Sun, 8 Nov 2009 17:14:01 +0000 (17:14 -0000)]
Fix #190: Incorrect opcode generated for vphaddudq.
svn path=/trunk/yasm/; revision=2236
Peter Johnson [Tue, 3 Nov 2009 05:15:37 +0000 (05:15 -0000)]
Fix #189: Avoid compiler warning in genperf.
svn path=/trunk/yasm/; revision=2235
Peter Johnson [Sat, 31 Oct 2009 21:52:42 +0000 (21:52 -0000)]
Fix #187: Add new variable CFLAGS_FOR_BUILD for CC_FOR_BUILD compiles.
Due to the need to support cross-building, CC_FOR_BUILD is used instead of
CC for tools that will be run as part of the build process. However, it
is sometimes necessary to add custom CFLAGS for these builds; CFLAGS_FOR_BUILD
supports this cleanly.
svn path=/trunk/yasm/; revision=2234
Peter Johnson [Sat, 31 Oct 2009 21:45:55 +0000 (21:45 -0000)]
Fix #188: Times forward references would result in bad code generation.
svn path=/trunk/yasm/; revision=2233
Peter Johnson [Sat, 12 Sep 2009 02:38:35 +0000 (02:38 -0000)]
Fix #78 further: Support C++ style // comments.
svn path=/trunk/yasm/; revision=2232
Brian Gladman [Wed, 12 Aug 2009 14:51:57 +0000 (14:51 -0000)]
Further change to python invocation in genperf
svn path=/trunk/yasm/; revision=2231
Brian Gladman [Wed, 12 Aug 2009 14:33:52 +0000 (14:33 -0000)]
improve handling of Python batch file for genperf
svn path=/trunk/yasm/; revision=2230
Peter Johnson [Thu, 6 Aug 2009 07:13:11 +0000 (07:13 -0000)]
Fix #186: Avoid memory runaway in optimizer TIMES circular reference checking.
Check for duplicates in backtrace used when checking for circular references.
This uses a simple N^2 algorithm (as the number of items in the backtrace is
usually small) but avoids memory runaway due to duplicate item storage.
svn path=/trunk/yasm/; revision=2229
Peter Johnson [Fri, 31 Jul 2009 02:50:19 +0000 (02:50 -0000)]
Fix #185: Add mkinstalldirs to svn repo, as autogen.sh doesn't pull it in.
svn path=/trunk/yasm/; revision=2227
Peter Johnson [Thu, 30 Jul 2009 02:19:38 +0000 (02:19 -0000)]
Fix #184: test -e is not portable (despite being in POSIX); use test -f instead.
svn path=/trunk/yasm/; revision=2226
Peter Johnson [Sat, 25 Jul 2009 05:29:47 +0000 (05:29 -0000)]
Unbreak distcheck.
svn path=/trunk/yasm/; revision=2224
Peter Johnson [Fri, 24 Jul 2009 19:01:35 +0000 (19:01 -0000)]
Fix #178: Don't "distribute" shift right op.
This breaks horribly for things like (sym+511)>>9 in -f bin, as the result is
zero instead of something more useful.
Also don't check RHS for symbols; these will fall out later in the assembly
process if they cannot be simplified.
svn path=/trunk/yasm/; revision=2220
Peter Johnson [Wed, 22 Jul 2009 05:51:35 +0000 (05:51 -0000)]
Update elf special symbols:
- Add tlsdesc and tlscall to both x86 and amd64.
- Add 64-bit pltoff, gotplt, gotoff to amd64.
svn path=/trunk/yasm/; revision=2210
Peter Johnson [Wed, 22 Jul 2009 05:49:54 +0000 (05:49 -0000)]
Unbreak make check (broken by [2206]).
svn path=/trunk/yasm/; revision=2209
Peter Johnson [Wed, 22 Jul 2009 05:45:03 +0000 (05:45 -0000)]
elf: Add latest x86 relocation types.
svn path=/trunk/yasm/; revision=2208
Peter Johnson [Tue, 21 Jul 2009 06:49:44 +0000 (06:49 -0000)]
elf: Add support for 64-bit PC-relative relocation.
svn path=/trunk/yasm/; revision=2207
Peter Johnson [Tue, 21 Jul 2009 06:48:42 +0000 (06:48 -0000)]
Special-case _GLOBAL_OFFSET_TABLE_ in elf32/64 to generate appropriate relocs.
This was particularly noticable in GAS, but there was also a bug in NASM
output (lack of fixup within instruction in elf32).
Also:
- changed ssym lookup from a linear search to using assocdata
- added more relocation types (most not implemented)
Reported by: Mark Charney
svn path=/trunk/yasm/; revision=2206
Peter Johnson [Mon, 20 Jul 2009 06:04:58 +0000 (06:04 -0000)]
NASM is now licensed under the 2-clause BSD license.
svn path=/trunk/yasm/; revision=2205
Peter Johnson [Sat, 18 Jul 2009 02:33:10 +0000 (02:33 -0000)]
Fix #177: Make check fails on CR/LF systems.
The diff on the hexdump output was not using -w.
svn path=/trunk/yasm/; revision=2204
Peter Johnson [Fri, 12 Jun 2009 07:06:16 +0000 (07:06 -0000)]
Fix #175: Only sanity check final section size if no user errors occurred.
svn path=/trunk/yasm/; revision=2203
Peter Johnson [Wed, 3 Jun 2009 05:49:18 +0000 (05:49 -0000)]
Fix #173: Debug full paths were being generated incorrectly.
This was because the path returned by yasm__getcwd() did not have a trailing
slash and thus yasm__combpath() stripped off the last path component.
svn path=/trunk/yasm/; revision=2202
Peter Johnson [Tue, 12 May 2009 01:47:59 +0000 (01:47 -0000)]
Fix #171: Broken build in ytasm CMakeLists.txt.
Reported by: postmodern.mod3
svn path=/trunk/yasm/; revision=2201
Peter Johnson [Tue, 12 May 2009 01:46:42 +0000 (01:46 -0000)]
CMakeLists.txt: Set cmake policy to avoid warning.
svn path=/trunk/yasm/; revision=2200
Peter Johnson [Sun, 10 May 2009 05:24:46 +0000 (05:24 -0000)]
Add support for AMD XOP, FMA4, and CVT16 instructions (replacing SSE5).
AMD has obsoleted the SSE5 spec in favor of these instructions. These
instructions use an AVX-like new opcode structure called XOP instead of
the SSE5 DREX byte.
The AMD FMA4 instructions are a copy of the *old* Intel FMA instructions.
Intel has since updated their spec, and AMD may follow, but for now we've
implemented what AMD's spec contains.
svn path=/trunk/yasm/; revision=2199
Peter Johnson [Sun, 10 May 2009 05:21:26 +0000 (05:21 -0000)]
Add gencheck.py Python script to make it easier to generate expected results
from long .asm files that generate simple binary output (e.g. for opcode
testing).
svn path=/trunk/yasm/; revision=2198
Peter Johnson [Fri, 17 Apr 2009 03:25:08 +0000 (03:25 -0000)]
tasm (tweaked nasm) preproc fixes:
- comments stripped before tokenization caused strings containing ';'
to generate warnings (unterminated string) and incorrect output.
- assume directive parsing did not properly handle ';' as end of line
Also add tests for the above.
Reported by: Rugxulo <rugxulo@gmail.com>
svn path=/trunk/yasm/; revision=2197
Peter Johnson [Fri, 17 Apr 2009 03:22:25 +0000 (03:22 -0000)]
tasm parser: Support "not" keyword.
Requested by: Rugxulo <rugxulo@gmail.com>
svn path=/trunk/yasm/; revision=2196
Peter Johnson [Sun, 29 Mar 2009 23:25:05 +0000 (23:25 -0000)]
Default memory size to "s" for no-suffix FP conversions in GAS syntax.
Reported by: Gregory McGarry <g.mcgarry@ieee.org>
svn path=/trunk/yasm/; revision=2192