Changeset 3804 in CLRX


Ignore:
Timestamp:
Feb 16, 2018, 1:55:44 PM (14 months ago)
Author:
matszpk
Message:

CLRadeonExtender: AsmROCm: Add testcase to test GOT symbols.

File:
1 edited

Legend:

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

    r3757 r3804  
    226226        os << "  NewBinFormat\n";
    227227   
     228    if (!output->gotSymbols.empty())
     229    {
     230        // print got symbol indices with symbol names
     231        os << "  GotSymbols:\n";
     232        for (size_t index: output->gotSymbols)
     233        {
     234            const CString name = (index < output->symbols.size()) ?
     235                    output->symbols[index].symbolName :
     236                    output->extraSymbols[index-output->symbols.size()].name;
     237            os << "    Sym: " << index << ": " << name << "\n";
     238        }
     239    }
     240   
    228241    // print extra sections if supplied
    229242    for (BinSection section: output->extraSections)
     
    13381351)ffDXD", false
    13391352    },
     1353    {   // with got symbols
     1354        R"ffDXD(.rocm
     1355.gpu Iceland
     1356.arch_minor 0
     1357.arch_stepping 0
     1358.eflags 2
     1359.newbinfmt
     1360.target "amdgcn-amd-amdhsa-amdgizcl-gfx800"
     1361.md_version 1, 0
     1362.globaldata
     1363.gotsym gdata2
     1364gdata1:
     1365.global gdata1
     1366.int 1,2,3,4,6
     1367gdata2:
     1368.global gdata2
     1369.int 11,21,13,14,61
     1370.gotsym gdata1
     1371.gotsym datav, datav.GOT
     1372.gotsym globalValX, globalValX.GOT
     1373.global datav.GOT
     1374.global globalValX.GOT
     1375.kernel vectorAdd
     1376    .config
     1377        .dims x
     1378        .use_private_segment_buffer
     1379        .use_dispatch_ptr
     1380        .use_kernarg_segment_ptr
     1381        .private_elem_size 4
     1382        .use_ptr64
     1383        .md_language "OpenCL", 1, 2
     1384        .arg n, "uint", 4, 4, value, u32
     1385        .arg a, "float*", 8, 8, globalbuf, f32, global, default const
     1386        .arg b, "float*", 8, 8, globalbuf, f32, global, default const
     1387        .arg c, "float*", 8, 8, globalbuf, f32, global, default
     1388        .arg , "", 8, 8, gox, i64
     1389        .arg , "", 8, 8, goy, i64
     1390        .arg , "", 8, 8, goz, i64
     1391.text
     1392vectorAdd:
     1393.skip 256
     1394        s_mov_b32   s1, .-gdata2
     1395.global datav
     1396datav:
     1397.global globalValX
     1398globalValX = 334
     1399)ffDXD",
     1400        R"ffDXD(ROCmBinDump:
     1401  ROCmSymbol: name=datav, offset=264, size=0, type=data
     1402  ROCmSymbol: name=vectorAdd, offset=0, size=0, type=kernel
     1403    Config:
     1404      amdCodeVersion=1.1
     1405      amdMachine=1:8:0:0
     1406      kernelCodeEntryOffset=256
     1407      kernelCodePrefetchOffset=0
     1408      kernelCodePrefetchSize=0
     1409      maxScrachBackingMemorySize=0
     1410      computePgmRsrc1=0xc0040
     1411      computePgmRsrc2=0x90
     1412      enableSgprRegisterFlags=0xb
     1413      enableFeatureFlags=0xa
     1414      workitemPrivateSegmentSize=0
     1415      workgroupGroupSegmentSize=0
     1416      gdsSegmentSize=0
     1417      kernargSegmentSize=64
     1418      workgroupFbarrierCount=0
     1419      wavefrontSgprCount=11
     1420      workitemVgprCount=1
     1421      reservedVgprFirst=0
     1422      reservedVgprCount=0
     1423      reservedSgprFirst=0
     1424      reservedSgprCount=0
     1425      debugWavefrontPrivateSegmentOffsetSgpr=0
     1426      debugPrivateSegmentBufferSgpr=0
     1427      kernargSegmentAlignment=4
     1428      groupSegmentAlignment=4
     1429      privateSegmentAlignment=4
     1430      wavefrontSize=6
     1431      callConvention=0x0
     1432      runtimeLoaderKernelSymbol=0x0
     1433      ControlDirective:
     1434      0000000000000000000000000000000000000000000000000000000000000000
     1435      0000000000000000000000000000000000000000000000000000000000000000
     1436      0000000000000000000000000000000000000000000000000000000000000000
     1437      0000000000000000000000000000000000000000000000000000000000000000
     1438  Comment:
     1439  nullptr
     1440  Code:
     1441  0100000000000000010008000000000000010000000000000000000000000000
     1442  0000000000000000000000000000000040000c00900000000b000a0000000000
     1443  00000000000000004000000000000000000000000b0001000000000000000000
     1444  0000000004040406000000000000000000000000000000000000000000000000
     1445  0000000000000000000000000000000000000000000000000000000000000000
     1446  0000000000000000000000000000000000000000000000000000000000000000
     1447  0000000000000000000000000000000000000000000000000000000000000000
     1448  0000000000000000000000000000000000000000000000000000000000000000
     1449  ff0081be50070000
     1450  GlobalData:
     1451  01000000020000000300000004000000060000000b000000150000000d000000
     1452  0e0000003d000000
     1453  MetadataInfo:
     1454    Version: 1.0
     1455    Kernel: vectorAdd
     1456      SymName=
     1457      Language=OpenCL 1.2
     1458      ReqdWorkGroupSize=0 0 0
     1459      WorkGroupSizeHint=0 0 0
     1460      VecTypeHint=
     1461      RuntimeHandle=
     1462      KernargSegmentSize=18446744073709551614
     1463      KernargSegmentAlign=18446744073709551614
     1464      GroupSegmentFixedSize=18446744073709551614
     1465      PrivateSegmentFixedSize=18446744073709551614
     1466      WaveFrontSize=4294967294
     1467      SgprsNum=4294967294
     1468      VgprsNum=4294967294
     1469      SpilledSgprs=4294967294
     1470      SpilledVgprs=4294967294
     1471      MaxFlatWorkGroupSize=18446744073709551614
     1472      FixedWorkGroupSize=0 0 0
     1473      Arg name=n, type=uint, size=4, align=4
     1474        valuekind=value, valuetype=u32, pointeeAlign=0
     1475        addrSpace=none, accQual=default, actAccQual=default
     1476        Flags=
     1477      Arg name=a, type=float*, size=8, align=8
     1478        valuekind=globalbuf, valuetype=f32, pointeeAlign=0
     1479        addrSpace=global, accQual=default, actAccQual=default
     1480        Flags= const
     1481      Arg name=b, type=float*, size=8, align=8
     1482        valuekind=globalbuf, valuetype=f32, pointeeAlign=0
     1483        addrSpace=global, accQual=default, actAccQual=default
     1484        Flags= const
     1485      Arg name=c, type=float*, size=8, align=8
     1486        valuekind=globalbuf, valuetype=f32, pointeeAlign=0
     1487        addrSpace=global, accQual=default, actAccQual=default
     1488        Flags=
     1489      Arg name=, type=, size=8, align=8
     1490        valuekind=gox, valuetype=i64, pointeeAlign=0
     1491        addrSpace=none, accQual=default, actAccQual=default
     1492        Flags=
     1493      Arg name=, type=, size=8, align=8
     1494        valuekind=goy, valuetype=i64, pointeeAlign=0
     1495        addrSpace=none, accQual=default, actAccQual=default
     1496        Flags=
     1497      Arg name=, type=, size=8, align=8
     1498        valuekind=goz, valuetype=i64, pointeeAlign=0
     1499        addrSpace=none, accQual=default, actAccQual=default
     1500        Flags=
     1501  Target=amdgcn-amd-amdhsa-amdgizcl-gfx800
     1502  EFlags=2
     1503  NewBinFormat
     1504  GotSymbols:
     1505    Sym: 5: gdata2
     1506    Sym: 6: gdata1
     1507    Sym: 0: datav
     1508    Sym: 2: globalValX
     1509  Symbol: name=globalValX, value=334, size=0, section=4294967294
     1510  Symbol: name=globalValX.GOT, value=24, size=0, section=4294967055
     1511  Symbol: name=datav.GOT, value=16, size=0, section=4294967055
     1512  Symbol: name=gdata2, value=20, size=0, section=4294967046
     1513  Symbol: name=gdata1, value=0, size=0, section=4294967046
     1514)ffDXD",
     1515        "", true
     1516    }
    13401517};
    13411518
Note: See TracChangeset for help on using the changeset viewer.