| 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 |