On Fri, 19 Dec 2025 06:26:47 GMT, Jatin Bhateja <[email protected]> wrote:

>>> > The basic type codes are declared and shared across Java and HotSpot - 
>>> > it's used in `LaneType`. Can we pass a single argument that is the basic 
>>> > type instead of two arguments. HotSpot should know from the basic type 
>>> > what the carrier class and also what the operation type without it being 
>>> > explicitly told, since presumably it knew the inverse - the basic type 
>>> > from the element class.
>>> 
>>> Hi @PaulSandoz, T_HALFFLOAT used in LaneType is mainly used for 
>>> differentiation of various cache keys used by conversion operation lookups. 
>>> In principle, we can extend VM to acknowledge this new custom basic type on 
>>> the lines of T_METADATA / T_ADDRESS; its scope for now will be restricted 
>>> to VectorSupport. We can gradually expose this to C2 type, such that 
>>> TypeVect for all Float16 VectorIR uses T_HALFFLOAT as its basic type; 
>>> currently, we use T_SHORT as the lane type. Let me know if this looks 
>>> reasonable
>> 
>> I am proposing something simpler, really as a temporary step until `Float16` 
>> becomes part of the `java.base` module. IIUC from the basic type we can 
>> reliably determine what the two arguments we currently passing are e.g.,  
>> T_HALFFLOAT = { short.class, VECTOR_TYPE_FP16 }. So we don't need to pass 
>> two arguments, we can just pass one, the intrinsic can lookup the class and 
>> operation type kind.
>
> Hi @PaulSandoz , your comments have been addressed. Please let us know if 
> there are other comments.
> Hi @eme64 , Kindly share your comments.

@jatin-bhateja Thanks for the ping! I'll put this on the list for review early 
in 2026 :)

-------------

PR Comment: https://git.openjdk.org/jdk/pull/28002#issuecomment-3673842243

Reply via email to