From: Tom Hughes Date: Wed, 3 Feb 2016 10:15:56 +0000 (+0000) Subject: Add tests for FCOM/FCOMP instructions. BZ#212352. X-Git-Tag: svn/VALGRIND_3_12_0~244 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=5465229553d935edf85d9bbbdf022ea5f5617b49;p=thirdparty%2Fvalgrind.git Add tests for FCOM/FCOMP instructions. BZ#212352. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15779 --- diff --git a/NEWS b/NEWS index f3e65e2b9b..7afd8a7e36 100644 --- a/NEWS +++ b/NEWS @@ -46,6 +46,7 @@ To see details of a given bug, visit where XXXXXX is the bug number as listed below. 191069 Exiting due to signal not reported in XML output +212352 vex amd64 unhandled opc_aux = 0x 2, first_opcode == 0xDC (FCOM) 278744 cvtps2pd with redundant RexW 353083 arm64 doesn't implement various xattr system calls 353084 arm64 doesn't support sigpending system call diff --git a/none/tests/amd64/insn_fpu.def b/none/tests/amd64/insn_fpu.def index c99815eee7..590f5844ce 100644 --- a/none/tests/amd64/insn_fpu.def +++ b/none/tests/amd64/insn_fpu.def @@ -58,6 +58,18 @@ fiaddl st0.pd[1234567.7654321] : m32.sd[87654321] => st0.pd[88888888.7654321] fiaddl st0.pd[-1234567.7654321] : m32.sd[87654321] => st0.pd[86419753.2345679] fiaddl st0.pd[1234567.7654321] : m32.sd[-87654321] => st0.pd[-86419753.2345679] fiaddl st0.pd[-1234567.7654321] : m32.sd[-87654321] => st0.pd[-88888888.7654321] +fcoms st0.ps[1234.5678] : m32.ps[1234.5676] => st0.ps[1234.5678] fpusw[0x4700,0x0000] +fcoms st0.ps[1234.5678] : m32.ps[1234.5679] => st0.ps[1234.5678] fpusw[0x4700,0x0100] +fcoms st0.ps[1234.5678] : m32.ps[1234.5678] => st0.ps[1234.5678] fpusw[0x4700,0x4000] +fcoml st0.pd[1234567.7654321] : m64.pd[1234567.7654320] => st0.pd[1234567.7654321] fpusw[0x4700,0x0000] +fcoml st0.pd[1234567.7654321] : m64.pd[1234567.7654322] => st0.pd[1234567.7654321] fpusw[0x4700,0x0100] +fcoml st0.pd[1234567.7654321] : m64.pd[1234567.7654321] => st0.pd[1234567.7654321] fpusw[0x4700,0x4000] +fcomps st1.ps[8765.4321] st0.ps[1234.5678] : m32.ps[1234.5676] => st0.ps[8765.4321] fpusw[0x4700,0x0000] +fcomps st1.ps[8765.4321] st0.ps[1234.5678] : m32.ps[1234.5679] => st0.ps[8765.4321] fpusw[0x4700,0x0100] +fcomps st1.ps[8765.4321] st0.ps[1234.5678] : m32.ps[1234.5678] => st0.ps[8765.4321] fpusw[0x4700,0x4000] +fcompl st1.pd[7654321.1234567] st0.pd[1234567.7654321] : m64.pd[1234567.7654320] => st0.pd[7654321.1234567] fpusw[0x4700,0x0000] +fcompl st1.pd[7654321.1234567] st0.pd[1234567.7654321] : m64.pd[1234567.7654322] => st0.pd[7654321.1234567] fpusw[0x4700,0x0100] +fcompl st1.pd[7654321.1234567] st0.pd[1234567.7654321] : m64.pd[1234567.7654321] => st0.pd[7654321.1234567] fpusw[0x4700,0x4000] fcomi st2.ps[1234.5678] st0.ps[1234.5679] => st0.ps[1234.5678] st2.ps[1234.5679] eflags[0x45,0x00] fcomi st2.ps[1234.5678] st0.ps[1234.5676] => st0.ps[1234.5678] st2.ps[1234.5676] eflags[0x45,0x01] fcomi st2.ps[1234.5678] st0.ps[1234.5678] => st0.ps[1234.5678] st2.ps[1234.5678] eflags[0x45,0x40] diff --git a/none/tests/amd64/insn_fpu.stdout.exp b/none/tests/amd64/insn_fpu.stdout.exp index 2dbaa07ce0..67128c13b7 100644 --- a/none/tests/amd64/insn_fpu.stdout.exp +++ b/none/tests/amd64/insn_fpu.stdout.exp @@ -58,6 +58,18 @@ fiaddl_5 ... ok fiaddl_6 ... ok fiaddl_7 ... ok fiaddl_8 ... ok +fcoms_1 ... ok +fcoms_2 ... ok +fcoms_3 ... ok +fcoml_1 ... ok +fcoml_2 ... ok +fcoml_3 ... ok +fcomps_1 ... ok +fcomps_2 ... ok +fcomps_3 ... ok +fcompl_1 ... ok +fcompl_2 ... ok +fcompl_3 ... ok fcomi_1 ... ok fcomi_2 ... ok fcomi_3 ... ok diff --git a/none/tests/x86/insn_fpu.def b/none/tests/x86/insn_fpu.def index c99815eee7..590f5844ce 100644 --- a/none/tests/x86/insn_fpu.def +++ b/none/tests/x86/insn_fpu.def @@ -58,6 +58,18 @@ fiaddl st0.pd[1234567.7654321] : m32.sd[87654321] => st0.pd[88888888.7654321] fiaddl st0.pd[-1234567.7654321] : m32.sd[87654321] => st0.pd[86419753.2345679] fiaddl st0.pd[1234567.7654321] : m32.sd[-87654321] => st0.pd[-86419753.2345679] fiaddl st0.pd[-1234567.7654321] : m32.sd[-87654321] => st0.pd[-88888888.7654321] +fcoms st0.ps[1234.5678] : m32.ps[1234.5676] => st0.ps[1234.5678] fpusw[0x4700,0x0000] +fcoms st0.ps[1234.5678] : m32.ps[1234.5679] => st0.ps[1234.5678] fpusw[0x4700,0x0100] +fcoms st0.ps[1234.5678] : m32.ps[1234.5678] => st0.ps[1234.5678] fpusw[0x4700,0x4000] +fcoml st0.pd[1234567.7654321] : m64.pd[1234567.7654320] => st0.pd[1234567.7654321] fpusw[0x4700,0x0000] +fcoml st0.pd[1234567.7654321] : m64.pd[1234567.7654322] => st0.pd[1234567.7654321] fpusw[0x4700,0x0100] +fcoml st0.pd[1234567.7654321] : m64.pd[1234567.7654321] => st0.pd[1234567.7654321] fpusw[0x4700,0x4000] +fcomps st1.ps[8765.4321] st0.ps[1234.5678] : m32.ps[1234.5676] => st0.ps[8765.4321] fpusw[0x4700,0x0000] +fcomps st1.ps[8765.4321] st0.ps[1234.5678] : m32.ps[1234.5679] => st0.ps[8765.4321] fpusw[0x4700,0x0100] +fcomps st1.ps[8765.4321] st0.ps[1234.5678] : m32.ps[1234.5678] => st0.ps[8765.4321] fpusw[0x4700,0x4000] +fcompl st1.pd[7654321.1234567] st0.pd[1234567.7654321] : m64.pd[1234567.7654320] => st0.pd[7654321.1234567] fpusw[0x4700,0x0000] +fcompl st1.pd[7654321.1234567] st0.pd[1234567.7654321] : m64.pd[1234567.7654322] => st0.pd[7654321.1234567] fpusw[0x4700,0x0100] +fcompl st1.pd[7654321.1234567] st0.pd[1234567.7654321] : m64.pd[1234567.7654321] => st0.pd[7654321.1234567] fpusw[0x4700,0x4000] fcomi st2.ps[1234.5678] st0.ps[1234.5679] => st0.ps[1234.5678] st2.ps[1234.5679] eflags[0x45,0x00] fcomi st2.ps[1234.5678] st0.ps[1234.5676] => st0.ps[1234.5678] st2.ps[1234.5676] eflags[0x45,0x01] fcomi st2.ps[1234.5678] st0.ps[1234.5678] => st0.ps[1234.5678] st2.ps[1234.5678] eflags[0x45,0x40] diff --git a/none/tests/x86/insn_fpu.stdout.exp b/none/tests/x86/insn_fpu.stdout.exp index 2dbaa07ce0..67128c13b7 100644 --- a/none/tests/x86/insn_fpu.stdout.exp +++ b/none/tests/x86/insn_fpu.stdout.exp @@ -58,6 +58,18 @@ fiaddl_5 ... ok fiaddl_6 ... ok fiaddl_7 ... ok fiaddl_8 ... ok +fcoms_1 ... ok +fcoms_2 ... ok +fcoms_3 ... ok +fcoml_1 ... ok +fcoml_2 ... ok +fcoml_3 ... ok +fcomps_1 ... ok +fcomps_2 ... ok +fcomps_3 ... ok +fcompl_1 ... ok +fcompl_2 ... ok +fcompl_3 ... ok fcomi_1 ... ok fcomi_2 ... ok fcomi_3 ... ok