Skip to content

Commit 4a043fd

Browse files
authored
Winch: Fix handled operandsize in vpshuf (#10041)
1 parent 6ac02e1 commit 4a043fd

File tree

2 files changed

+6
-6
lines changed

2 files changed

+6
-6
lines changed

winch/codegen/src/isa/x64/asm.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -566,7 +566,7 @@ impl Assembler {
566566
assert!(dst.to_reg().is_float());
567567

568568
let op = match size {
569-
OperandSize::S64 => AvxOpcode::Vpshufd,
569+
OperandSize::S32 => AvxOpcode::Vpshufd,
570570
_ => unimplemented!(),
571571
};
572572

@@ -591,7 +591,7 @@ impl Assembler {
591591

592592
let op = match size {
593593
OperandSize::S16 => AvxOpcode::Vpshuflw,
594-
OperandSize::S64 => AvxOpcode::Vpshufd,
594+
OperandSize::S32 => AvxOpcode::Vpshufd,
595595
_ => unimplemented!(),
596596
};
597597

winch/codegen/src/isa/x64/masm.rs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -352,7 +352,7 @@ impl Masm for MacroAssembler {
352352
dst.to_reg(),
353353
dst,
354354
Self::vpshuf_mask_for_64_bit_splats(),
355-
OperandSize::S64,
355+
OperandSize::S32,
356356
);
357357
} else {
358358
self.asm
@@ -1333,11 +1333,11 @@ impl Masm for MacroAssembler {
13331333
}
13341334
let mask = Self::vpshuf_mask_for_64_bit_splats();
13351335
match src {
1336-
RegImm::Reg(src) => self.asm.xmm_vpshuf_rr(src, dst, mask, OperandSize::S64),
1336+
RegImm::Reg(src) => self.asm.xmm_vpshuf_rr(src, dst, mask, OperandSize::S32),
13371337
RegImm::Imm(imm) => {
13381338
let src = self.asm.add_constant(&imm.to_bytes());
13391339
self.asm
1340-
.xmm_vpshuf_mr(&src, dst, mask, OperandSize::S64, MemFlags::trusted());
1340+
.xmm_vpshuf_mr(&src, dst, mask, OperandSize::S32, MemFlags::trusted());
13411341
}
13421342
}
13431343
} else {
@@ -1589,6 +1589,6 @@ impl MacroAssembler {
15891589
// swapped and then the swapped bytes being copied.
15901590
// [d0, d1, d2, d3, d4, d5, d6, d7, ...] yields
15911591
// [d4, d5, d6, d7, d0, d1, d2, d3, d4, d5, d6, d7, d0, d1, d2, d3].
1592-
0b0100_0100
1592+
0b01_00_01_00
15931593
}
15941594
}

0 commit comments

Comments
 (0)