aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/block.rs23
1 files changed, 23 insertions, 0 deletions
diff --git a/src/block.rs b/src/block.rs
index 3425242..96c3496 100644
--- a/src/block.rs
+++ b/src/block.rs
@@ -158,6 +158,29 @@ impl Shl<u32> for Block {
return Block((self.0 << 1) | (self.0.shift_elements_left::<1>(0) >> 7));
}
}
+ #[cfg(not(feature = "simd"))]
+ {
+ if rhs == 1 {
+ return Block([
+ (self.0[0] << 1) | (self.0[1] >> 7),
+ (self.0[1] << 1) | (self.0[2] >> 7),
+ (self.0[2] << 1) | (self.0[3] >> 7),
+ (self.0[3] << 1) | (self.0[4] >> 7),
+ (self.0[4] << 1) | (self.0[5] >> 7),
+ (self.0[5] << 1) | (self.0[6] >> 7),
+ (self.0[6] << 1) | (self.0[7] >> 7),
+ (self.0[7] << 1) | (self.0[8] >> 7),
+ (self.0[8] << 1) | (self.0[9] >> 7),
+ (self.0[9] << 1) | (self.0[10] >> 7),
+ (self.0[10] << 1) | (self.0[11] >> 7),
+ (self.0[11] << 1) | (self.0[12] >> 7),
+ (self.0[12] << 1) | (self.0[13] >> 7),
+ (self.0[13] << 1) | (self.0[14] >> 7),
+ (self.0[14] << 1) | (self.0[15] >> 7),
+ (self.0[15] << 1),
+ ]);
+ }
+ }
Block::from(self.to_int() << rhs)
}
}