Changeset 4784 in CLRX


Ignore:
Timestamp:
Jul 15, 2019, 1:50:11 PM (9 months ago)
Author:
matszpk
Message:

CLRadeonExtender: GCNDisasm: Fixed printing addr for FLAT GLOBAL instructions (GFX10). Add FLAT GLOBAL testcases for GFX10.

Location:
CLRadeonExtender/trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • CLRadeonExtender/trunk/amdasm/GCNDisasmDecode.cpp

    r4783 r4784  
    25652565        decodeGCNVRegOperand(vaddr,
    25662566                // if off in SADDR, then single VGPR offset
    2567                 ((insnCode2>>16)&0x7f) == 0x7f ? 2 : 1, bufPtr); // addr
     2567                ((insnCode2>>16)&0x7f) == nullCode ? 2 : 1, bufPtr); // addr
    25682568    else if (flatMode == GCN_FLAT_SCRATCH)
    25692569    {
  • CLRadeonExtender/trunk/tests/amdasm/GCNDisasmOpc15.cpp

    r4783 r4784  
    35163516    { 0xdc974000U, 0x2f7d00bbU, true, "        scratch_load_short_d16_hi "
    35173517                "v47, v187, off glc slc\n" },
     3518    /* FLAT GLOBAL encoding */
     3519    { 0xdc238000U, 0x2f7d00bbU, true, "        global_load_ubyte "
     3520                "v47, v[187:188], off glc slc\n" },
     3521    { 0xdc238000U, 0x2f2600bbU, true, "        global_load_ubyte "
     3522                "v47, v187, s[38:39] glc slc\n" },
     3523    { 0xdc23867eU, 0x2f2600bbU, true, "        global_load_ubyte "
     3524                "v47, v187, s[38:39] inst_offset:1662 glc slc\n" },
     3525    { 0xdc238e7eU, 0x2f2600bbU, true, "        global_load_ubyte "
     3526                "v47, v187, s[38:39] inst_offset:1662 glc slc\n" },
     3527    /* FLAT GLOBAL instructions */
     3528    { 0xdc278000U, 0x2f2600bbU, true, "        global_load_sbyte "
     3529                "v47, v187, s[38:39] glc slc\n" },
     3530    { 0xdc2b8000U, 0x2f2600bbU, true, "        global_load_ushort "
     3531                "v47, v187, s[38:39] glc slc\n" },
     3532    { 0xdc2f8000U, 0x2f2600bbU, true, "        global_load_sshort "
     3533                "v47, v187, s[38:39] glc slc\n" },
     3534    { 0xdc338000U, 0x2f2600bbU, true, "        global_load_dword "
     3535                "v47, v187, s[38:39] glc slc\n" },
     3536    { 0xdc378000U, 0x2f2600bbU, true, "        global_load_dwordx2 "
     3537                "v[47:48], v187, s[38:39] glc slc\n" },
     3538    { 0xdc3b8000U, 0x2f2600bbU, true, "        global_load_dwordx4 "
     3539                "v[47:50], v187, s[38:39] glc slc\n" },
     3540    { 0xdc3f8000U, 0x2f2600bbU, true, "        global_load_dwordx3 "
     3541                "v[47:49], v187, s[38:39] glc slc\n" },
     3542    { 0xdc638000U, 0x0026a3bbU, true, "        global_store_byte "
     3543                "v187, v163, s[38:39] glc slc\n" },
     3544    { 0xdc678000U, 0x0026a3bbU, true, "        global_store_byte_d16_hi "
     3545                "v187, v163, s[38:39] glc slc\n" },
     3546    { 0xdc6b8000U, 0x0026a3bbU, true, "        global_store_short "
     3547                "v187, v163, s[38:39] glc slc\n" },
     3548    { 0xdc6f8000U, 0x0026a3bbU, true, "        global_store_short_d16_hi "
     3549                "v187, v163, s[38:39] glc slc\n" },
     3550    { 0xdc738000U, 0x0026a3bbU, true, "        global_store_dword "
     3551                "v187, v163, s[38:39] glc slc\n" },
     3552    { 0xdc778000U, 0x0026a3bbU, true, "        global_store_dwordx2 "
     3553                "v187, v[163:164], s[38:39] glc slc\n" },
     3554    { 0xdc7b8000U, 0x0026a3bbU, true, "        global_store_dwordx4 "
     3555                "v187, v[163:166], s[38:39] glc slc\n" },
     3556    { 0xdc7f8000U, 0x0026a3bbU, true, "        global_store_dwordx3 "
     3557                "v187, v[163:165], s[38:39] glc slc\n" },
     3558    { 0xdc838000U, 0x2f2600bbU, true, "        global_load_ubyte_d16 "
     3559                "v47, v187, s[38:39] glc slc\n" },
     3560    { 0xdc878000U, 0x2f2600bbU, true, "        global_load_ubyte_d16_hi "
     3561                "v47, v187, s[38:39] glc slc\n" },
     3562    { 0xdc8b8000U, 0x2f2600bbU, true, "        global_load_sbyte_d16 "
     3563                "v47, v187, s[38:39] glc slc\n" },
     3564    { 0xdc8f8000U, 0x2f2600bbU, true, "        global_load_sbyte_d16_hi "
     3565                "v47, v187, s[38:39] glc slc\n" },
     3566    { 0xdc938000U, 0x2f2600bbU, true, "        global_load_short_d16 "
     3567                "v47, v187, s[38:39] glc slc\n" },
     3568    { 0xdc978000U, 0x2f2600bbU, true, "        global_load_short_d16_hi "
     3569                "v47, v187, s[38:39] glc slc\n" },
     3570    { 0xdcc38000U, 0x2f2696bbU, true, "        global_atomic_swap "
     3571                "v47, v187, v150, s[38:39] glc slc\n" },
     3572    { 0xdcc78000U, 0x2f2696bbU, true, "        global_atomic_cmpswap "
     3573                "v47, v187, v[150:151], s[38:39] glc slc\n" },
     3574    { 0xdccb8000U, 0x2f2696bbU, true, "        global_atomic_add "
     3575                "v47, v187, v150, s[38:39] glc slc\n" },
     3576    { 0xdccf8000U, 0x2f2696bbU, true, "        global_atomic_sub "
     3577                "v47, v187, v150, s[38:39] glc slc\n" },
     3578    { 0xdcd78000U, 0x2f2696bbU, true, "        global_atomic_smin "
     3579                "v47, v187, v150, s[38:39] glc slc\n" },
     3580    { 0xdcdb8000U, 0x2f2696bbU, true, "        global_atomic_umin "
     3581                "v47, v187, v150, s[38:39] glc slc\n" },
     3582    { 0xdcdf8000U, 0x2f2696bbU, true, "        global_atomic_smax "
     3583                "v47, v187, v150, s[38:39] glc slc\n" },
     3584    { 0xdce38000U, 0x2f2696bbU, true, "        global_atomic_umax "
     3585                "v47, v187, v150, s[38:39] glc slc\n" },
     3586    { 0xdce78000U, 0x2f2696bbU, true, "        global_atomic_and "
     3587                "v47, v187, v150, s[38:39] glc slc\n" },
     3588    { 0xdceb8000U, 0x2f2696bbU, true, "        global_atomic_or "
     3589                "v47, v187, v150, s[38:39] glc slc\n" },
     3590    { 0xdcef8000U, 0x2f2696bbU, true, "        global_atomic_xor "
     3591                "v47, v187, v150, s[38:39] glc slc\n" },
     3592    { 0xdcf38000U, 0x2f2696bbU, true, "        global_atomic_inc "
     3593                "v47, v187, v150, s[38:39] glc slc\n" },
     3594    { 0xdcf78000U, 0x2f2696bbU, true, "        global_atomic_dec "
     3595                "v47, v187, v150, s[38:39] glc slc\n" },
     3596    { 0xdcfb8000U, 0x2f2696bbU, true, "        global_atomic_fcmpswap "
     3597                "v47, v187, v[150:151], s[38:39] glc slc\n" },
     3598    { 0xdcff8000U, 0x2f2696bbU, true, "        global_atomic_fmin "
     3599                "v47, v187, v150, s[38:39] glc slc\n" },
     3600    { 0xdd038000U, 0x2f2696bbU, true, "        global_atomic_fmax "
     3601                "v47, v187, v150, s[38:39] glc slc\n" },
     3602    { 0xdd438000U, 0x2f2696bbU, true, "        global_atomic_swap_x2 "
     3603                "v[47:48], v187, v[150:151], s[38:39] glc slc\n" },
     3604    { 0xdd478000U, 0x2f2696bbU, true, "        global_atomic_cmpswap_x2 "
     3605                "v[47:48], v187, v[150:153], s[38:39] glc slc\n" },
     3606    { 0xdd4b8000U, 0x2f2696bbU, true, "        global_atomic_add_x2 "
     3607                "v[47:48], v187, v[150:151], s[38:39] glc slc\n" },
     3608    { 0xdd4f8000U, 0x2f2696bbU, true, "        global_atomic_sub_x2 "
     3609                "v[47:48], v187, v[150:151], s[38:39] glc slc\n" },
     3610    { 0xdd578000U, 0x2f2696bbU, true, "        global_atomic_smin_x2 "
     3611                "v[47:48], v187, v[150:151], s[38:39] glc slc\n" },
     3612    { 0xdd5b8000U, 0x2f2696bbU, true, "        global_atomic_umin_x2 "
     3613                "v[47:48], v187, v[150:151], s[38:39] glc slc\n" },
     3614    { 0xdd5f8000U, 0x2f2696bbU, true, "        global_atomic_smax_x2 "
     3615                "v[47:48], v187, v[150:151], s[38:39] glc slc\n" },
     3616    { 0xdd638000U, 0x2f2696bbU, true, "        global_atomic_umax_x2 "
     3617                "v[47:48], v187, v[150:151], s[38:39] glc slc\n" },
     3618    { 0xdd678000U, 0x2f2696bbU, true, "        global_atomic_and_x2 "
     3619                "v[47:48], v187, v[150:151], s[38:39] glc slc\n" },
     3620    { 0xdd6b8000U, 0x2f2696bbU, true, "        global_atomic_or_x2 "
     3621                "v[47:48], v187, v[150:151], s[38:39] glc slc\n" },
     3622    { 0xdd6f8000U, 0x2f2696bbU, true, "        global_atomic_xor_x2 "
     3623                "v[47:48], v187, v[150:151], s[38:39] glc slc\n" },
     3624    { 0xdd738000U, 0x2f2696bbU, true, "        global_atomic_inc_x2 "
     3625                "v[47:48], v187, v[150:151], s[38:39] glc slc\n" },
     3626    { 0xdd778000U, 0x2f2696bbU, true, "        global_atomic_dec_x2 "
     3627                "v[47:48], v187, v[150:151], s[38:39] glc slc\n" },
     3628    { 0xdd7b8000U, 0x2f2696bbU, true, "        global_atomic_fcmpswap_x2 "
     3629                "v[47:48], v187, v[150:153], s[38:39] glc slc\n" },
     3630    { 0xdd7f8000U, 0x2f2696bbU, true, "        global_atomic_fmin_x2 "
     3631                "v[47:48], v187, v[150:151], s[38:39] glc slc\n" },
     3632    { 0xdd838000U, 0x2f2696bbU, true, "        global_atomic_fmax_x2 "
     3633                "v[47:48], v187, v[150:151], s[38:39] glc slc\n" },
    35183634    { 0, 0, false, nullptr }
    35193635};
Note: See TracChangeset for help on using the changeset viewer.