Changeset 3172 in CLRX


Ignore:
Timestamp:
Jun 17, 2017, 11:36:07 AM (2 years ago)
Author:
matszpk
Message:

CLRadeonExtender: CLRXDocs: Fixed typos in V_FLOOR_F*. Add descriptions of new rounding instructions for GCN 1.2.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • CLRadeonExtender/trunk/doc/GcnInstrsVop1.md

    r3171 r3172  
    246246```
    247247
     248#### V_CEIL_F16
     249
     250Opcode VOP1: 69 (0x45) for GCN 1.2 
     251Opcode VOP3A: 389 (0x185) for GCN 1.2 
     252Syntax: V_CEIL_F16 VDST, SRC0 
     253Description: Truncate half floating point valu from SRC0 with rounding to positive infinity
     254(ceilling), and store result to VDST. Implemented by flooring.
     255If SRC0 is infinity or NaN then copy SRC0 to VDST. 
     256Operation: 
     257```
     258HALF F = FLOOR(ASHALF(SRC0))
     259if (ASHALF(SRC0) > 0.0 && ASHALF(SRC0) != F)
     260    F += 1.0
     261VDST = F
     262```
     263
    248264#### V_CEIL_F32
    249265
     
    703719```
    704720
     721#### V_FLOOR_F16
     722
     723Opcode VOP1: 68 (0x44) for GCN 1.2 
     724Opcode VOP3A: 388 (0x184) for GCN 1.2 
     725Syntax: V_FLOOR_F16 VDST, SRC0 
     726Description: Truncate half floating point value SRC0 with rounding to negative infinity
     727(flooring), and store result to VDST. If SRC0 is infinity or NaN then copy SRC0 to VDST. 
     728Operation: 
     729```
     730VDST = FLOOR(ASHALF(SRC0))
     731```
     732
    705733#### V_FLOOR_F32
    706734
     
    708736Opcode VOP3A: 420 (0x1a4) for GCN 1.0/1.1; 351 (0x15f) for GCN 1.2 
    709737Syntax: V_FLOOR_F32 VDST, SRC0 
    710 Description: Truncate floating point value SRC0 with rounding to positive infinity
     738Description: Truncate floating point value SRC0 with rounding to negative infinity
    711739(flooring), and store result to VDST. If SRC0 is infinity or NaN then copy SRC0 to VDST. 
    712740Operation: 
     
    720748Opcode VOP3A: 410 (0x19a) for GCN 1.1; 346 (0x15a) for GCN 1.2 
    721749Syntax: V_FLOOR_F64 VDST(2), SRC0(2) 
    722 Description: Truncate double floating point value SRC0 with rounding to positive infinity
     750Description: Truncate double floating point value SRC0 with rounding to negative infinity
    723751(flooring), and store result to VDST. If SRC0 is infinity or NaN then copy SRC0 to VDST. 
    724752Operation: 
     
    11351163    { firstlane = i; break; }
    11361164SDST = VSRC0[firstlane]
     1165```
     1166#### V_RNDNE_F16
     1167
     1168Opcode VOP1: 71 (0x47) for GCN 1.2 
     1169Opcode VOP3A: 391 (0x187) for GCN 1.2 
     1170Syntax: V_RNDNE_F16 VDST, SRC0 
     1171Description: Round half floating point value SRC0 to nearest even integer,
     1172and store result to VDST. If SRC0 is infinity or NaN then copy SRC0 to VDST. 
     1173Operation: 
     1174```
     1175VDST = RNDNE(ASHALF(SRC0))
    11371176```
    11381177
     
    13121351```
    13131352
     1353#### V_TRUNC_F16
     1354
     1355Opcode VOP1: 70 (0x46) for GCN 1.2 
     1356Opcode VOP3A: 390 (0x186) for GCN 1.2 
     1357Syntax: V_TRUNC_F16 VDST, SRC0 
     1358Description: Get integer value from half floating point value SRC0, and store (as half)
     1359it to VDST. If SRC0 is infinity or NaN then copy SRC0 to VDST. 
     1360Operation: 
     1361```
     1362VDST = RNDTZ(ASHALF(SRC0))
     1363```
     1364
    13141365#### V_TRUNC_F32
    13151366
Note: See TracChangeset for help on using the changeset viewer.