H. Peter Anvin
7065309739
Formatting: kill off "stealth whitespace"
...
"Stealth whitespace" makes it harder to read diffs, and just generally
cause unwanted weirdness. Do a source-wide pass to get rid of it.
2007-10-19 14:42:29 -07:00
H. Peter Anvin
31420e76d1
test/floatx.asm: fix test case
...
"dq" should have been "dt"
2007-10-19 14:26:52 -07:00
H. Peter Anvin
513e3c1bd2
uscore.asm: Fix test case
...
"$1e+16" was missing, instead "$1e16" was duplicated
2007-10-19 14:19:52 -07:00
H. Peter Anvin
37d88e4125
Don't confuse suffixed hexadecimal with floating-point
...
1e30 is a floating-point constant, but 1e30h is not. The scanner
won't know that until it sees the "h", so make sure we keep enough
state to be able to distinguish "1e30" (a possible hex constant) from
"1.e30", "1e+30" or "1.0" (unabiguously floating-point.)
2007-10-19 14:10:35 -07:00
H. Peter Anvin
487a087066
test/Makefile: Use -Ox instead of -O999
2007-10-19 13:16:51 -07:00
H. Peter Anvin
361584882e
Test of underscored constants
2007-10-19 13:14:06 -07:00
H. Peter Anvin
a366cac2a6
Tests of obscenely large exponents
2007-10-16 15:46:04 -07:00
H. Peter Anvin
125c878e96
Handle rounding of denorms correctly; make fp overflow a warning
...
- Handle rounding of denorms correctly
- Make fp overflow a warning, not an error (produces Inf)
- Make fp warnings controllable
2007-10-16 11:32:58 -07:00
H. Peter Anvin
61872221ad
Add 1.5 as a test case: representative of an exact fraction
...
1.5 is an exactly representable fraction, useful for test.
2007-10-16 10:31:16 -07:00
H. Peter Anvin
32f21f16fc
Add testnos3 from the gdtoa package (floating-point test)
2007-10-15 17:48:43 -07:00
Charles Crayne
b263b504bc
Must define types before using them
2007-10-11 20:32:33 -07:00
H. Peter Anvin
f57f55c9cb
Revert "floatb.asm: fix broken testcase"
...
This reverts commit d9e3116be1
.
0x513c1704 is 50.49e9, not 50.40e9
2007-10-08 19:26:57 -07:00
H. Peter Anvin
d9e3116be1
floatb.asm: fix broken testcase
...
50.40e9 as a 32-bit float is 0x513c1704
2007-10-08 18:39:24 -07:00
H. Peter Anvin
36a8f95bd0
Add Frank's floattest.asm test file
2007-10-08 12:12:23 -07:00
H. Peter Anvin
30c3ad1024
zerobyte.asm: use a real instruction to avoid confusing ndisasm
...
It's useful to be able to disassemble a test case, so avoid mixing
data bytes and code.
2007-10-05 17:44:16 -07:00
H. Peter Anvin
653e03bef5
zerobyte.asm: add test cases for non-initial \170 uses
...
Add test cases for noninitial uses of \170, in order to test for
accidental duplication of REX prefixes.
2007-10-05 17:42:31 -07:00
H. Peter Anvin
5d4fd7accc
Check in the proper zerobyte test
...
The previous checkin checked in zerobyte.bin, not zerobyte.asm
2007-10-05 17:29:01 -07:00
H. Peter Anvin
c189b44032
Emit REX prefix before literal zero (\170)
2007-10-05 17:04:32 -07:00
H. Peter Anvin
9d14a10858
Add test for problematic floats
2007-10-05 14:36:03 -07:00
H. Peter Anvin
6b74577d7f
floatx.asm: add Inf and NaN to the boundary condition tests
2007-10-04 23:51:08 -07:00
H. Peter Anvin
6b8abf54d3
floatx.asm: add specific tests for exponent boundary conditions
...
Add tests for the exponent boundaries (underflow, denorm, normal).
2007-10-04 23:09:19 -07:00
H. Peter Anvin
b8e604eb5d
Additional rules in test/Makefile
...
Add rules for .pl -> .asm
2007-10-04 15:18:23 -07:00
H. Peter Anvin
d0b0d28f42
Unbreak relative references to immediate addresses
...
Remove bogus "treat labels different from immediates" code, which
would result in generating of a relative mod/rm but without adjusting
the address accordingly.
Update addressing mode test.
2007-09-28 17:17:20 -07:00
H. Peter Anvin
3f9bc94b6e
Test for various addressing modes in 64-bit mode
...
Test of various addressing modes in 64-bit mode. Relative addresses
specified as numbers are currently broken!!
2007-09-26 17:00:18 -07:00
H. Peter Anvin
b0aff17908
test/movimm.asm: add optimizable forms
...
Add optimizable forms that probably should be shrunk by the optimizer.
2007-09-25 15:44:40 -07:00
H. Peter Anvin
0bd2565dd7
Test of immediate handling on 64-bit mode
2007-09-25 15:39:42 -07:00
H. Peter Anvin
3e1aaa9dd0
Fix BR 1490407: size of the second operand of LAR/LSL
...
The second operand of LAR/LSL is always 16 bits.
2007-09-25 14:26:03 -07:00
H. Peter Anvin
9713703db7
test/Makefile: make a bit more useful
2007-09-24 13:42:09 -07:00
H. Peter Anvin
dc467ba8af
Support __float*__ for floating-point numbers in expressions
...
Add special operators to allow the use of floating-point constants in
contexts other than DW/DD/DQ/DT/DO.
As part of this checkin, make MAX_KEYWORD generated by tokhash.pl,
since it knows what all the keywords are so it can tell which one is
the longest.
2007-09-24 12:30:54 -07:00
H. Peter Anvin
fc565dd362
Implement INVLPGA according to the documentation
...
INVLPGA is defined as taking rax,ecx but "the portion of rax used to
form the address is determined by the effective address size", so it
is really ax/eax/rax.
2007-09-22 22:35:28 -07:00
H. Peter Anvin
20dec371dc
Simple test for 0x67 prefixes
2007-09-22 21:50:03 -07:00
H. Peter Anvin
f04031bbd7
Make test/Makefile a bit more useful
...
Make all the tests depend on the nasm binary...
2007-09-22 21:47:13 -07:00
H. Peter Anvin
eb49a4e1d4
Merge commit 'origin/sse5'
2007-09-19 16:22:03 -07:00
H. Peter Anvin
b4b4317878
test/Makefile: make a bit more useful
2007-09-19 16:15:22 -07:00
H. Peter Anvin
f48bc6fb48
Support generating NaNs and infinities
...
Support generating NaNs and infinities as part of floating-point
constants.
2007-09-18 21:55:56 -07:00
H. Peter Anvin
72ac77bb0b
Simple test for hexadecimal floating-point numbers
...
Very trivial test for hexadecimal floating-point numbers
2007-09-18 18:37:36 -07:00
H. Peter Anvin
e31747e95b
Unify all standard IEEE floating-point formats; add 128-bit
...
Unify all the standard IEEE formats into one function, add support for
IEEE standard 128-bit floating point numbers.
The 80-bit format is still special since it explicitly represents the
integer portion.
2007-09-18 17:50:34 -07:00
H. Peter Anvin
cf5180a955
Actually generate SSE5 instructions
...
This checkin completes what is required to actually generate SSE5
instructions. No support in the disassembler yet.
This checkin covers:
- Support for actually generating DREX prefixes.
- Support for matching operand "operand X must match Y"
2007-09-17 17:25:27 -07:00
H. Peter Anvin
2ced2ec370
test/r13.asm: test special-casing of rbp and r13 in 64-bit mode
...
Test that we correctly special-case the modr/m generation for r13 in
64-bit mode.
2007-09-17 13:19:25 -07:00
H. Peter Anvin
9ab60dabcc
Simple performance benchmarks: label, macro and token lookups
...
Simple scripts to generate performance benchmarks for label,
macro and token lookups. The label and macro lookups are simple
numerical sequences; it may be desirable to add some more
sophisticated algorithms for producing tokens in case we want to
compare different hash functions against each other.
2007-09-13 18:13:20 -07:00
H. Peter Anvin
53a3c687dd
Fix some MMX/SSE irregularities which interact with the 64-bit support
2007-09-02 16:37:03 +00:00
H. Peter Anvin
4768f5f6f2
Simple 64-bit org test
2007-09-02 06:23:29 +00:00
H. Peter Anvin
3894519675
Use standard macro for the default directive
2007-08-29 16:41:43 +00:00
H. Peter Anvin
859f085985
More test cases for rel and abs addressing
2007-08-29 16:38:47 +00:00
H. Peter Anvin
12fc7bc4b2
Add test cases for IP-relative addressing
2007-08-29 15:49:53 +00:00
Keith Kanios
b7a89544d0
General push for x86-64 support, dubbed 0.99.00.
2007-04-12 02:40:54 +00:00
H. Peter Anvin
e2c80181b6
Apply Nindent to all .c and .h files
2005-01-15 22:15:51 +00:00
Stanislav Karchebny
d52236c00e
Revert erroneous macro added and modify __OUTPUT_FORMAT__ to a string const
2003-09-25 11:43:28 +00:00
Stanislav Karchebny
5e8f36611f
Consistency fix
2003-09-25 11:28:45 +00:00
Stanislav Karchebny
88a049aca1
Added _NASM_FORMAT_ macro
2003-09-24 10:30:56 +00:00