Skip to content

[SPIR-V] Extend support of the <1 x Type> vector type in the SPIR-V backend #127092

@VyacheslavLevytskyy

Description

@VyacheslavLevytskyy

#124560 introduced initial support and established general approach for the <1 x Type> vector type in the SPIR-V backend. At the same time, this support in not yet completed without a number of enhancements mentioned in the #124560 (review) comment. This issue is to cover a work planned as a nearest future continuation of #124560 in parts of:

  • shufflevector instruction with cases
%vec = shufflevector <1 x float> %ins, <1 x float> %sw, <2 x i32> <i32 0, i32 1> ; `CompositeContruct` + `VectorInsertElement`'s
%vec = shufflevector <1 x float> %ins, <1 x float> %sw, <1 x i32> <i32 0>; implement shufflevector semantics inplace to get a scalar
%vec = shufflevector <4 x float> %vec4, <4 x float> %vec4, <1 x i32> <i32 poison>; pad the mask to <2 x i32> and then `extractelement`
  • other items (2-4) from the above mentioned comment (GEP, a case of a function with external linkage, intrinsics).

FYI @MrSidims

Metadata

Metadata

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions