Changeset 1765 in CLRX


Ignore:
Timestamp:
Nov 29, 2015, 4:04:15 PM (4 years ago)
Author:
matszpk
Message:

CLRadeonExtender: Missing update.

File:
1 edited

Legend:

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

    r1763 r1765  
    227227Alphabetically sorted instruction list:
    228228
     229#### V_BFREV_B32
     230
     231Opcode VOP1: 56 (0x38) for GCN 1.0/1.1; 44 (0x2c) for GCN 1.2 
     232Opcode VOP3A: 440 (0x1b8) for GCN 1.0/1.1; 364 (0x16c) for GCN 1.2 
     233Syntax: V_BFREV_B32 VDST, SRC0 
     234Reverse bits in SRC0 and store result to VDST. 
     235Operation: 
     236```
     237VDST = REVBIT(SRC0)
     238```
     239
    229240#### V_CEIL_F32
    230241
     
    528539else
    529540    VDST = 0.0
     541```
     542
     543#### V_FFBH_U32
     544
     545Opcode VOP1: 57 (0x39) for GCN 1.0/1.1; 45 (0x2d) for GCN 1.2 
     546Opcode VOP3A: 441 (0x1b9) for GCN 1.0/1.1; 365 (0x16d) for GCN 1.2 
     547Syntax: V_FFBH_U32 VDST, SRC0 
     548Description: Find last one bit in SRC0. If found, store number of skipped bits to VDST,
     549otherwise set VDST to -1. 
     550Operation: 
     551```
     552VDST = -1
     553for (INT8 i = 31; i >= 0; i--)
     554    if ((1U<<i) & SRC0) != 0)
     555    { VDST = 31-i; break; }
     556```
     557
     558#### V_FFBL_B32
     559
     560Opcode VOP1: 58 (0x3a) for GCN 1.0/1.1; 46 (0x2e) for GCN 1.2 
     561Opcode VOP3A: 442 (0x1ba) for GCN 1.0/1.1; 366 (0x16e) for GCN 1.2 
     562Syntax: V_FFBL_B32 VDST, SRC0 
     563Description: Find first one bit in SRC0. If found, store number of bit to VDST,
     564otherwise set VDST to -1. 
     565Operation: 
     566```
     567VDST = -1
     568for (UINT8 i = 0; i < 32; i++)
     569    if ((1U<<i) & SRC0) != 0)
     570    { VDST = i; break; }
     571```
     572
     573#### V_FFBH_I32
     574
     575Opcode VOP1: 59 (0x3b) for GCN 1.0/1.1; 47 (0x2f) for GCN 1.2 
     576Opcode VOP3A: 443 (0x1bb) for GCN 1.0/1.1; 367 (0x16f) for GCN 1.2 
     577Syntax: V_FFBH_I32 VDST, SRC0 
     578Description: Find last opposite bit to sign in SRC0. If found, store number of skipped bits
     579to VDST, otherwise set VDST to -1. 
     580Operation: 
     581```
     582VDST = -1
     583UINT32 bitval = (INT32)SRC0>=0 ? 1 : 0
     584for (INT8 i = 31; i >= 0; i--)
     585    if ((1U<<i) & SRC0) == (bitval<<i))
     586    { VDST = 31-i; break; }
    530587```
    531588
     
    628685Description: Do nothing.
    629686
     687#### V_NOT_B32
     688
     689Opcode VOP1: 55 (0x37) for GCN 1.0/1.1; 43 (0x2b) for GCN 1.2 
     690Opcode VOP3A: 439 (0x1b7) for GCN 1.0/1.1; 363 (0x16b) for GCN 1.2 
     691Syntax: V_NOT_B32 VDST, SRC0 
     692Description: Do bitwise negation on 32-bit SRC0, and store result to VDST.
     693Operation: 
     694```
     695VDST = ~SRC0
     696```
     697
    630698#### V_RCP_CLAMP_F32
    631699
Note: See TracChangeset for help on using the changeset viewer.