Changeset 4830 in CLRX


Ignore:
Timestamp:
Jul 22, 2019, 10:45:30 PM (5 months ago)
Author:
matszpk
Message:

CLRadeonExtender: GCNAsm: Add VOP3 instruction testcases for GFX10.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • CLRadeonExtender/trunk/tests/amdasm/GCNAsmOpc15.cpp

    r4829 r4830  
    22542254    { "   v_mad_legacy_f32 v55, v79, v166, v229 clamp ,", 0, 0, false, false,
    22552255        "test.s:1:48: Error: Some garbages at VOP modifier place\n" },
     2256    { "v_mad_f32 v55, abs(v79), abs(v166), sext(-v229)", 0, 0, true, false,
     2257        "test.s:1:41: Error: Expected operator\n"
     2258        "test.s:1:47: Error: Some garbages at VOP modifier place\n" },
     2259    { "v_mad_f32 v55, abs(v79), abs(v166), -v229 sext:4", 0, 0, true, false,
     2260        "test.s:1:43: Error: Unknown VOP modifier\n"
     2261        "test.s:1:47: Error: Some garbages at VOP modifier place\n" },
     2262    /* VOP3 instructions */
     2263    { "   v_mad_f32  v55, v79, v166, v229", 0xd5410037U, 0x07974d4fU, true, true, "" },
     2264    { "   v_mad_i32_i24  v55, v79, v166, v229", 0xd5420037U, 0x07974d4fU, true, true, "" },
     2265    { "   v_mad_u32_u24  v55, v79, v166, v229", 0xd5430037U, 0x07974d4fU, true, true, "" },
     2266    { "   v_cubeid_f32  v55, v79, v166, v229", 0xd5440037U, 0x07974d4fU, true, true, "" },
     2267    { "   v_cubesc_f32  v55, v79, v166, v229", 0xd5450037U, 0x07974d4fU, true, true, "" },
     2268    { "   v_cubetc_f32  v55, v79, v166, v229", 0xd5460037U, 0x07974d4fU, true, true, "" },
     2269    { "   v_cubema_f32  v55, v79, v166, v229", 0xd5470037U, 0x07974d4fU, true, true, "" },
     2270    { "   v_bfe_u32  v55, v79, v166, v229", 0xd5480037U, 0x07974d4fU, true, true, "" },
     2271    { "   v_bfe_i32  v55, v79, v166, v229", 0xd5490037U, 0x07974d4fU, true, true, "" },
     2272    { "   v_bfi_b32  v55, v79, v166, v229", 0xd54a0037U, 0x07974d4fU, true, true, "" },
     2273    { "   v_fma_f32  v55, v79, v166, v229", 0xd54b0037U, 0x07974d4fU, true, true, "" },
     2274    { "   v_fma_f64  v[55:56], v[79:80], v[166:167], v[229:230]",
     2275        0xd54c0037U, 0x07974d4fU, true, true, "" },
     2276    { "   v_fma_f64 v[5:6], v[1:2], v[3:4], s[1:2]",
     2277        0xd54c0005U, 0x00060701U, true, true, "" },
     2278    { "   v_lerp_u8  v55, v79, v166, v229", 0xd54d0037U, 0x07974d4fU, true, true, "" },
     2279    { "   v_alignbit_b32  v55, v79, v166, v229", 0xd54e0037U, 0x07974d4fU, true, true, "" },
     2280    { "   v_alignbyte_b32  v55, v79, v166, v229",
     2281        0xd54f0037U, 0x07974d4fU, true, true, "" },
     2282    { "   v_mullit_f32    v55, v79, v166, s0", 0xd5500037U, 0x00034d4fU, true, true, "" },
     2283    { "   v_mullit_f32    v55, v79, v166, s0", 0xd5500037U, 0x00034d4fU, true, true, "" },
     2284    { "   v_mullit_f32    v55, s79, v166, v229", 0xd5500037U, 0x07974c4fU, true, true, "" },
     2285    { "   v_min3_f32  v55, v79, v166, v229", 0xd5510037U, 0x07974d4fU, true, true, "" },
     2286    { "   v_min3_i32  v55, v79, v166, v229", 0xd5520037U, 0x07974d4fU, true, true, "" },
     2287    { "   v_min3_u32  v55, v79, v166, v229", 0xd5530037U, 0x07974d4fU, true, true, "" },
     2288    { "   v_max3_f32  v55, v79, v166, v229", 0xd5540037U, 0x07974d4fU, true, true, "" },
     2289    { "   v_max3_i32  v55, v79, v166, v229", 0xd5550037U, 0x07974d4fU, true, true, "" },
     2290    { "   v_max3_u32  v55, v79, v166, v229", 0xd5560037U, 0x07974d4fU, true, true, "" },
     2291    { "   v_med3_f32  v55, v79, v166, v229", 0xd5570037U, 0x07974d4fU, true, true, "" },
     2292    { "   v_med3_i32  v55, v79, v166, v229", 0xd5580037U, 0x07974d4fU, true, true, "" },
     2293    { "   v_med3_u32  v55, v79, v166, v229", 0xd5590037U, 0x07974d4fU, true, true, "" },
     2294    { "   v_sad_u8  v55, v79, v166, v229", 0xd55a0037U, 0x07974d4fU, true, true, "" },
     2295    { "   v_sad_hi_u8  v55, v79, v166, v229", 0xd55b0037U, 0x07974d4fU, true, true, "" },
     2296    { "   v_sad_u16  v55, v79, v166, v229", 0xd55c0037U, 0x07974d4fU, true, true, "" },
     2297    { "   v_sad_u32  v55, v79, v166, v229", 0xd55d0037U, 0x07974d4fU, true, true, "" },
     2298    { "   v_cvt_pk_u8_f32 v55, v79, v166, v229", 0xd55e0037U, 0x07974d4fU, true, true, "" },
     2299    { "   v_div_fixup_f32 v55, v79, v166, v229", 0xd55f0037U, 0x07974d4fU, true, true, "" },
     2300    { "   v_div_fixup_f64 v[55:56], v[79:80], v[166:167], v[229:230]",
     2301        0xd5600037U, 0x07974d4fU, true, true, "" },
     2302    { "   v_lshl_b64  v[55:56], v[79:80], v166", 0, 0, false, false,
     2303        "test.s:1:4: Error: Unknown instruction\n" },
     2304    { "   v_lshr_b64  v[55:56], v[79:80], v166", 0, 0, false, false,
     2305        "test.s:1:4: Error: Unknown instruction\n" },
     2306    { "   v_ashr_i64  v[55:56], v[79:80], v166", 0, 0, false, false,
     2307        "test.s:1:4: Error: Unknown instruction\n" },
     2308    { "   v_add_f64  v[55:56], v[79:80], v[166:167]",
     2309        0xd5640037U, 0x00034d4fU, true, true, "" },
     2310    { "   v_mul_f64  v[55:56], v[79:80], v[166:167]",
     2311        0xd5650037U, 0x00034d4fU, true, true, "" },
     2312    // sgpr alignment check
     2313    { "   v_mul_f64  v[55:56], s[79:80], v[166:167]", 0, 0, false, false,
     2314        "test.s:1:25: Error: Scalar register range cross two register lines\n" },
     2315    { "z=%s[70:89] ;v_mul_f64  v[55:56], z[9:10], v[166:167]", 0, 0, false, false,
     2316        "test.s:1:35: Error: Scalar register range cross two register lines\n" },
     2317    { "   v_mul_f64  v[55:56], s[77:78], v[166:167]",
     2318        0xd5650037U, 0x00034c4dU, true, true, "" },
     2319    { "   v_min_f64  v[55:56], v[79:80], v[166:167]",
     2320        0xd5660037U, 0x00034d4fU, true, true, "" },
     2321    { "   v_max_f64  v[55:56], v[79:80], v[166:167]",
     2322        0xd5670037U, 0x00034d4fU, true, true, "" },
     2323    { "   v_ldexp_f64  v[55:56], v[79:80], v166",
     2324        0xd5680037U, 0x00034d4fU, true, true, "" },
     2325    { "   v_mul_lo_u32  v55, v79, v166", 0xd5690037U, 0x00034d4fU, true, true, "" },
     2326    { "   v_mul_hi_u32  v55, v79, v166", 0xd56a0037U, 0x00034d4fU, true, true, "" },
     2327    { "   v_mul_lo_i32  v55, v79, v166", 0xd56b0037U, 0x00034d4fU, true, true, "" },
     2328    { "   v_mul_hi_i32  v55, v79, v166", 0xd56c0037U, 0x00034d4fU, true, true, "" },
     2329    { "   v_div_scale_f32  v55, s[38:39], v79, v166, v79",
     2330        0xd56d2637U, 0x053f4d4fU, true, true, "" },
     2331    { "   v_div_scale_f32  v55, s[37:38], v79, v166, v79",
     2332        0xd56d2537U, 0x053f4d4fU, true, true, "" },
     2333    { "   v_div_scale_f32  v55, s[38:39], v79, v79, v229",
     2334        0xd56d2637U, 0x07969f4fU, true, true, "" },
     2335    { "   v_div_scale_f64 v[55:56], s[38:39], v[79:80], v[166:167], v[79:80]",
     2336        0xd56e2637U, 0x053f4d4fU, true, true, "" },
     2337    { "   v_div_scale_f64 v[55:56], s[38:39], v[79:80], v[79:80], v[229:230]",
     2338        0xd56e2637U, 0x07969f4fU, true, true, "" },
    22562339    { nullptr, 0, 0, false, false, 0 }
    22572340};
Note: See TracChangeset for help on using the changeset viewer.