@@ -155,10 +155,11 @@ pub unsafe fn copy_forward(mut dest: *mut u8, mut src: *const u8, mut n: usize)
155155 while dest_usize. wrapping_add ( 1 ) < dest_end {
156156 src_aligned = src_aligned. wrapping_add ( 1 ) ;
157157 let cur_word = * src_aligned;
158- #[ cfg( target_endian = "little" ) ]
159- let reassembled = prev_word >> shift | cur_word << ( WORD_SIZE * 8 - shift) ;
160- #[ cfg( target_endian = "big" ) ]
161- let reassembled = prev_word << shift | cur_word >> ( WORD_SIZE * 8 - shift) ;
158+ let reassembled = if cfg ! ( target_endian = "little" ) {
159+ prev_word >> shift | cur_word << ( WORD_SIZE * 8 - shift)
160+ } else {
161+ prev_word << shift | cur_word >> ( WORD_SIZE * 8 - shift)
162+ } ;
162163 prev_word = cur_word;
163164
164165 * dest_usize = reassembled;
@@ -169,10 +170,11 @@ pub unsafe fn copy_forward(mut dest: *mut u8, mut src: *const u8, mut n: usize)
169170 // it is partially out-of-bounds.
170171 src_aligned = src_aligned. wrapping_add ( 1 ) ;
171172 let cur_word = load_aligned_partial ( src_aligned, offset) ;
172- #[ cfg( target_endian = "little" ) ]
173- let reassembled = prev_word >> shift | cur_word << ( WORD_SIZE * 8 - shift) ;
174- #[ cfg( target_endian = "big" ) ]
175- let reassembled = prev_word << shift | cur_word >> ( WORD_SIZE * 8 - shift) ;
173+ let reassembled = if cfg ! ( target_endian = "little" ) {
174+ prev_word >> shift | cur_word << ( WORD_SIZE * 8 - shift)
175+ } else {
176+ prev_word << shift | cur_word >> ( WORD_SIZE * 8 - shift)
177+ } ;
176178 // prev_word does not matter any more
177179
178180 * dest_usize = reassembled;
@@ -268,10 +270,11 @@ pub unsafe fn copy_backward(dest: *mut u8, src: *const u8, mut n: usize) {
268270 while dest_start. wrapping_add ( 1 ) < dest_usize {
269271 src_aligned = src_aligned. wrapping_sub ( 1 ) ;
270272 let cur_word = * src_aligned;
271- #[ cfg( target_endian = "little" ) ]
272- let reassembled = prev_word << ( WORD_SIZE * 8 - shift) | cur_word >> shift;
273- #[ cfg( target_endian = "big" ) ]
274- let reassembled = prev_word >> ( WORD_SIZE * 8 - shift) | cur_word << shift;
273+ let reassembled = if cfg ! ( target_endian = "little" ) {
274+ prev_word << ( WORD_SIZE * 8 - shift) | cur_word >> shift
275+ } else {
276+ prev_word >> ( WORD_SIZE * 8 - shift) | cur_word << shift
277+ } ;
275278 prev_word = cur_word;
276279
277280 dest_usize = dest_usize. wrapping_sub ( 1 ) ;
@@ -282,10 +285,11 @@ pub unsafe fn copy_backward(dest: *mut u8, src: *const u8, mut n: usize) {
282285 // it is partially out-of-bounds.
283286 src_aligned = src_aligned. wrapping_sub ( 1 ) ;
284287 let cur_word = load_aligned_end_partial ( src_aligned, WORD_SIZE - offset) ;
285- #[ cfg( target_endian = "little" ) ]
286- let reassembled = prev_word << ( WORD_SIZE * 8 - shift) | cur_word >> shift;
287- #[ cfg( target_endian = "big" ) ]
288- let reassembled = prev_word >> ( WORD_SIZE * 8 - shift) | cur_word << shift;
288+ let reassembled = if cfg ! ( target_endian = "little" ) {
289+ prev_word << ( WORD_SIZE * 8 - shift) | cur_word >> shift
290+ } else {
291+ prev_word >> ( WORD_SIZE * 8 - shift) | cur_word << shift
292+ } ;
289293 // prev_word does not matter any more
290294
291295 dest_usize = dest_usize. wrapping_sub ( 1 ) ;
0 commit comments