Changeset 4942 in CLRX


Ignore:
Timestamp:
Aug 31, 2019, 3:38:21 PM (3 weeks ago)
Author:
matszpk
Message:

CLRadeonExtender: DisasmROCm: Fix '.skip 64' line in disasm (do not put extra bytes). Add ROCm LLVM10 binary to DisasmDataTest?.

Location:
CLRadeonExtender/trunk
Files:
1 added
2 edited

Legend:

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

    r4941 r4942  
    10601060                if (kdit != kdescOffsets.end() && p == *kdit)
    10611061                {
    1062                     output.write(".skip 64\n", 10);
     1062                    output.write(".skip 64\n", 9);
    10631063                    p += 64;
    10641064                    ++kdit;
  • CLRadeonExtender/trunk/tests/amdasm/DisasmDataTest.cpp

    r4459 r4942  
    19941994        "Gallium kernel region is too small" // error
    19951995    },
     1996    /* 15 - rocm llvm10  */
     1997    { nullptr, nullptr, CLRX_SOURCE_DIR "/tests/amdasm/amdbins/two_kernels-rocm-llvm10.clo",
     1998        R"ffDXD(.rocm
     1999.gpu GFX1010
     2000.arch_minor 1
     2001.arch_stepping 0
     2002.eflags 51
     2003.llvm10binfmt
     2004.metadatav3
     2005.globaldata
     2006.gdata:
     2007.skip 64
     2008.skip 64
     2009.md_version 1, 0
     2010.kernel sample_kernel
     2011    .config
     2012        .dims x
     2013        .sgprsnum 16
     2014        .vgprsnum 4
     2015        .vgprsnum 0
     2016        .dx10clamp
     2017        .ieeemode
     2018        .floatmode 0xf0
     2019        .priority 0
     2020        .exceptions 0x60
     2021        .userdatanum 8
     2022        .pgmrsrc1 0x60af0040
     2023        .pgmrsrc2 0x00000090
     2024        .pgmrsrc3 0x00000000
     2025        .group_segment_fixed_size 0
     2026        .private_segment_fixed_size 0
     2027        .kernel_code_entry_offset 0x500
     2028        .use_private_segment_buffer
     2029        .use_dispatch_ptr
     2030        .use_kernarg_segment_ptr
     2031        .use_wave32
     2032    .config
     2033        .md_symname "sample_kernel.kd"
     2034        .md_language "OpenCL C", 1, 2
     2035        .md_kernarg_segment_size 64
     2036        .md_kernarg_segment_align 8
     2037        .md_group_segment_fixed_size 0
     2038        .md_private_segment_fixed_size 0
     2039        .md_wavefront_size 32
     2040        .md_sgprsnum 11
     2041        .md_vgprsnum 4
     2042        .spilledsgprs 0
     2043        .spilledvgprs 0
     2044        .max_flat_work_group_size 256
     2045        .arg g_input, "uint*", 8, 0, globalbuf, u32, global, default
     2046        .arg g_output, "uint*", 8, 8, globalbuf, u32, global, default
     2047        .arg , "", 8, 16, gox, i64
     2048        .arg , "", 8, 24, goy, i64
     2049        .arg , "", 8, 32, goz, i64
     2050        .arg , "", 8, 40, none, i8
     2051        .arg , "", 8, 48, none, i8
     2052        .arg , "", 8, 56, none, i8
     2053.kernel sample_kernel2
     2054    .config
     2055        .dims x
     2056        .sgprsnum 16
     2057        .vgprsnum 4
     2058        .vgprsnum 0
     2059        .dx10clamp
     2060        .ieeemode
     2061        .floatmode 0xf0
     2062        .priority 0
     2063        .exceptions 0x60
     2064        .userdatanum 8
     2065        .pgmrsrc1 0x60af0040
     2066        .pgmrsrc2 0x00000090
     2067        .pgmrsrc3 0x00000000
     2068        .group_segment_fixed_size 0
     2069        .private_segment_fixed_size 0
     2070        .kernel_code_entry_offset 0x5c0
     2071        .use_private_segment_buffer
     2072        .use_dispatch_ptr
     2073        .use_kernarg_segment_ptr
     2074        .use_wave32
     2075    .config
     2076        .md_symname "sample_kernel2.kd"
     2077        .md_language "OpenCL C", 1, 2
     2078        .md_kernarg_segment_size 64
     2079        .md_kernarg_segment_align 8
     2080        .md_group_segment_fixed_size 0
     2081        .md_private_segment_fixed_size 0
     2082        .md_wavefront_size 32
     2083        .md_sgprsnum 11
     2084        .md_vgprsnum 5
     2085        .spilledsgprs 0
     2086        .spilledvgprs 0
     2087        .max_flat_work_group_size 256
     2088        .arg g_input2, "uint*", 8, 0, globalbuf, u32, global, default
     2089        .arg g_output2, "uint*", 8, 8, globalbuf, u32, global, default
     2090        .arg , "", 8, 16, gox, i64
     2091        .arg , "", 8, 24, goy, i64
     2092        .arg , "", 8, 32, goz, i64
     2093        .arg , "", 8, 40, none, i8
     2094        .arg , "", 8, 48, none, i8
     2095        .arg , "", 8, 56, none, i8
     2096.text
     2097sample_kernel:
     2098/*f4000102 fa000004*/ s_load_dword    s4, s[4:5], 0x4
     2099/*f4000143 fa000010*/ s_load_dword    s5, s[6:7], 0x10
     2100/*f4080003 fa000000*/ s_load_dwordx4  s[0:3], s[6:7], 0x0
     2101/*7e020280         */ v_mov_b32       v1, 0
     2102/*bf8cc07f         */ s_waitcnt       lgkmcnt(0)
     2103/*8704ff04 0000ffff*/ s_and_b32       s4, s4, 0xffff
     2104/*93080408         */ s_mul_i32       s8, s8, s4
     2105/*d76d0000 04001005*/ v_add3_u32      v0, s5, s8, v0
     2106/*d6ff0000 00020082*/ v_lshlrev_b64   v[0:1], 2, v[0:1]
     2107/*d70f6a02 00020000*/ v_add_co_u32    v2, vcc_lo, s0, v0
     2108/*50060201         */ v_add_co_ci_u32 v3, vcc_lo, s1, v1, vcc_lo
     2109/*d70f6a00 00020002*/ v_add_co_u32    v0, vcc_lo, s2, v0
     2110/*dc308000 027d0002*/ global_load_dword v2, v[2:3], off
     2111/*50020203         */ v_add_co_ci_u32 v1, vcc_lo, s3, v1, vcc_lo
     2112/*bf8c3f70         */ s_waitcnt       vmcnt(0)
     2113/*dc708000 007d0200*/ global_store_dword v[0:1], v2, off
     2114/*bf810000         */ s_endpgm
     2115/*bf800000         */ s_nop           0x0
     2116/*bf800000         */ s_nop           0x0
     2117/*bf800000         */ s_nop           0x0
     2118/*bf800000         */ s_nop           0x0
     2119/*bf800000         */ s_nop           0x0
     2120/*bf800000         */ s_nop           0x0
     2121/*bf800000         */ s_nop           0x0
     2122/*bf800000         */ s_nop           0x0
     2123/*bf800000         */ s_nop           0x0
     2124/*bf800000         */ s_nop           0x0
     2125/*bf800000         */ s_nop           0x0
     2126/*bf800000         */ s_nop           0x0
     2127/*bf800000         */ s_nop           0x0
     2128/*bf800000         */ s_nop           0x0
     2129/*bf800000         */ s_nop           0x0
     2130/*bf800000         */ s_nop           0x0
     2131/*bf800000         */ s_nop           0x0
     2132/*bf800000         */ s_nop           0x0
     2133/*bf800000         */ s_nop           0x0
     2134/*bf800000         */ s_nop           0x0
     2135/*bf800000         */ s_nop           0x0
     2136/*bf800000         */ s_nop           0x0
     2137/*bf800000         */ s_nop           0x0
     2138/*bf800000         */ s_nop           0x0
     2139/*bf800000         */ s_nop           0x0
     2140/*bf800000         */ s_nop           0x0
     2141/*bf800000         */ s_nop           0x0
     2142/*bf800000         */ s_nop           0x0
     2143/*bf800000         */ s_nop           0x0
     2144/*bf800000         */ s_nop           0x0
     2145/*bf800000         */ s_nop           0x0
     2146/*bf800000         */ s_nop           0x0
     2147/*bf800000         */ s_nop           0x0
     2148/*bf800000         */ s_nop           0x0
     2149/*bf800000         */ s_nop           0x0
     2150/*bf800000         */ s_nop           0x0
     2151/*bf800000         */ s_nop           0x0
     2152sample_kernel2:
     2153/*f4000102 fa000004*/ s_load_dword    s4, s[4:5], 0x4
     2154/*f4000143 fa000010*/ s_load_dword    s5, s[6:7], 0x10
     2155/*f4080003 fa000000*/ s_load_dwordx4  s[0:3], s[6:7], 0x0
     2156/*7e020280         */ v_mov_b32       v1, 0
     2157/*bf8cc07f         */ s_waitcnt       lgkmcnt(0)
     2158/*8704ff04 0000ffff*/ s_and_b32       s4, s4, 0xffff
     2159/*93080408         */ s_mul_i32       s8, s8, s4
     2160/*d76d0004 04001005*/ v_add3_u32      v4, s5, s8, v0
     2161/*4a000887         */ v_add_nc_u32    v0, 7, v4
     2162/*d6ff0002 00020082*/ v_lshlrev_b64   v[2:3], 2, v[0:1]
     2163/*4a000885         */ v_add_nc_u32    v0, 5, v4
     2164/*d6ff0000 00020082*/ v_lshlrev_b64   v[0:1], 2, v[0:1]
     2165/*d70f6a02 00020400*/ v_add_co_u32    v2, vcc_lo, s0, v2
     2166/*50060601         */ v_add_co_ci_u32 v3, vcc_lo, s1, v3, vcc_lo
     2167/*d70f6a00 00020002*/ v_add_co_u32    v0, vcc_lo, s2, v0
     2168/*dc308000 027d0002*/ global_load_dword v2, v[2:3], off
     2169/*50020203         */ v_add_co_ci_u32 v1, vcc_lo, s3, v1, vcc_lo
     2170/*bf8c3f70         */ s_waitcnt       vmcnt(0)
     2171/*dc708000 007d0200*/ global_store_dword v[0:1], v2, off
     2172/*bf810000         */ s_endpgm
     2173/*bf9f0000         */ s_code_end
     2174/*bf9f0000         */ s_code_end
     2175/*bf9f0000         */ s_code_end
     2176/*bf9f0000         */ s_code_end
     2177/*bf9f0000         */ s_code_end
     2178/*bf9f0000         */ s_code_end
     2179/*bf9f0000         */ s_code_end
     2180/*bf9f0000         */ s_code_end
     2181/*bf9f0000         */ s_code_end
     2182/*bf9f0000         */ s_code_end
     2183/*bf9f0000         */ s_code_end
     2184/*bf9f0000         */ s_code_end
     2185/*bf9f0000         */ s_code_end
     2186/*bf9f0000         */ s_code_end
     2187/*bf9f0000         */ s_code_end
     2188/*bf9f0000         */ s_code_end
     2189/*bf9f0000         */ s_code_end
     2190/*bf9f0000         */ s_code_end
     2191/*bf9f0000         */ s_code_end
     2192/*bf9f0000         */ s_code_end
     2193/*bf9f0000         */ s_code_end
     2194/*bf9f0000         */ s_code_end
     2195/*bf9f0000         */ s_code_end
     2196/*bf9f0000         */ s_code_end
     2197/*bf9f0000         */ s_code_end
     2198/*bf9f0000         */ s_code_end
     2199/*bf9f0000         */ s_code_end
     2200/*bf9f0000         */ s_code_end
     2201/*bf9f0000         */ s_code_end
     2202/*bf9f0000         */ s_code_end
     2203/*bf9f0000         */ s_code_end
     2204/*bf9f0000         */ s_code_end
     2205/*bf9f0000         */ s_code_end
     2206)ffDXD", true, false }
    19962207};
    19972208
Note: See TracChangeset for help on using the changeset viewer.