| Index: src/trusted/validator_x86/testdata/64/fpu.tf
|
| diff --git a/src/trusted/validator_x86/testdata/64/fpu.tf b/src/trusted/validator_x86/testdata/64/fpu.tf
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..3326df07c76018c9ef876bd6148ad71635ba1901
|
| --- /dev/null
|
| +++ b/src/trusted/validator_x86/testdata/64/fpu.tf
|
| @@ -0,0 +1,159 @@
|
| +BITS: 64
|
| +OUTCOME: invalid
|
| +
|
| +# Load floating point value.
|
| +# mov %eax,%eax
|
| +# fld (%r15,%rax)
|
| +asm: mov %eax,%eax
|
| +hex: 89 C0
|
| +
|
| +asm: flds (%r15,%rax,1)
|
| +hex: 41 D9 04 07
|
| +
|
| +# mov %eax,%eax
|
| +# fldl (%r15,%rax)
|
| +asm: mov %eax,%eax
|
| +hex: 89 C0
|
| +
|
| +asm: fldl (%r15,%rax,1)
|
| +hex: 41 DD 04 07
|
| +
|
| +# mov %eax,%eax
|
| +# fldt (%r15,%rax)
|
| +asm: mov %eax,%eax
|
| +hex: 89 C0
|
| +
|
| +asm: fldt (%r15,%rax,1)
|
| +hex: 41 DB 2C 07
|
| +
|
| +
|
| +# Load integer value.
|
| +# mov %eax,%eax
|
| +# fildl (%r15,%rax)
|
| +asm: mov %eax,%eax
|
| +hex: 89 C0
|
| +
|
| +asm: fildl (%r15,%rax,1)
|
| +hex: 41 DB 04 07
|
| +
|
| +# mov %eax,%eax
|
| +# fildq (%r15,%rax)
|
| +asm: mov %eax,%eax
|
| +hex: 89 C0
|
| +
|
| +asm: fildll (%r15,%rax,1)
|
| +hex: 41 DF 2C 07
|
| +
|
| +
|
| +# Store floating point value.
|
| +# mov %eax,%eax
|
| +# fsts (%r15,%rax)
|
| +asm: mov %eax,%eax
|
| +hex: 89 C0
|
| +
|
| +asm: fsts (%r15,%rax,1)
|
| +hex: 41 D9 14 07
|
| +nc_out: Bad basic block alignment.
|
| +
|
| +# mov %eax,%eax
|
| +# fstl (%r15,%rax)
|
| +asm: mov %eax,%eax
|
| +hex: 89 C0
|
| +
|
| +asm: fstl (%r15,%rax,1)
|
| +hex: 41 DD 14 07
|
| +
|
| +# mov %eax,%eax
|
| +# fstps (%r15,%rax)
|
| +asm: mov %eax,%eax
|
| +hex: 89 C0
|
| +
|
| +asm: fstps (%r15,%rax,1)
|
| +hex: 41 D9 1C 07
|
| +
|
| +# mov %eax,%eax
|
| +# fstpl (%r15,%rax)
|
| +asm: mov %eax,%eax
|
| +hex: 89 C0
|
| +
|
| +asm: fstpl (%r15,%rax,1)
|
| +hex: 41 DD 1C 07
|
| +
|
| +# mov %eax,%eax
|
| +# fstpt (%r15,%rax)
|
| +asm: mov %eax,%eax
|
| +hex: 89 C0
|
| +
|
| +asm: fstpt (%r15,%rax,1)
|
| +hex: 41 DB 3C 07
|
| +
|
| +
|
| +# Store integer value
|
| +# mov %eax,%eax
|
| +# fists (%r15,%rax)
|
| +asm: mov %eax,%eax
|
| +hex: 89 C0
|
| +
|
| +asm: fist (%r15,%rax,1)
|
| +hex: 41 DF 14 07
|
| +nc_out: [at +2] Bad basic block alignment.
|
| +
|
| +# mov %eax,%eax
|
| +# fistl (%r15,%rax)
|
| +asm: mov %eax,%eax
|
| +hex: 89 C0
|
| +
|
| +asm: fistl (%r15,%rax,1)
|
| +hex: 41 DB 14 07
|
| +
|
| +# mov %eax,%eax
|
| +# fistp (%r15,%rax)
|
| +asm: mov %eax,%eax
|
| +hex: 89 C0
|
| +
|
| +asm: fistp (%r15,%rax,1)
|
| +hex: 41 DF 1C 07
|
| +
|
| +# mov %eax,%eax
|
| +# fistpl (%r15,%rax)
|
| +asm: mov %eax,%eax
|
| +hex: 89 C0
|
| +
|
| +asm: fistpl (%r15,%rax,1)
|
| +hex: 41 DB 1C 07
|
| +
|
| +# mov %eax,%eax
|
| +# fistpq (%r15,%rax)
|
| +asm: mov %eax,%eax
|
| +hex: 89 C0
|
| +
|
| +asm: fistpll (%r15,%rax,1)
|
| +hex: 41 DF 3C 07
|
| +
|
| +
|
| +# Basic arithmetic
|
| +# fadd %st(1),%st(0)
|
| +asm: fadd %st(1),%st
|
| +hex: D8 C1
|
| +
|
| +# faddp %st(0),%st(1)
|
| +asm: faddp %st,%st(1)
|
| +hex: DE C1
|
| +
|
| +# mov %eax,%eax
|
| +# fadds (%r15,%rax)
|
| +asm: mov %eax,%eax
|
| +hex: 89 C0
|
| +
|
| +asm: fadds (%r15,%rax,1)
|
| +hex: 41 D8 04 07
|
| +nc_out: Bad basic block alignment.
|
| +
|
| +# mov %eax,%eax
|
| +# faddl (%r15,%rax)
|
| +asm: mov %eax,%eax
|
| +hex: 89 C0
|
| +
|
| +asm: faddl (%r15,%rax,1)
|
| +hex: 41 DC 04 07
|
| +
|
|
|