MCPcopy Create free account
hub / github.com/Rust-GPU/rust-gpu / vector_splat

Method vector_splat

crates/rustc_codegen_spirv/src/builder/builder_methods.rs:2061–2079  ·  view source on GitHub ↗
(&mut self, num_elts: usize, elt: Self::Value)

Source from the content-addressed store, hash-verified

2059 }
2060
2061 fn vector_splat(&mut self, num_elts: usize, elt: Self::Value) -> Self::Value {
2062 let result_type = SpirvType::Vector {
2063 element: elt.ty,
2064 count: num_elts as u32,
2065 }
2066 .def(self.span(), self);
2067 if self.builder.lookup_const(elt).is_some() {
2068 self.constant_composite(result_type, iter::repeat(elt.def(self)).take(num_elts))
2069 } else {
2070 self.emit()
2071 .composite_construct(
2072 result_type,
2073 None,
2074 iter::repeat(elt.def(self)).take(num_elts),
2075 )
2076 .unwrap()
2077 .with_type(result_type)
2078 }
2079 }
2080
2081 fn extract_value(&mut self, agg_val: Self::Value, idx: u64) -> Self::Value {
2082 let result_type = match self.lookup_type(agg_val.ty) {

Callers 1

fptoint_satMethod · 0.80

Calls 6

spanMethod · 0.80
lookup_constMethod · 0.80
constant_compositeMethod · 0.80
with_typeMethod · 0.80
defMethod · 0.45
emitMethod · 0.45

Tested by

no test coverage detected