aboutsummaryrefslogtreecommitdiff
path: root/gprofng/src
diff options
context:
space:
mode:
authorCui, Lili <lili.cui@intel.com>2024-07-04 15:49:16 +0800
committerCui, Lili <lili.cui@intel.com>2024-07-04 15:55:00 +0800
commitb0dd832fa45de3e8e2038e7564331476b80c42a5 (patch)
tree36898c69fe4a6fc4237c1b743e3ca127fc019b2c /gprofng/src
parent026eb0595f615f118d25be7f1297f071d20efa37 (diff)
downloadbinutils-b0dd832fa45de3e8e2038e7564331476b80c42a5.zip
binutils-b0dd832fa45de3e8e2038e7564331476b80c42a5.tar.gz
binutils-b0dd832fa45de3e8e2038e7564331476b80c42a5.tar.bz2
Support APX CFCMOV
The CMOVcc instruction proposed by EVEX has four different forms, corresponding to the four possible combinations of EVEX.ND and EVEX.NF values. In the encoder part, when the CFCMOV template supports EVEX_NF, it means that it requires EVEX.NF to be 1. In the decoder part, CFCMOV_Fixup is used to reverse source and destination operands in the 2-operand case. gas/ChangeLog: * config/tc-i386.c (build_apx_evex_prefix): Set NF bit for cfcmov when the insn template supports EVEX_NF. * testsuite/gas/i386/x86-64-apx-inval.l: Add invalid tests for cfcmov. * testsuite/gas/i386/x86-64-apx-inval.s: Ditto. * testsuite/gas/i386/x86-64.exp: Add tests for cfcmov and cmov. * testsuite/gas/i386/x86-64-apx-cfcmov-intel.d: Ditto. * testsuite/gas/i386/x86-64-apx-cfcmov.d: Ditto. * testsuite/gas/i386/x86-64-apx-cfcmov.s: Ditto. opcodes/ChangeLog: * i386-dis-evex-prefix.h: Add cfcmov instructions. * i386-dis.c (CFCMOV_Fixup): Special handling of cfcmov. (putop): Print 'cf' for cfcmov instructions. * i386-opc.h (EVEX_NF): New. * i386-opc.tbl: Add cfcmov instructions. * i386-mnem.h: Regerated. * i386-tbl.h: Regerated.
Diffstat (limited to 'gprofng/src')
0 files changed, 0 insertions, 0 deletions