From d3a3d9c8d87f74d81fd81ea480f77da0017d3cc7 Mon Sep 17 00:00:00 2001 From: "H.J. Lu" Date: Sat, 12 Jan 2008 16:05:42 +0000 Subject: gas/testsuite/ 2008-01-12 H.J. Lu PR gas/5534 * gas/i386/i386.s: Add tests for fnstsw and fstsw. * gas/i386/inval.s: Likewise. * gas/i386/x86_64.s: Likewise. * gas/i386/intel.s: Use word instead of dword on ss. * gas/i386/x86-64-inval.s: Add tests for fnstsw, fstsw, in and out. * gas/i386/prefix.s: Remove invalid fstsw. * gas/i386/inval.l: Updated. * gas/i386/intelbad.l: Likewise. * gas/i386/i386.d: Likewise. * gas/i386/x86_64.d: Likewise. * gas/i386/x86-64-inval.l: Likewise. * gas/i386/prefix.d: Updated. gas/ 2008-01-12 H.J. Lu PR gas/5534 * config/tc-i386.c (_i386_insn): Update comment. (operand_type_match): Also clear unspecified. (operand_type_register_match): Likewise. (parse_operands): Initialize unspecified. (i386_intel_operand): Likewise. (match_template): Check memory and accumulator operand size. (i386_att_operand): Clear unspecified on register operand. (intel_e11): Likewise. (intel_e09): Set operand size and clean unspecified for "XXX PTR". opcodes/ 2008-01-12 H.J. Lu PR gas/5534 * i386-gen.c (operand_type_init): Add Dword to OPERAND_TYPE_ACC32. Add Qword to OPERAND_TYPE_ACC64. (opcode_modifiers): Remove CheckSize, Byte, Word, Dword, Qword and Xmmword. (operand_types): Add Byte, Word, Dword, Fword, Qword, Tbyte, Xmmword, Unspecified and Anysize. (set_bitfield): Make Mmword an alias of Qword. Make Oword an alias of Xmmword. * i386-opc.h (CheckSize): Removed. (Byte): Updated. (Word): Likewise. (Dword): Likewise. (Qword): Likewise. (Xmmword): Likewise. (FWait): Updated. (OTMax): Likewise. (i386_opcode_modifier): Remove checksize, byte, word, dword, qword and xmmword. (Fword): New. (TBYTE): Likewise. (Unspecified): Likewise. (Anysize): Likewise. (i386_operand_type): Add byte, word, dword, fword, qword, tbyte xmmword, unspecified and anysize. * i386-opc.tbl: Updated to use Byte, Word, Dword, Fword, Qword, Tbyte, Xmmword, Unspecified and Anysize. * i386-reg.tbl: Add size for accumulator. * i386-init.h: Regenerated. * i386-tbl.h: Likewise. --- gas/testsuite/gas/i386/inval.l | 48 ++++++++++++++++++++++++++++-------------- 1 file changed, 32 insertions(+), 16 deletions(-) (limited to 'gas/testsuite/gas/i386/inval.l') diff --git a/gas/testsuite/gas/i386/inval.l b/gas/testsuite/gas/i386/inval.l index 94f3c08670..53616b8f31 100644 --- a/gas/testsuite/gas/i386/inval.l +++ b/gas/testsuite/gas/i386/inval.l @@ -49,10 +49,10 @@ .*:50: Error: .* .*:51: Error: .* .*:52: Error: .* +.*:53: Error: .* +.*:54: Error: .* .*:55: Error: .* .*:56: Error: .* -.*:57: Error: .* -.*:58: Error: .* .*:59: Error: .* .*:60: Error: .* .*:61: Error: .* @@ -61,6 +61,14 @@ .*:64: Error: .* .*:65: Error: .* .*:66: Error: .* +.*:67: Error: .* +.*:68: Error: .* +.*:69: Error: .* +.*:70: Error: .* +.*:71: Error: .* +.*:72: Error: .* +.*:73: Error: .* +.*:74: Error: .* GAS LISTING .* @@ -116,20 +124,28 @@ GAS LISTING .* [ ]*50[ ]+insertq \$4,\$2,%xmm2,%ebx [ ]*51[ ]+cvtsi2ssq \(%eax\),%xmm1 [ ]*52[ ]+cvtsi2sdq \(%eax\),%xmm1 -[ ]*53[ ]+ -[ ]*54[ ]+\.intel_syntax noprefix -[ ]*55[ ]+cvtsi2ss xmm1,QWORD PTR \[eax\] -[ ]*56[ ]+cvtsi2sd xmm1,QWORD PTR \[eax\] -[ ]*57[ ]+cvtsi2ssq xmm1,QWORD PTR \[eax\] +[ ]*53[ ]+fnstsw %eax +[ ]*54[ ]+fnstsw %al +[ ]*55[ ]+fstsw %eax +[ ]*56[ ]+fstsw %al +[ ]*57[ ]+ GAS LISTING .* -[ ]*58[ ]+cvtsi2sdq xmm1,QWORD PTR \[eax\] -[ ]*59[ ]+movq xmm1, XMMWORD PTR \[esp\] -[ ]*60[ ]+movq xmm1, DWORD PTR \[esp\] -[ ]*61[ ]+movq xmm1, WORD PTR \[esp\] -[ ]*62[ ]+movq xmm1, BYTE PTR \[esp\] -[ ]*63[ ]+movq XMMWORD PTR \[esp\],xmm1 -[ ]*64[ ]+movq DWORD PTR \[esp\],xmm1 -[ ]*65[ ]+movq WORD PTR \[esp\],xmm1 -[ ]*66[ ]+movq BYTE PTR \[esp\],xmm1 +[ ]*58[ ]+\.intel_syntax noprefix +[ ]*59[ ]+cvtsi2ss xmm1,QWORD PTR \[eax\] +[ ]*60[ ]+cvtsi2sd xmm1,QWORD PTR \[eax\] +[ ]*61[ ]+cvtsi2ssq xmm1,QWORD PTR \[eax\] +[ ]*62[ ]+cvtsi2sdq xmm1,QWORD PTR \[eax\] +[ ]*63[ ]+movq xmm1, XMMWORD PTR \[esp\] +[ ]*64[ ]+movq xmm1, DWORD PTR \[esp\] +[ ]*65[ ]+movq xmm1, WORD PTR \[esp\] +[ ]*66[ ]+movq xmm1, BYTE PTR \[esp\] +[ ]*67[ ]+movq XMMWORD PTR \[esp\],xmm1 +[ ]*68[ ]+movq DWORD PTR \[esp\],xmm1 +[ ]*69[ ]+movq WORD PTR \[esp\],xmm1 +[ ]*70[ ]+movq BYTE PTR \[esp\],xmm1 +[ ]*71[ ]+fnstsw eax +[ ]*72[ ]+fnstsw al +[ ]*73[ ]+fstsw eax +[ ]*74[ ]+fstsw al -- cgit v1.2.1