Skip to content

Commit 04e131a

Browse files
committed
count_ones: fix pointer cast errors
1 parent 1f477d8 commit 04e131a

File tree

1 file changed

+7
-5
lines changed

1 file changed

+7
-5
lines changed

crates/rustc_codegen_spirv/src/builder/intrinsics.rs

+7-5
Original file line numberDiff line numberDiff line change
@@ -218,11 +218,13 @@ impl<'a, 'tcx> IntrinsicCallBuilderMethods<'tcx> for Builder<'a, 'tcx> {
218218
sym::cttz => self.count_leading_trailing_zeros(args[0].immediate(), true, false),
219219
sym::cttz_nonzero => self.count_leading_trailing_zeros(args[0].immediate(), true, true),
220220

221-
sym::ctpop => self
222-
.emit()
223-
.bit_count(args[0].immediate().ty, None, args[0].immediate().def(self))
224-
.unwrap()
225-
.with_type(args[0].immediate().ty),
221+
sym::ctpop => {
222+
let u32 = SpirvType::Integer(32, false).def(self.span(), self);
223+
self.emit()
224+
.bit_count(u32, None, args[0].immediate().def(self))
225+
.unwrap()
226+
.with_type(u32)
227+
}
226228
sym::bitreverse => self
227229
.emit()
228230
.bit_reverse(args[0].immediate().ty, None, args[0].immediate().def(self))

0 commit comments

Comments
 (0)