]> granicus.if.org Git - yasm/commitdiff
* x86id.re: Fix typo that broke fcmovu and left fcmovnu unimplemented.
authorPeter Johnson <peter@tortall.net>
Sun, 30 Oct 2005 23:58:10 +0000 (23:58 -0000)
committerPeter Johnson <peter@tortall.net>
Sun, 30 Oct 2005 23:58:10 +0000 (23:58 -0000)
* fcmov.asm: New test for all FCMOV instructions.

svn path=/trunk/yasm/; revision=1297

modules/arch/x86/tests/Makefile.inc
modules/arch/x86/tests/fcmov.asm [new file with mode: 0644]
modules/arch/x86/tests/fcmov.errwarn [new file with mode: 0644]
modules/arch/x86/tests/fcmov.hex [new file with mode: 0644]
modules/arch/x86/x86id.re

index fd8f11358b7dcda46055b786a2910fca0457a822..62a8b7ec225fedac6ef3574abca30e7973fce12b 100644 (file)
@@ -39,6 +39,9 @@ EXTRA_DIST += modules/arch/x86/tests/enter.hex
 EXTRA_DIST += modules/arch/x86/tests/farbasic.asm
 EXTRA_DIST += modules/arch/x86/tests/farbasic.errwarn
 EXTRA_DIST += modules/arch/x86/tests/farbasic.hex
+EXTRA_DIST += modules/arch/x86/tests/fcmov.asm
+EXTRA_DIST += modules/arch/x86/tests/fcmov.errwarn
+EXTRA_DIST += modules/arch/x86/tests/fcmov.hex
 EXTRA_DIST += modules/arch/x86/tests/fwdequ64.asm
 EXTRA_DIST += modules/arch/x86/tests/fwdequ64.errwarn
 EXTRA_DIST += modules/arch/x86/tests/fwdequ64.hex
diff --git a/modules/arch/x86/tests/fcmov.asm b/modules/arch/x86/tests/fcmov.asm
new file mode 100644 (file)
index 0000000..07f8358
--- /dev/null
@@ -0,0 +1,8 @@
+fcmovb st0, st1
+fcmovbe st0, st1
+fcmove st0, st1
+fcmovnb st0, st1
+fcmovnbe st0, st1
+fcmovne st0, st1
+fcmovnu st0, st1
+fcmovu st0, st1
diff --git a/modules/arch/x86/tests/fcmov.errwarn b/modules/arch/x86/tests/fcmov.errwarn
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/modules/arch/x86/tests/fcmov.hex b/modules/arch/x86/tests/fcmov.hex
new file mode 100644 (file)
index 0000000..e8e9c82
--- /dev/null
@@ -0,0 +1,16 @@
+da 
+c1 
+da 
+d1 
+da 
+c9 
+db 
+c1 
+db 
+d1 
+db 
+c9 
+db 
+d9 
+da 
+d9 
index 0f399fcc647233d8b6206f2d6c260f9296f377ff..02ffa3cbf2228a128c48157e299205523a96ef18 100644 (file)
@@ -4266,7 +4266,7 @@ yasm_x86__parse_check_insn(yasm_arch *arch, unsigned long data[4],
        'fcmovnb' { RET_INSN_NS(fcmovcc, 0xDBC0, CPU_686|CPU_FPU); }
        'fcmovne' { RET_INSN_NS(fcmovcc, 0xDBC8, CPU_686|CPU_FPU); }
        'fcmovnbe' { RET_INSN_NS(fcmovcc, 0xDBD0, CPU_686|CPU_FPU); }
-       'fcmovu' { RET_INSN_NS(fcmovcc, 0xDBD8, CPU_686|CPU_FPU); }
+       'fcmovnu' { RET_INSN_NS(fcmovcc, 0xDBD8, CPU_686|CPU_FPU); }
        'fcomi' { RET_INSN_NS(fcom2, 0xDBF0, CPU_686|CPU_FPU); }
        'fucomi' { RET_INSN_NS(fcom2, 0xDBE8, CPU_686|CPU_FPU); }
        'fcomip' { RET_INSN_NS(fcom2, 0xDFF0, CPU_686|CPU_FPU); }