Changes between Version 6 and Version 7 of GcnInstrsMubuf


Ignore:
Timestamp:
01/03/16 14:00:15 (8 years ago)
Author:
trac
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • GcnInstrsMubuf

    v6 v7  
    788788Syntax: BUFFER_ATOMIC_ADD VDATA, VADDR, SRSRC, SOFFSET<br />
    789789Description: Add VDATA to value of SRSRC resource, and store result to this resource.
    790 If GLC flag is set then return previous value to VDATA, otherwise keep VDATA value.
    791 Operation is atomic.<br />
     790If GLC flag is set then return previous value from resource to VDATA,
     791otherwise keep VDATA value. Operation is atomic.<br />
    792792Operation:<br />
    793793<code>UINT32* VM = (UINT32*)VMEM(SRSRC, VADDR, SOFFSET, OFFSET)
     
    797797Syntax: BUFFER_ATOMIC_ADD_X2 VDATA(2), VADDR, SRSRC, SOFFSET<br />
    798798Description: Add 64-bit VDATA to 64-bit value of SRSRC resource, and store result
    799 to this resource. If GLC flag is set then return previous value to VDATA,
     799to this resource. If GLC flag is set then return previous value from resource to VDATA,
    800800otherwise keep VDATA value. Operation is atomic.<br />
    801801Operation:<br />
     
    806806Syntax: BUFFER_ATOMIC_AND VDATA, VADDR, SRSRC, SOFFSET<br />
    807807Description: Do bitwise AND on VDATA and value of SRSRC resource,
    808 and store result to this resource. If GLC flag is set then return previous value to VDATA,
    809 otherwise keep VDATA value. Operation is atomic.<br />
     808and store result to this resource. If GLC flag is set then return previous value
     809from resource to VDATA, otherwise keep VDATA value. Operation is atomic.<br />
    810810Operation:<br />
    811811<code>UINT32* VM = (UINT32*)VMEM(SRSRC, VADDR, SOFFSET, OFFSET)
     
    815815Syntax: BUFFER_ATOMIC_AND_X2 VDATA(2), VADDR, SRSRC, SOFFSET<br />
    816816Description: Do 64-bit bitwise AND on VDATA and value of SRSRC resource,
    817 and store result to this resource. If GLC flag is set then return previous value to VDATA,
    818 otherwise keep VDATA value. Operation is atomic.<br />
     817and store result to this resource. If GLC flag is set then return previous value
     818from resource to VDATA, otherwise keep VDATA value. Operation is atomic.<br />
    819819Operation:<br />
    820820<code>UINT64* VM = (UINT64*)VMEM(SRSRC, VADDR, SOFFSET, OFFSET)
     
    825825Description: Store lower VDATA dword into SRSRC resource if previous value
    826826from resource is equal VDATA&gt;&gt;32, otherwise keep old value from resource.
    827 If GLC flag is set then return previous value to VDATA, otherwise keep VDATA value.
    828 Operation is atomic.<br />
     827If GLC flag is set then return previous value from resource to VDATA,
     828otherwise keep VDATA value. Operation is atomic.<br />
    829829Operation:<br />
    830830<code>UINT32* VM = (UINT32*)VMEM(SRSRC, VADDR, SOFFSET, OFFSET)
     
    836836Description: Store lower VDATA 64-bit word into SRSRC resource if previous value
    837837from resource is equal VDATA&gt;&gt;64, otherwise keep old value from resource.
    838 If GLC flag is set then return previous value to VDATA, otherwise keep VDATA value.
    839 Operation is atomic.<br />
     838If GLC flag is set then return previous value from resource to VDATA,
     839otherwise keep VDATA value. Operation is atomic.<br />
    840840Operation:<br />
    841841<code>UINT64* VM = (UINT64*)VMEM(SRSRC, VADDR, SOFFSET, OFFSET)
     
    847847Description: Compare value from SRSRC resource and if less or equal than VDATA
    848848and this value is not zero, then decrement value from resource,
    849 otherwise store VDATA to resource. If GLC flag is set then return previous value to VDATA,
    850 otherwise keep VDATA value. Operation is atomic.<br />
     849otherwise store VDATA to resource. If GLC flag is set then return previous value
     850from resource to VDATA, otherwise keep VDATA value. Operation is atomic.<br />
    851851Operation:<br />
    852852<code>UINT32* VM = (UINT32*)VMEM(SRSRC, VADDR, SOFFSET, OFFSET)
     
    858858Description: Compare 64-bit value from SRSRC resource and if less or equal than VDATA
    859859and this value is not zero, then decrement value from resource,
    860 otherwise store VDATA to resource. If GLC flag is set then return previous value to VDATA,
    861 otherwise keep VDATA value. Operation is atomic.<br />
     860otherwise store VDATA to resource. If GLC flag is set then return previous value
     861from resource to VDATA, otherwise keep VDATA value. Operation is atomic.<br />
    862862Operation:<br />
    863863<code>UINT64* VM = (UINT64*)VMEM(SRSRC, VADDR, SOFFSET, OFFSET)
     
    870870value from resource is equal singe floating point value VDATA&gt;&gt;32,
    871871otherwise keep old value from resource.
    872 If GLC flag is set then return previous value to VDATA, otherwise keep VDATA value.
    873 Operation is atomic.<br />
     872If GLC flag is set then return previous value from resource to VDATA,
     873otherwise keep VDATA value. Operation is atomic.<br />
    874874Operation:<br />
    875875<code>FLOAT* VM = (FLOAT*)VMEM(SRSRC, VADDR, SOFFSET, OFFSET)
     
    882882floating point value from resource is equal singe floating point value VDATA&gt;&gt;32,
    883883otherwise keep old value from resource.
    884 If GLC flag is set then return previous value to VDATA, otherwise keep VDATA value.
    885 Operation is atomic.<br />
     884If GLC flag is set then return previous value from resource to VDATA, otherwise keep
     885VDATA value. Operation is atomic.<br />
    886886Operation:<br />
    887887<code>DOUBLE* VM = (DOUBLE*)VMEM(SRSRC, VADDR, SOFFSET, OFFSET)
     
    893893Description: Choose greatest single floating point value from VDATA and from
    894894SRSRC resource, and store result to this resource.
    895 If GLC flag is set then return previous value to VDATA, otherwise keep VDATA value.
    896 Operation is atomic.<br />
     895If GLC flag is set then return previous value from resource to VDATA, otherwise keep
     896VDATA value. Operation is atomic.<br />
    897897Operation:<br />
    898898<code>FLOAT* VM = (FLOAT*)VMEM(SRSRC, VADDR, SOFFSET, OFFSET)
     
    903903Description: Choose greatest double floating point value from VDATA and from
    904904SRSRC resource, and store result to this resource.
    905 If GLC flag is set then return previous value to VDATA, otherwise keep VDATA value.
    906 Operation is atomic.<br />
     905If GLC flag is set then return previous value from resource to VDATA,
     906otherwise keep VDATA value. Operation is atomic.<br />
    907907Operation:<br />
    908908<code>DOUBLE* VM = (DOUBLE*)VMEM(SRSRC, VADDR, SOFFSET, OFFSET)
     
    913913Description: Choose smallest single floating point value from VDATA and from
    914914SRSRC resource, and store result to this resource.
    915 If GLC flag is set then return previous value to VDATA, otherwise keep VDATA value.
    916 Operation is atomic.<br />
     915If GLC flag is set then return previous value from resource to VDATA, otherwise keep
     916VDATA value. Operation is atomic.<br />
    917917Operation:<br />
    918918<code>FLOAT* VM = (FLOAT*)VMEM(SRSRC, VADDR, SOFFSET, OFFSET)
     
    923923Description: Choose smallest double floating point value from VDATA and from
    924924SRSRC resource, and store result to this resource.
    925 If GLC flag is set then return previous value to VDATA, otherwise keep VDATA value.
    926 Operation is atomic.<br />
     925If GLC flag is set then return previous value from resource to VDATA, otherwise keep
     926VDATA value. Operation is atomic.<br />
    927927Operation:<br />
    928928<code>DOUBLE* VM = (DOUBLE*)VMEM(SRSRC, VADDR, SOFFSET, OFFSET)
     
    933933Description: Compare value from SRSRC resource and if less than VDATA,
    934934then increment value from resource, otherwise store zero to resource.
    935 If GLC flag is set then return previous value to VDATA,
     935If GLC flag is set then return previous value from resource to VDATA,
    936936otherwise keep VDATA value. Operation is atomic.<br />
    937937Operation:<br />
     
    943943Description: Compare 64-bit value from SRSRC resource and if less than VDATA,
    944944then increment value from resource, otherwise store zero to resource.
    945 If GLC flag is set then return previous value to VDATA,
     945If GLC flag is set then return previous value from resource to VDATA,
    946946otherwise keep VDATA value. Operation is atomic.<br />
    947947Operation:<br />
     
    952952Syntax: BUFFER_ATOMIC_OR VDATA, VADDR, SRSRC, SOFFSET<br />
    953953Description: Do bitwise OR on VDATA and value of SRSRC resource,
    954 and store result to this resource. If GLC flag is set then return previous value to VDATA,
    955 otherwise keep VDATA value. Operation is atomic.<br />
     954and store result to this resource. If GLC flag is set then return previous value
     955from resource to VDATA, otherwise keep VDATA value. Operation is atomic.<br />
    956956Operation:<br />
    957957<code>UINT32* VM = (UINT32*)VMEM(SRSRC, VADDR, SOFFSET, OFFSET)
     
    961961Syntax: BUFFER_ATOMIC_OR_X2 VDATA(2), VADDR, SRSRC, SOFFSET<br />
    962962Description: Do 64-bit bitwise OR on VDATA and value of SRSRC resource,
    963 and store result to this resource. If GLC flag is set then return previous value to VDATA,
    964 otherwise keep VDATA value. Operation is atomic.<br />
     963and store result to this resource. If GLC flag is set then return previous value
     964from resource to VDATA, otherwise keep VDATA value. Operation is atomic.<br />
    965965Operation:<br />
    966966<code>UINT64* VM = (UINT64*)VMEM(SRSRC, VADDR, SOFFSET, OFFSET)
     
    970970Syntax: BUFFER_ATOMIC_RSUB VDATA, VADDR, SRSRC, SOFFSET<br />
    971971Description: Subtract value of SRSRC resource from VDATA, and store result to
    972 this resource. If GLC flag is set then return previous value to VDATA,
     972this resource. If GLC flag is set then return previous value from resource to VDATA,
    973973otherwise keep VDATA value. Operation is atomic.<br />
    974974Operation:<br />
     
    979979Syntax: BUFFER_ATOMIC_RSUB_X2 VDATA(2), VADDR, SRSRC, SOFFSET<br />
    980980Description: Subtract 64-bit value of SRSRC resource from 64-bit VDATA, and store result
    981 to this resource. If GLC flag is set then return previous value to VDATA,
     981to this resource. If GLC flag is set then return previous value from resource to VDATA,
    982982otherwise keep VDATA value. Operation is atomic.<br />
    983983Operation:<br />
     
    989989Description: Choose greatest signed 32-bit value from VDATA and from SRSRC resource,
    990990and store result to this resource.
    991 If GLC flag is set then return previous value to VDATA, otherwise keep VDATA value.
    992 Operation is atomic.<br />
     991If GLC flag is set then return previous value from resource to VDATA, otherwise keep
     992VDATA value. Operation is atomic.<br />
    993993Operation:<br />
    994994<code>INT32* VM = (INT32*)VMEM(SRSRC, VADDR, SOFFSET, OFFSET)
     
    999999Description: Choose greatest signed 64-bit value from VDATA and from SRSRC resource,
    10001000and store result to this resource.
    1001 If GLC flag is set then return previous value to VDATA, otherwise keep VDATA value.
    1002 Operation is atomic.<br />
     1001If GLC flag is set then return previous value from resource to VDATA, otherwise keep
     1002VDATA value. Operation is atomic.<br />
    10031003Operation:<br />
    10041004<code>INT64* VM = (INT64*)VMEM(SRSRC, VADDR, SOFFSET, OFFSET)
     
    10091009Description: Choose smallest signed 32-bit value from VDATA and from SRSRC resource,
    10101010and store result to this resource.
    1011 If GLC flag is set then return previous value to VDATA, otherwise keep VDATA value.
    1012 Operation is atomic.<br />
     1011If GLC flag is set then return previous value from resource to VDATA, otherwise keep
     1012VDATA value. Operation is atomic.<br />
    10131013Operation:<br />
    10141014<code>INT32* VM = (INT32*)VMEM(SRSRC, VADDR, SOFFSET, OFFSET)
     
    10191019Description: Choose smallest signed 64-bit value from VDATA and from SRSRC resource,
    10201020and store result to this resource.
    1021 If GLC flag is set then return previous value to VDATA, otherwise keep VDATA value.
    1022 Operation is atomic.<br />
     1021If GLC flag is set then return previous value from resource to VDATA, otherwise keep
     1022VDATA value. Operation is atomic.<br />
    10231023Operation:<br />
    10241024<code>INT64* VM = (INT64*)VMEM(SRSRC, VADDR, SOFFSET, OFFSET)
     
    10281028Syntax: BUFFER_ATOMIC_SUB VDATA, VADDR, SRSRC, SOFFSET<br />
    10291029Description: Subtract VDATA from value from SRSRC resource, and store result to
    1030 this resource. If GLC flag is set then return previous value to VDATA,
     1030this resource. If GLC flag is set then return previous value from resource to VDATA,
    10311031otherwise keep VDATA value. Operation is atomic.<br />
    10321032Operation:<br />
     
    10371037Syntax: BUFFER_ATOMIC_SUB_X2 VDATA(2), VADDR, SRSRC, SOFFSET<br />
    10381038Description: Subtract 64-bit VDATA from 64-bit value from SRSRC resource, and store
    1039 result to this resource. If GLC flag is set then return previous value to VDATA,
    1040 otherwise keep VDATA value. Operation is atomic.<br />
     1039result to this resource. If GLC flag is set then return previous value from resource to
     1040VDATA, otherwise keep VDATA value. Operation is atomic.<br />
    10411041Operation:<br />
    10421042<code>UINT64* VM = (UINT64*)VMEM(SRSRC, VADDR, SOFFSET, OFFSET)
     
    10461046Syntax: BUFFER_ATOMIC_SWAP VDATA, VADDR, SRSRC, SOFFSET<br />
    10471047Description: Store VDATA dword into SRSRC resource. If GLC flag is set then
    1048 return previous value to VDATA, otherwise keep VDATA value. Operation is atomic.<br />
     1048return previous value from resource to VDATA, otherwise keep VDATA value.
     1049Operation is atomic.<br />
    10491050Operation:<br />
    10501051<code>UINT32* VM = (UINT32*)VMEM(SRSRC, VADDR, SOFFSET, OFFSET)
     
    10541055Syntax: BUFFER_ATOMIC_SWAP_X2 VDATA(2), VADDR, SRSRC, SOFFSET<br />
    10551056Description: Store VDATA 64-bit word into SRSRC resource. If GLC flag is set then
    1056 return previous value to VDATA, otherwise keep VDATA value. Operation is atomic.<br />
     1057return previous value from resource to VDATA, otherwise keep VDATA value.
     1058Operation is atomic.<br />
    10571059Operation:<br />
    10581060<code>UINT64* VM = (UINT64*)VMEM(SRSRC, VADDR, SOFFSET, OFFSET)
     
    10631065Description: Choose greatest unsigned 32-bit value from VDATA and from SRSRC resource,
    10641066and store result to this resource.
    1065 If GLC flag is set then return previous value to VDATA, otherwise keep VDATA value.
    1066 Operation is atomic.<br />
     1067If GLC flag is set then return previous value from resource to VDATA, otherwise
     1068keep VDATA value. Operation is atomic.<br />
    10671069Operation:<br />
    10681070<code>UINT32* VM = (UINT32*)VMEM(SRSRC, VADDR, SOFFSET, OFFSET)
     
    10731075Description: Choose greatest unsigned 64-bit value from VDATA and from SRSRC resource,
    10741076and store result to this resource.
    1075 If GLC flag is set then return previous value to VDATA, otherwise keep VDATA value.
    1076 Operation is atomic.<br />
     1077If GLC flag is set then return previous value from resource to VDATA, otherwise keep
     1078VDATA value. Operation is atomic.<br />
    10771079Operation:<br />
    10781080<code>UINT64* VM = (UINT32*)VMEM(SRSRC, VADDR, SOFFSET, OFFSET)
     
    10831085Description: Choose smallest unsigned 32-bit value from VDATA and from SRSRC resource,
    10841086and store result to this resource.
    1085 If GLC flag is set then return previous value to VDATA, otherwise keep VDATA value.
    1086 Operation is atomic.<br />
     1087If GLC flag is set then return previous value from resource to VDATA, otherwise keep
     1088VDATA value. Operation is atomic.<br />
    10871089Operation:<br />
    10881090<code>UINT32* VM = (UINT32*)VMEM(SRSRC, VADDR, SOFFSET, OFFSET)
     
    10931095Description: Choose smallest unsigned 64-bit value from VDATA and from SRSRC resource,
    10941096and store result to this resource.
    1095 If GLC flag is set then return previous value to VDATA, otherwise keep VDATA value.
    1096 Operation is atomic.<br />
     1097If GLC flag is set then return previous value from resource to VDATA, otherwise keep
     1098VDATA value. Operation is atomic.<br />
    10971099Operation:<br />
    10981100<code>UINT64* VM = (UINT64*)VMEM(SRSRC, VADDR, SOFFSET, OFFSET)
     
    11021104Syntax: BUFFER_ATOMIC_XOR VDATA, VADDR, SRSRC, SOFFSET<br />
    11031105Description: Do bitwise XOR on VDATA and value of SRSRC resource,
    1104 and store result to this resource. If GLC flag is set then return previous value to VDATA,
    1105 otherwise keep VDATA value. Operation is atomic.<br />
     1106and store result to this resource. If GLC flag is set then return previous value
     1107from resource to VDATA, otherwise keep VDATA value. Operation is atomic.<br />
    11061108Operation:<br />
    11071109<code>UINT32* VM = (UINT32*)VMEM(SRSRC, VADDR, SOFFSET, OFFSET)
     
    11111113Syntax: BUFFER_ATOMIC_XOR_X2 VDATA(2), VADDR, SRSRC, SOFFSET<br />
    11121114Description: Do 64-bit bitwise XOR on VDATA and value of SRSRC resource,
    1113 and store result to this resource. If GLC flag is set then return previous value to VDATA,
    1114 otherwise keep VDATA value. Operation is atomic.<br />
     1115and store result to this resource. If GLC flag is set then return previous value
     1116from resource to VDATA, otherwise keep VDATA value. Operation is atomic.<br />
    11151117Operation:<br />
    11161118<code>UINT64* VM = (UINT64*)VMEM(SRSRC, VADDR, SOFFSET, OFFSET)