From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 1386) id 191103858D28; Fri, 6 Sep 2024 06:36:57 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 191103858D28 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1725604617; bh=QCtAXFdFvkDn9czfrn/Q5HAfdVfzw7atSntQoX9ZmXA=; h=From:To:Subject:Date:From; b=KPTfp9etfpsZCJguFISDi1Vmrg0m8FHvKrKogkXTQrR1S6eDKBTdUxqoi1ZzJ8oDz 93t1LCpiXKhvRIr2dL3sVaWsUu6fKSRHYuz437KjRVYIpcc1oyn04lRp1nN0EW8TPL iBVD20IgnRmnM9v/Tz306zodRJzTq29aDC0ftNAQ= Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable From: Jan Beulich To: binutils-cvs@sourceware.org Subject: [binutils-gdb] x86/APX: optimize certain reg-only CFCMOVcc forms X-Act-Checkin: binutils-gdb X-Git-Author: Jan Beulich X-Git-Refname: refs/heads/master X-Git-Oldrev: a844415db8784bf92c0adc7163dc9b5c552a84e1 X-Git-Newrev: 6b8ed67d6e53aa2c5527b73848c97a8a40c07e17 Message-Id: <20240906063657.191103858D28@sourceware.org> Date: Fri, 6 Sep 2024 06:36:57 +0000 (GMT) List-Id: https://sourceware.org/git/gitweb.cgi?p=3Dbinutils-gdb.git;h=3D6b8ed67d6e53= aa2c5527b73848c97a8a40c07e17 commit 6b8ed67d6e53aa2c5527b73848c97a8a40c07e17 Author: Jan Beulich Date: Fri Sep 6 08:35:07 2024 +0200 x86/APX: optimize certain reg-only CFCMOVcc forms =20 Along the lines of 2513312930b2 ("x86/APX: apply NDD-to-legacy transformation to further CMOVcc forms") these can similarly be converted to the shorter legacy-encoded CMOVcc. Diff: --- gas/config/tc-i386.c | 35 ++++++++++++++ gas/testsuite/gas/i386/x86-64-apx-ndd-optimize.d | 10 ++++ gas/testsuite/gas/i386/x86-64-apx-ndd-optimize.s | 10 ++++ opcodes/i386-opc.tbl | 2 +- opcodes/i386-tbl.h | 60 ++++++++++++--------= ---- 5 files changed, 86 insertions(+), 31 deletions(-) diff --git a/gas/config/tc-i386.c b/gas/config/tc-i386.c index a9d3536429b..50c6f036226 100644 --- a/gas/config/tc-i386.c +++ b/gas/config/tc-i386.c @@ -5143,6 +5143,41 @@ optimize_encoding (void) break; } } + else if (optimize > 1 + && (i.tm.base_opcode | 0xf) =3D=3D 0x4f + && i.tm.opcode_space =3D=3D SPACE_EVEXMAP4 + && i.reg_operands =3D=3D 3 + && i.tm.opcode_modifier.operandconstraint =3D=3D EVEX_NF + && !i.types[0].bitfield.word) + { + /* Optimize: -O2: + cfcmov %rM, %rN, %rN -> cmov %rM, %rN + cfcmov %rM, %rN, %rM -> cmov %rN, %rM + cfcmov %rN, %rN, %rN -> nop %rN + */ + if (i.op[0].regs =3D=3D i.op[2].regs) + { + i.tm.base_opcode ^=3D 1; + i.op[0].regs =3D i.op[1].regs; + i.op[1].regs =3D i.op[2].regs; + } + else if (i.op[1].regs !=3D i.op[2].regs) + return; + + i.tm.opcode_space =3D SPACE_0F; + i.tm.opcode_modifier.evex =3D 0; + i.tm.opcode_modifier.vexvvvv =3D 0; + i.tm.opcode_modifier.operandconstraint =3D 0; + i.reg_operands =3D 2; + + /* While at it, convert to NOP if all three regs match. */ + if (i.op[0].regs =3D=3D i.op[1].regs) + { + i.tm.base_opcode =3D 0x1f; + i.tm.extension_opcode =3D 0; + i.reg_operands =3D 1; + } + } else if (i.reg_operands =3D=3D 3 && i.op[0].regs =3D=3D i.op[1].regs && !i.types[2].bitfield.xmmword diff --git a/gas/testsuite/gas/i386/x86-64-apx-ndd-optimize.d b/gas/testsui= te/gas/i386/x86-64-apx-ndd-optimize.d index 7932b0e434c..0036cccaa4b 100644 --- a/gas/testsuite/gas/i386/x86-64-apx-ndd-optimize.d +++ b/gas/testsuite/gas/i386/x86-64-apx-ndd-optimize.d @@ -134,6 +134,16 @@ Disassembly of section .text: \s*[a-f0-9]+:\s*0f 4c d1 cmovl %ecx,%edx \s*[a-f0-9]+:\s*0f 4f d1 cmovg %ecx,%edx \s*[a-f0-9]+:\s*0f 4e d1 cmovle %ecx,%edx +\s*[a-f0-9]+:\s*0f 40 ca cmovo %edx,%ecx +\s*[a-f0-9]+:\s*0f 40 ca cmovo %edx,%ecx +\s*[a-f0-9]+:\s*49 0f 42 ca cmovb %r10,%rcx +\s*[a-f0-9]+:\s*49 0f 42 ca cmovb %r10,%rcx +\s*[a-f0-9]+:\s*44 0f 44 ca cmove %edx,%r9d +\s*[a-f0-9]+:\s*44 0f 44 ca cmove %edx,%r9d +\s*[a-f0-9]+:\s*d5 90 4a ca cmovp %r18d,%ecx +\s*[a-f0-9]+:\s*d5 90 4a ca cmovp %r18d,%ecx +\s*[a-f0-9]+:\s*d5 c8 4f ca cmovg %rdx,%r17 +\s*[a-f0-9]+:\s*d5 c8 4f ca cmovg %rdx,%r17 \s*[a-f0-9]+:\s*62 f4 7d 08 60 c0 movbe %ax,%ax \s*[a-f0-9]+:\s*49 0f c8 bswap %r8 \s*[a-f0-9]+:\s*d5 98 c8 bswap %r16 diff --git a/gas/testsuite/gas/i386/x86-64-apx-ndd-optimize.s b/gas/testsui= te/gas/i386/x86-64-apx-ndd-optimize.s index 7a2766ac2dd..aa7a9f82b32 100644 --- a/gas/testsuite/gas/i386/x86-64-apx-ndd-optimize.s +++ b/gas/testsuite/gas/i386/x86-64-apx-ndd-optimize.s @@ -128,6 +128,16 @@ cmovnge %edx,%ecx,%edx cmovnl %edx,%ecx,%edx cmovng %edx,%ecx,%edx cmovnle %edx,%ecx,%edx +cfcmovo %edx,%ecx,%ecx +cfcmovno %ecx,%edx,%ecx +cfcmovc %r10,%rcx,%rcx +cfcmovnc %rcx,%r10,%rcx +cfcmove %edx,%r9d,%r9d +cfcmovne %r9d,%edx,%r9d +cfcmovp %r18d,%ecx,%ecx +cfcmovnp %ecx,%r18d,%ecx +cfcmovg %rdx,%r17,%r17 +cfcmovng %r17,%rdx,%r17 movbe %ax,%ax movbe %r8,%r8 movbe %r16,%r16 diff --git a/opcodes/i386-opc.tbl b/opcodes/i386-opc.tbl index c2ee1acb0b2..bda09c00675 100644 --- a/opcodes/i386-opc.tbl +++ b/opcodes/i386-opc.tbl @@ -992,7 +992,7 @@ ud0, 0xfff, i186, Modrm|CheckOperandSize|No_bSuf|No_sSu= f, { Reg16|Reg32|Reg64|Un cmov, 0x4, CMOV&APX_F, C|Modrm|CheckOperandSize|No_bSuf|No_sSu= f|DstVVVV|EVexMap4|Optimize, { Reg16|Reg32|Reg64|Unspecified|BaseIndex, Reg= 16|Reg32|Reg64, Reg16|Reg32|Reg64 } cmov, 0xf4, CMOV, Modrm|CheckOperandSize|No_bSuf|No_sSuf, { Re= g16|Reg32|Reg64|Unspecified|BaseIndex, Reg16|Reg32|Reg64 } =20 -cfcmov, 0x4, CMOV&APX_F, Modrm|CheckOperandSize|No_bSuf|No_sSu= f|DstVVVV|EVexMap4|EVexNF, { Reg16|Reg32|Reg64|Unspecified|BaseIndex, Reg16= |Reg32|Reg64, Reg16|Reg32|Reg64 } +cfcmov, 0x4, CMOV&APX_F, Modrm|CheckOperandSize|No_bSuf|No_sSu= f|DstVVVV|EVexMap4|EVexNF|Optimize, { Reg16|Reg32|Reg64|Unspecified|BaseInd= ex, Reg16|Reg32|Reg64, Reg16|Reg32|Reg64 } cfcmov, 0x4, CMOV&APX_F, Load|Modrm|CheckOperandSize|No_bSuf|N= o_sSuf|EVexMap4, { Reg16|Reg32|Reg64|Unspecified|BaseIndex, Reg16|Reg32|Reg= 64 } cfcmov, 0x4, CMOV&APX_F, Modrm|CheckOperandSize|No_bSuf|No_sSu= f|EVexMap4|EVexNF, { Reg16|Reg32|Reg64, Reg16|Reg32|Reg64|Unspecified|BaseI= ndex } =20 diff --git a/opcodes/i386-tbl.h b/opcodes/i386-tbl.h index 60705c39d3a..a02e2f24865 100644 --- a/opcodes/i386-tbl.h +++ b/opcodes/i386-tbl.h @@ -9628,7 +9628,7 @@ static const insn_template i386_optab[] =3D 0, 0, 0, 0, 0, 0 } } } }, { MN_cfcmovo, 0x40, 3, SPACE_EVEXMAP4, None, { 0, 0, 0, 1, 0, 0, 0, 1, 12, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 3, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 3, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 }, { { 7, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0 } }, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, @@ -9660,7 +9660,7 @@ static const insn_template i386_optab[] =3D 0, 0, 0, 0, 1, 0 } } } }, { MN_cfcmovno, 0x41, 3, SPACE_EVEXMAP4, None, { 0, 0, 0, 1, 0, 0, 0, 1, 12, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 3, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 3, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 }, { { 7, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0 } }, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, @@ -9692,7 +9692,7 @@ static const insn_template i386_optab[] =3D 0, 0, 0, 0, 1, 0 } } } }, { MN_cfcmovb, 0x42, 3, SPACE_EVEXMAP4, None, { 0, 0, 0, 1, 0, 0, 0, 1, 12, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 3, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 3, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 }, { { 7, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0 } }, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, @@ -9724,7 +9724,7 @@ static const insn_template i386_optab[] =3D 0, 0, 0, 0, 1, 0 } } } }, { MN_cfcmovc, 0x42, 3, SPACE_EVEXMAP4, None, { 0, 0, 0, 1, 0, 0, 0, 1, 12, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 3, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 3, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 }, { { 7, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0 } }, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, @@ -9756,7 +9756,7 @@ static const insn_template i386_optab[] =3D 0, 0, 0, 0, 1, 0 } } } }, { MN_cfcmovnae, 0x42, 3, SPACE_EVEXMAP4, None, { 0, 0, 0, 1, 0, 0, 0, 1, 12, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 3, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 3, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 }, { { 7, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0 } }, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, @@ -9788,7 +9788,7 @@ static const insn_template i386_optab[] =3D 0, 0, 0, 0, 1, 0 } } } }, { MN_cfcmovnb, 0x43, 3, SPACE_EVEXMAP4, None, { 0, 0, 0, 1, 0, 0, 0, 1, 12, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 3, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 3, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 }, { { 7, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0 } }, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, @@ -9820,7 +9820,7 @@ static const insn_template i386_optab[] =3D 0, 0, 0, 0, 1, 0 } } } }, { MN_cfcmovnc, 0x43, 3, SPACE_EVEXMAP4, None, { 0, 0, 0, 1, 0, 0, 0, 1, 12, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 3, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 3, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 }, { { 7, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0 } }, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, @@ -9852,7 +9852,7 @@ static const insn_template i386_optab[] =3D 0, 0, 0, 0, 1, 0 } } } }, { MN_cfcmovae, 0x43, 3, SPACE_EVEXMAP4, None, { 0, 0, 0, 1, 0, 0, 0, 1, 12, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 3, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 3, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 }, { { 7, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0 } }, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, @@ -9884,7 +9884,7 @@ static const insn_template i386_optab[] =3D 0, 0, 0, 0, 1, 0 } } } }, { MN_cfcmove, 0x44, 3, SPACE_EVEXMAP4, None, { 0, 0, 0, 1, 0, 0, 0, 1, 12, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 3, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 3, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 }, { { 7, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0 } }, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, @@ -9916,7 +9916,7 @@ static const insn_template i386_optab[] =3D 0, 0, 0, 0, 1, 0 } } } }, { MN_cfcmovz, 0x44, 3, SPACE_EVEXMAP4, None, { 0, 0, 0, 1, 0, 0, 0, 1, 12, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 3, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 3, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 }, { { 7, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0 } }, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, @@ -9948,7 +9948,7 @@ static const insn_template i386_optab[] =3D 0, 0, 0, 0, 1, 0 } } } }, { MN_cfcmovne, 0x45, 3, SPACE_EVEXMAP4, None, { 0, 0, 0, 1, 0, 0, 0, 1, 12, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 3, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 3, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 }, { { 7, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0 } }, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, @@ -9980,7 +9980,7 @@ static const insn_template i386_optab[] =3D 0, 0, 0, 0, 1, 0 } } } }, { MN_cfcmovnz, 0x45, 3, SPACE_EVEXMAP4, None, { 0, 0, 0, 1, 0, 0, 0, 1, 12, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 3, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 3, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 }, { { 7, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0 } }, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, @@ -10012,7 +10012,7 @@ static const insn_template i386_optab[] =3D 0, 0, 0, 0, 1, 0 } } } }, { MN_cfcmovbe, 0x46, 3, SPACE_EVEXMAP4, None, { 0, 0, 0, 1, 0, 0, 0, 1, 12, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 3, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 3, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 }, { { 7, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0 } }, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, @@ -10044,7 +10044,7 @@ static const insn_template i386_optab[] =3D 0, 0, 0, 0, 1, 0 } } } }, { MN_cfcmovna, 0x46, 3, SPACE_EVEXMAP4, None, { 0, 0, 0, 1, 0, 0, 0, 1, 12, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 3, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 3, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 }, { { 7, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0 } }, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, @@ -10076,7 +10076,7 @@ static const insn_template i386_optab[] =3D 0, 0, 0, 0, 1, 0 } } } }, { MN_cfcmovnbe, 0x47, 3, SPACE_EVEXMAP4, None, { 0, 0, 0, 1, 0, 0, 0, 1, 12, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 3, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 3, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 }, { { 7, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0 } }, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, @@ -10108,7 +10108,7 @@ static const insn_template i386_optab[] =3D 0, 0, 0, 0, 1, 0 } } } }, { MN_cfcmova, 0x47, 3, SPACE_EVEXMAP4, None, { 0, 0, 0, 1, 0, 0, 0, 1, 12, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 3, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 3, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 }, { { 7, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0 } }, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, @@ -10140,7 +10140,7 @@ static const insn_template i386_optab[] =3D 0, 0, 0, 0, 1, 0 } } } }, { MN_cfcmovs, 0x48, 3, SPACE_EVEXMAP4, None, { 0, 0, 0, 1, 0, 0, 0, 1, 12, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 3, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 3, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 }, { { 7, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0 } }, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, @@ -10172,7 +10172,7 @@ static const insn_template i386_optab[] =3D 0, 0, 0, 0, 1, 0 } } } }, { MN_cfcmovns, 0x49, 3, SPACE_EVEXMAP4, None, { 0, 0, 0, 1, 0, 0, 0, 1, 12, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 3, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 3, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 }, { { 7, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0 } }, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, @@ -10204,7 +10204,7 @@ static const insn_template i386_optab[] =3D 0, 0, 0, 0, 1, 0 } } } }, { MN_cfcmovp, 0x4a, 3, SPACE_EVEXMAP4, None, { 0, 0, 0, 1, 0, 0, 0, 1, 12, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 3, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 3, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 }, { { 7, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0 } }, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, @@ -10236,7 +10236,7 @@ static const insn_template i386_optab[] =3D 0, 0, 0, 0, 1, 0 } } } }, { MN_cfcmovpe, 0x4a, 3, SPACE_EVEXMAP4, None, { 0, 0, 0, 1, 0, 0, 0, 1, 12, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 3, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 3, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 }, { { 7, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0 } }, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, @@ -10268,7 +10268,7 @@ static const insn_template i386_optab[] =3D 0, 0, 0, 0, 1, 0 } } } }, { MN_cfcmovnp, 0x4b, 3, SPACE_EVEXMAP4, None, { 0, 0, 0, 1, 0, 0, 0, 1, 12, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 3, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 3, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 }, { { 7, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0 } }, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, @@ -10300,7 +10300,7 @@ static const insn_template i386_optab[] =3D 0, 0, 0, 0, 1, 0 } } } }, { MN_cfcmovpo, 0x4b, 3, SPACE_EVEXMAP4, None, { 0, 0, 0, 1, 0, 0, 0, 1, 12, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 3, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 3, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 }, { { 7, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0 } }, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, @@ -10332,7 +10332,7 @@ static const insn_template i386_optab[] =3D 0, 0, 0, 0, 1, 0 } } } }, { MN_cfcmovl, 0x4c, 3, SPACE_EVEXMAP4, None, { 0, 0, 0, 1, 0, 0, 0, 1, 12, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 3, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 3, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 }, { { 7, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0 } }, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, @@ -10364,7 +10364,7 @@ static const insn_template i386_optab[] =3D 0, 0, 0, 0, 1, 0 } } } }, { MN_cfcmovnge, 0x4c, 3, SPACE_EVEXMAP4, None, { 0, 0, 0, 1, 0, 0, 0, 1, 12, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 3, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 3, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 }, { { 7, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0 } }, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, @@ -10396,7 +10396,7 @@ static const insn_template i386_optab[] =3D 0, 0, 0, 0, 1, 0 } } } }, { MN_cfcmovnl, 0x4d, 3, SPACE_EVEXMAP4, None, { 0, 0, 0, 1, 0, 0, 0, 1, 12, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 3, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 3, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 }, { { 7, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0 } }, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, @@ -10428,7 +10428,7 @@ static const insn_template i386_optab[] =3D 0, 0, 0, 0, 1, 0 } } } }, { MN_cfcmovge, 0x4d, 3, SPACE_EVEXMAP4, None, { 0, 0, 0, 1, 0, 0, 0, 1, 12, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 3, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 3, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 }, { { 7, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0 } }, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, @@ -10460,7 +10460,7 @@ static const insn_template i386_optab[] =3D 0, 0, 0, 0, 1, 0 } } } }, { MN_cfcmovle, 0x4e, 3, SPACE_EVEXMAP4, None, { 0, 0, 0, 1, 0, 0, 0, 1, 12, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 3, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 3, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 }, { { 7, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0 } }, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, @@ -10492,7 +10492,7 @@ static const insn_template i386_optab[] =3D 0, 0, 0, 0, 1, 0 } } } }, { MN_cfcmovng, 0x4e, 3, SPACE_EVEXMAP4, None, { 0, 0, 0, 1, 0, 0, 0, 1, 12, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 3, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 3, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 }, { { 7, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0 } }, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, @@ -10524,7 +10524,7 @@ static const insn_template i386_optab[] =3D 0, 0, 0, 0, 1, 0 } } } }, { MN_cfcmovnle, 0x4f, 3, SPACE_EVEXMAP4, None, { 0, 0, 0, 1, 0, 0, 0, 1, 12, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 3, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 3, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 }, { { 7, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0 } }, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, @@ -10556,7 +10556,7 @@ static const insn_template i386_optab[] =3D 0, 0, 0, 0, 1, 0 } } } }, { MN_cfcmovg, 0x4f, 3, SPACE_EVEXMAP4, None, { 0, 0, 0, 1, 0, 0, 0, 1, 12, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 3, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 3, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 }, { { 7, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0 } }, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },