• Ng Zhi An's avatar
    [x64] Introduce helpers to print xmm operands · b49a04a6
    Ng Zhi An authored
    XMM registers/operands can be mixed with normal operands. We introduce 4
    new enums to handle this case:
    
    - xmmreg, oper
    - oper, xmmreg
    - xmmreg, xmmoper
    - xmmoper, xmmreg
    
    The different between op and xmmop is what type of register to print if
    the modrm byte ends up decoding into a register.
    
    The only difference between the output of the DisasmX64 test is pinsrd,
    pinsrq, and pshuflw which had extras spaces. This is fixed with this
    patch.
    
    Test: cctest test-disasm-x64/DisasmX64 --random-seed=-1547905187
    
    Bug: v8:10933
    Change-Id: I2904c0fe83579e8df83ff2f304409278f1874c2d
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2480619Reviewed-by: 's avatarBill Budge <bbudge@chromium.org>
    Commit-Queue: Zhi An Ng <zhin@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#70690}
    b49a04a6
disasm-x64.cc 101 KB