Changeset 3143 in CLRX


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

CLRadeonExtender: CLRXDocs: Precise what literals in operands will be treated as high 32-bit value of 64-bit value.

File:
1 edited

Legend:

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

    r3132 r3143  
    8888allow to supply immediate with various size (16-bit or 12-bit).
    8989
    90 The literals are differently treated for scalar instructions and for vector instructions.
    91 In scalar instructions if operand is 64-bit, the literal value is exact value 64-bit value
    92 (sign or zero extended). By contrast, in vector instructions, for 64-bit operand, the
    93 literal is higher 32-bits of value (lower 32-bit are zero). Unhapilly, the CLRX assembler
    94 always encodes and decodes literal immediate as 32-bit value (except floating values).
     90The literals are differently treated for scalar/vector instructions and for
     91double floating point operands in vector instructions.
     92In scalar or vector instructions if operand is 64-bit, the literal value is exact value
     9364-bit value (sign or zero extended). By contrast, in FP64 operands in vector instructions,
     94for 64-bit operand, the literal is higher 32-bits of value (lower 32-bit are zero). Unhapilly, the CLRX assembler always encodes and decodes literal immediate as 32-bit
     95value (except floating values).
    9596The immediate constants are always exact value, either for 32-bit and 64-bit operands.
    9697For example, instructions `v_frexp_exp_i32_f64 v3, lit(45)` and
Note: See TracChangeset for help on using the changeset viewer.