Skip to content

Commit 8ecc990

Browse files
committed
leading_zeros: make all conversions unsigned
1 parent 9cf1a9e commit 8ecc990

File tree

1 file changed

+7
-7
lines changed

1 file changed

+7
-7
lines changed

crates/rustc_codegen_spirv/src/builder/intrinsics.rs

+7-7
Original file line numberDiff line numberDiff line change
@@ -383,12 +383,12 @@ impl Builder<'_, '_> {
383383
64 => {
384384
let u32_32 = self.constant_u32(self.span(), 32).def(self);
385385
let arg = arg.def(self);
386-
let lower = self.emit().s_convert(u32, None, arg).unwrap();
386+
let lower = self.emit().u_convert(u32, None, arg).unwrap();
387387
let higher = self
388388
.emit()
389389
.shift_right_logical(ty, None, arg, u32_32)
390390
.unwrap();
391-
let higher = self.emit().s_convert(u32, None, higher).unwrap();
391+
let higher = self.emit().u_convert(u32, None, higher).unwrap();
392392

393393
let lower_bits = self.emit().bit_count(u32, None, lower).unwrap();
394394
let higher_bits = self.emit().bit_count(u32, None, higher).unwrap();
@@ -438,12 +438,12 @@ impl Builder<'_, '_> {
438438
64 => {
439439
let u32_32 = self.constant_u32(self.span(), 32).def(self);
440440
let arg = arg.def(self);
441-
let lower = self.emit().s_convert(u32, None, arg).unwrap();
441+
let lower = self.emit().u_convert(u32, None, arg).unwrap();
442442
let higher = self
443443
.emit()
444444
.shift_right_logical(ty, None, arg, u32_32)
445445
.unwrap();
446-
let higher = self.emit().s_convert(u32, None, higher).unwrap();
446+
let higher = self.emit().u_convert(u32, None, higher).unwrap();
447447

448448
// note that higher and lower have swapped
449449
let higher_bits = self.emit().bit_reverse(u32, None, lower).unwrap();
@@ -517,7 +517,7 @@ impl Builder<'_, '_> {
517517
let converted = match bits {
518518
8 | 16 => {
519519
if trailing {
520-
let arg = self.emit().s_convert(u32, None, arg.def(self)).unwrap();
520+
let arg = self.emit().u_convert(u32, None, arg.def(self)).unwrap();
521521
find_xsb(arg)
522522
} else {
523523
let arg = arg.def(self);
@@ -533,12 +533,12 @@ impl Builder<'_, '_> {
533533
let u32_32 = self.constant_u32(self.span(), 32).def(self);
534534

535535
let arg = arg.def(self);
536-
let lower = self.emit().s_convert(u32, None, arg).unwrap();
536+
let lower = self.emit().u_convert(u32, None, arg).unwrap();
537537
let higher = self
538538
.emit()
539539
.shift_right_logical(ty, None, arg, u32_32)
540540
.unwrap();
541-
let higher = self.emit().s_convert(u32, None, higher).unwrap();
541+
let higher = self.emit().u_convert(u32, None, higher).unwrap();
542542

543543
let lower_bits = find_xsb(lower);
544544
let higher_bits = find_xsb(higher);

0 commit comments

Comments
 (0)