Changeset 3755 in CLRX


Ignore:
Timestamp:
Feb 8, 2018, 7:22:40 AM (15 months ago)
Author:
matszpk
Message:

CLRadeonExtender: Asm: Make first argument in CWS ('.cws', 'reqd_work_group_size' ...) as optional.
CLRXDocs: Update syntax for '.cws' and other pseudo-ops with group-size. Fixed formatting.

Location:
CLRadeonExtender/trunk
Files:
6 edited

Legend:

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

    r3744 r3755  
    870870    const char* valuePlace2 = nullptr;
    871871    const char* valuePlace3 = nullptr;
    872     bool good = getAbsoluteValueArg(asmr, out[0], linePtr, true);
     872    bool good = getAbsoluteValueArg(asmr, out[0], linePtr, false);
    873873    if (good)
    874     {
    875874        asmr.printWarningForRange(32, out[0], asmr.getSourcePos(valuePlace1), WS_UNSIGNED);
    876     }
    877875    bool haveComma;
    878876    if (!skipComma(asmr, haveComma, linePtr))
     
    884882        valuePlace2 = linePtr;
    885883        if (getAbsoluteValueArg(asmr, out[1], linePtr, false))
    886         {
    887884            asmr.printWarningForRange(32, out[1], asmr.getSourcePos(valuePlace2),
    888885                              WS_UNSIGNED);
    889         }
    890886        else
    891887            good = false;
     
    897893            valuePlace3 = linePtr;
    898894            if (getAbsoluteValueArg(asmr, out[2], linePtr, false))
    899             {
    900895                asmr.printWarningForRange(32, out[2], asmr.getSourcePos(valuePlace3),
    901896                            WS_UNSIGNED);
    902             }
    903897            else
    904898                good = false;
  • CLRadeonExtender/trunk/doc/ClrxAsmAmd.md

    r3750 r3755  
    172172### .cws, .reqd_work_group_size
    173173
    174 Syntax: .cws SIZEHINT[, SIZEHINT[, SIZEHINT]]
    175 Syntax: .reqd_work_group_size SIZEHINT[, SIZEHINT[, SIZEHINT]]
     174Syntax: .cws [SIZEHINT][, [SIZEHINT][, [SIZEHINT]]] 
     175Syntax: .reqd_work_group_size [SIZEHINT][, [SIZEHINT][, [SIZEHINT]]]
    176176
    177177This pseudo-operation must be inside kernel configuration.
  • CLRadeonExtender/trunk/doc/ClrxAsmAmdCl2.md

    r3750 r3755  
    205205### .cws, .reqd_work_group_size
    206206
    207 Syntax: .cws SIZEHINT[, SIZEHINT[, SIZEHINT]]
    208 Syntax: .reqd_work_group_size SIZEHINT[, SIZEHINT[, SIZEHINT]]
     207Syntax: .cws [SIZEHINT][, [SIZEHINT][, [SIZEHINT]]] 
     208Syntax: .reqd_work_group_size [SIZEHINT][, [SIZEHINT][, [SIZEHINT]]]
    209209
    210210This pseudo-operation must be inside any kernel configuration.
     
    623623### .work_group_size_hint
    624624
    625 Syntax: .work_group_size_hint SIZEHINT[, SIZEHINT[, SIZEHINT]]
     625Syntax: .work_group_size_hint [SIZEHINT][, [SIZEHINT][, [SIZEHINT]]]
    626626
    627627This pseudo-operation must be inside any kernel configuration.
  • CLRadeonExtender/trunk/doc/ClrxAsmRocm.md

    r3753 r3755  
    167167### .cws, .reqd_work_group_size
    168168
    169 Syntax: .cws SIZEHINT[, SIZEHINT[, SIZEHINT]]
    170 Syntax: .reqd_work_group_size SIZEHINT[, SIZEHINT[, SIZEHINT]]
     169Syntax: .cws [SIZEHINT][, [SIZEHINT][, [SIZEHINT]]] 
     170Syntax: .reqd_work_group_size [SIZEHINT][, [SIZEHINT][, [SIZEHINT]]]
    171171
    172172This pseudo-operation must be inside any kernel configuration.
     
    219219### .fixed_work_group_size
    220220
    221 Syntax: .fixed_work_group_size SIZEHINT[, SIZEHINT[, SIZEHINT]]
     221Syntax: .fixed_work_group_size [SIZEHINT][, [SIZEHINT][, [SIZEHINT]]]
    222222
    223223This pseudo-operation must be inside any kernel configuration.
     
    663663field in kernel configuration. Value must be a power of two.
    664664
    665 ### .workgroup_fbarrier_count
    666 
    667 Syntax: .workgroup_fbarrier_count COUNT
    668 
    669 This pseudo-op must be inside kernel configuration (`.config`). Set
    670 `workgroup_fbarrier_count` field in kernel configuration.
    671 
    672 ### .workgroup_group_segment_size
    673 
    674 Syntax: .workgroup_group_segment_size SIZE
    675 
    676 This pseudo-op must be inside kernel configuration (`.config`). Set
    677 `workgroup_group_segment_byte_size` in kernel configuration.
    678 
    679 ### .workitem_private_segment_size
    680 
    681 Syntax: .workitem_private_segment_size SIZE
    682 
    683 This pseudo-op must be inside kernel configuration (`.config`). Set
    684 `workitem_private_segment_byte_size` field in kernel configuration.
    685 
    686 ### .workitem_vgpr_count
    687 
    688 Syntax: .workitem_vgpr_count REGNUM
    689 
    690 This pseudo-op must be inside kernel configuration (`.config`). Set
    691 `workitem_vgpr_count` field in kernel configuration.
    692 
    693665### .work_group_size_hint
    694666
    695 Syntax: .work_group_size_hint SIZEHINT[, SIZEHINT[, SIZEHINT]]
     667Syntax: .work_group_size_hint [SIZEHINT][, [SIZEHINT][, [SIZEHINT]]]
    696668
    697669This pseudo-operation must be inside any kernel configuration.
    698670Set work_group_size_hint for this kernel in metadata info.
     671
     672### .workgroup_fbarrier_count
     673
     674Syntax: .workgroup_fbarrier_count COUNT
     675
     676This pseudo-op must be inside kernel configuration (`.config`). Set
     677`workgroup_fbarrier_count` field in kernel configuration.
     678
     679### .workgroup_group_segment_size
     680
     681Syntax: .workgroup_group_segment_size SIZE
     682
     683This pseudo-op must be inside kernel configuration (`.config`). Set
     684`workgroup_group_segment_byte_size` in kernel configuration.
     685
     686### .workitem_private_segment_size
     687
     688Syntax: .workitem_private_segment_size SIZE
     689
     690This pseudo-op must be inside kernel configuration (`.config`). Set
     691`workitem_private_segment_byte_size` field in kernel configuration.
     692
     693### .workitem_vgpr_count
     694
     695Syntax: .workitem_vgpr_count REGNUM
     696
     697This pseudo-op must be inside kernel configuration (`.config`). Set
     698`workitem_vgpr_count` field in kernel configuration.
    699699
    700700## Sample code
  • CLRadeonExtender/trunk/tests/amdasm/AsmAmdCL2Format.cpp

    r3746 r3755  
    742742        "",
    743743        R"ffDXD(test.s:6:15: Error: Unknown dimension type
    744 test.s:8:15: Error: Expected expression
    745744test.s:13:20: Warning: Value 0x111da truncated to 0xda
    746745test.s:14:20: Error: LocalSize out of range (0-32768)
  • CLRadeonExtender/trunk/tests/amdasm/AsmAmdFormat.cpp

    r3746 r3755  
    706706test.s:59:21: Error: Expected expression
    707707test.s:64:19: Error: Unknown dimension type
    708 test.s:65:17: Error: Expected expression
    709708test.s:71:23: Error: Some garbages at Data Class place
    710709test.s:71:27: Error: RegStart+RegSize out of range (0-16)
Note: See TracChangeset for help on using the changeset viewer.