OLD | NEW |
1 # Copyright (c) 2012 The Native Client Authors. All rights reserved. | 1 # Copyright (c) 2012 The Native Client Authors. All rights reserved. |
2 # Use of this source code is governed by a BSD-style license that can be | 2 # Use of this source code is governed by a BSD-style license that can be |
3 # found in the LICENSE file. | 3 # found in the LICENSE file. |
4 ################################################################################ | 4 ################################################################################ |
5 # This file describes instructions from AMD64 Architecture Programmer's Manual | 5 # This file describes instructions from AMD64 Architecture Programmer's Manual |
6 # Volume 3: General-Purpose and System Instruction | 6 # Volume 3: General-Purpose and System Instruction |
7 # Chapter 3: General-Purpose Instruction Reference | 7 # Chapter 3: General-Purpose Instruction Reference |
8 ################################################################################ | 8 ################################################################################ |
9 # File format: see def_format.py | 9 # File format: see def_format.py |
10 ######## ADC ################################################################### | 10 ######## ADC ################################################################### |
(...skipping 459 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
470 movmskpd Upd Gy, 0x66 0x0f 0x50, CPUFeature_SSE2 | 470 movmskpd Upd Gy, 0x66 0x0f 0x50, CPUFeature_SSE2 |
471 ######## MOVMSKPS ############################################################## | 471 ######## MOVMSKPS ############################################################## |
472 # Textbook definition of "movmskps" as per AMD/Intel manuals looks like this: | 472 # Textbook definition of "movmskps" as per AMD/Intel manuals looks like this: |
473 # movmskps Ups Gd, 0x0f 0x50, CPUFeature_SSE2 | 473 # movmskps Ups Gd, 0x0f 0x50, CPUFeature_SSE2 |
474 # GNU as accepts this description, but objdump decodes last operand as "Gy". | 474 # GNU as accepts this description, but objdump decodes last operand as "Gy". |
475 # Technically it makes no difference: "movmskps" clears everything except least | 475 # Technically it makes no difference: "movmskps" clears everything except least |
476 # significant four bits and this operation produces precisely idential output | 476 # significant four bits and this operation produces precisely idential output |
477 # for "Gy" and "Gd" operands. We use objdump's description. | 477 # for "Gy" and "Gd" operands. We use objdump's description. |
478 movmskps Ups Gy, 0x0f 0x50, CPUFeature_SSE | 478 movmskps Ups Gy, 0x0f 0x50, CPUFeature_SSE |
479 ######## MOVNTI ################################################################ | 479 ######## MOVNTI ################################################################ |
480 movnti Gy My, 0x0f 0xc3, CPUFeature_SSE2 | 480 movnti Gy My, 0x0f 0xc3, CPUFeature_SSE2 nacl-forbid-or-rewrite |
481 ######## MOVS/MOVSB/MOVSW/MOVSD/MOVSQ ########################################## | 481 ######## MOVS/MOVSB/MOVSW/MOVSD/MOVSQ ########################################## |
482 movs X Y, 0xa4, rep nacl-amd64-forbidden | 482 movs X Y, 0xa4, rep nacl-amd64-forbidden |
483 ######## MOVSX ################################################################# | 483 ######## MOVSX ################################################################# |
484 # Textbook definition of "movsx" as per AMD/Intel manuals looks like this: | 484 # Textbook definition of "movsx" as per AMD/Intel manuals looks like this: |
485 # movsx Eb Gv, 0x0f 0xbe | 485 # movsx Eb Gv, 0x0f 0xbe |
486 # movsx Ew Gy, 0x0f 0xbf | 486 # movsx Ew Gy, 0x0f 0xbf |
487 # Objdump has different names for this instrustion: "movsbw", "movsbl", "movsbq"
, | 487 # Objdump has different names for this instrustion: "movsbw", "movsbl", "movsbq"
, |
488 # "movswl", "movswq" depending on operand size. We describe 32bit versions and | 488 # "movswl", "movswq" depending on operand size. We describe 32bit versions and |
489 # 64bit version separately. | 489 # 64bit version separately. |
490 movsbl Eb Gd, 0x0f 0xbe, norexw nacl-amd64-zero-extends | 490 movsbl Eb Gd, 0x0f 0xbe, norexw nacl-amd64-zero-extends |
(...skipping 337 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
828 xchg &G M, 0x86, lock | 828 xchg &G M, 0x86, lock |
829 ######## XLAT ################################################################## | 829 ######## XLAT ################################################################## |
830 xlat xb, 0xd7, nacl-forbidden | 830 xlat xb, 0xd7, nacl-forbidden |
831 ######## XOR ################################################################### | 831 ######## XOR ################################################################### |
832 xor I a, 0x34, nacl-amd64-zero-extends | 832 xor I a, 0x34, nacl-amd64-zero-extends |
833 xor I E, 0x80 /6, lock nacl-amd64-zero-extends | 833 xor I E, 0x80 /6, lock nacl-amd64-zero-extends |
834 xor Ib Ev, 0x83 /6, lock nacl-amd64-zero-extends | 834 xor Ib Ev, 0x83 /6, lock nacl-amd64-zero-extends |
835 xor G E, 0x30, lock nacl-amd64-zero-extends | 835 xor G E, 0x30, lock nacl-amd64-zero-extends |
836 xor E G, 0x32, nacl-amd64-zero-extends | 836 xor E G, 0x32, nacl-amd64-zero-extends |
837 ################################################################################ | 837 ################################################################################ |
OLD | NEW |