|
24 | 24 |
|
25 | 25 | #include "config.h"
|
26 | 26 | #include "misc.h"
|
| 27 | +#include "stdcpp.h" |
27 | 28 |
|
28 | 29 | #if (CRYPTOPP_ARM_NEON_AVAILABLE)
|
29 | 30 | # include <arm_neon.h>
|
@@ -88,18 +89,18 @@ inline size_t AdvancedProcessBlocks64_NEON2x6(F2 func2, F6 func6,
|
88 | 89 | CRYPTOPP_ASSERT(outBlocks);
|
89 | 90 | CRYPTOPP_ASSERT(length >= 8);
|
90 | 91 |
|
91 |
| - const size_t blockSize = 8; |
92 |
| - const size_t neonBlockSize = 16; |
| 92 | + const ptrdiff_t blockSize = 8; |
| 93 | + const ptrdiff_t neonBlockSize = 16; |
93 | 94 |
|
94 |
| - size_t inIncrement = (flags & (BT_InBlockIsCounter|BT_DontIncrementInOutPointers)) ? 0 : neonBlockSize; |
95 |
| - size_t xorIncrement = xorBlocks ? neonBlockSize : 0; |
96 |
| - size_t outIncrement = (flags & BT_DontIncrementInOutPointers) ? 0 : neonBlockSize; |
| 95 | + ptrdiff_t inIncrement = (flags & (BT_InBlockIsCounter|BT_DontIncrementInOutPointers)) ? 0 : neonBlockSize; |
| 96 | + ptrdiff_t xorIncrement = xorBlocks ? neonBlockSize : 0; |
| 97 | + ptrdiff_t outIncrement = (flags & BT_DontIncrementInOutPointers) ? 0 : neonBlockSize; |
97 | 98 |
|
98 | 99 | if (flags & BT_ReverseDirection)
|
99 | 100 | {
|
100 |
| - inBlocks += length - neonBlockSize; |
101 |
| - xorBlocks += length - neonBlockSize; |
102 |
| - outBlocks += length - neonBlockSize; |
| 101 | + inBlocks += static_cast<ptrdiff_t>(length) - neonBlockSize; |
| 102 | + xorBlocks += static_cast<ptrdiff_t>(length) - neonBlockSize; |
| 103 | + outBlocks += static_cast<ptrdiff_t>(length) - neonBlockSize; |
103 | 104 | inIncrement = 0-inIncrement;
|
104 | 105 | xorIncrement = 0-xorIncrement;
|
105 | 106 | outIncrement = 0-outIncrement;
|
@@ -316,18 +317,18 @@ size_t AdvancedProcessBlocks128_NEON1x6(F1 func1, F6 func6,
|
316 | 317 | CRYPTOPP_ASSERT(outBlocks);
|
317 | 318 | CRYPTOPP_ASSERT(length >= 16);
|
318 | 319 |
|
319 |
| - const size_t blockSize = 16; |
320 |
| - // const size_t neonBlockSize = 16; |
| 320 | + const ptrdiff_t blockSize = 16; |
| 321 | + // const ptrdiff_t neonBlockSize = 16; |
321 | 322 |
|
322 |
| - size_t inIncrement = (flags & (BT_InBlockIsCounter|BT_DontIncrementInOutPointers)) ? 0 : blockSize; |
323 |
| - size_t xorIncrement = xorBlocks ? blockSize : 0; |
324 |
| - size_t outIncrement = (flags & BT_DontIncrementInOutPointers) ? 0 : blockSize; |
| 323 | + ptrdiff_t inIncrement = (flags & (BT_InBlockIsCounter|BT_DontIncrementInOutPointers)) ? 0 : blockSize; |
| 324 | + ptrdiff_t xorIncrement = xorBlocks ? blockSize : 0; |
| 325 | + ptrdiff_t outIncrement = (flags & BT_DontIncrementInOutPointers) ? 0 : blockSize; |
325 | 326 |
|
326 | 327 | if (flags & BT_ReverseDirection)
|
327 | 328 | {
|
328 |
| - inBlocks += length - blockSize; |
329 |
| - xorBlocks += length - blockSize; |
330 |
| - outBlocks += length - blockSize; |
| 329 | + inBlocks += static_cast<ptrdiff_t>(length) - blockSize; |
| 330 | + xorBlocks += static_cast<ptrdiff_t>(length) - blockSize; |
| 331 | + outBlocks += static_cast<ptrdiff_t>(length) - blockSize; |
331 | 332 | inIncrement = 0-inIncrement;
|
332 | 333 | xorIncrement = 0-xorIncrement;
|
333 | 334 | outIncrement = 0-outIncrement;
|
@@ -455,18 +456,18 @@ size_t AdvancedProcessBlocks128_NEON2x6(F2 func2, F6 func6,
|
455 | 456 | CRYPTOPP_ASSERT(outBlocks);
|
456 | 457 | CRYPTOPP_ASSERT(length >= 16);
|
457 | 458 |
|
458 |
| - const size_t blockSize = 16; |
459 |
| - // const size_t neonBlockSize = 16; |
| 459 | + const ptrdiff_t blockSize = 16; |
| 460 | + // const ptrdiff_t neonBlockSize = 16; |
460 | 461 |
|
461 |
| - size_t inIncrement = (flags & (BT_InBlockIsCounter|BT_DontIncrementInOutPointers)) ? 0 : blockSize; |
462 |
| - size_t xorIncrement = xorBlocks ? blockSize : 0; |
463 |
| - size_t outIncrement = (flags & BT_DontIncrementInOutPointers) ? 0 : blockSize; |
| 462 | + ptrdiff_t inIncrement = (flags & (BT_InBlockIsCounter|BT_DontIncrementInOutPointers)) ? 0 : blockSize; |
| 463 | + ptrdiff_t xorIncrement = xorBlocks ? blockSize : 0; |
| 464 | + ptrdiff_t outIncrement = (flags & BT_DontIncrementInOutPointers) ? 0 : blockSize; |
464 | 465 |
|
465 | 466 | if (flags & BT_ReverseDirection)
|
466 | 467 | {
|
467 |
| - inBlocks += length - blockSize; |
468 |
| - xorBlocks += length - blockSize; |
469 |
| - outBlocks += length - blockSize; |
| 468 | + inBlocks += static_cast<ptrdiff_t>(length) - blockSize; |
| 469 | + xorBlocks += static_cast<ptrdiff_t>(length) - blockSize; |
| 470 | + outBlocks += static_cast<ptrdiff_t>(length) - blockSize; |
470 | 471 | inIncrement = 0-inIncrement;
|
471 | 472 | xorIncrement = 0-xorIncrement;
|
472 | 473 | outIncrement = 0-outIncrement;
|
@@ -682,18 +683,18 @@ inline size_t AdvancedProcessBlocks64_SSE2x6(F2 func2, F6 func6,
|
682 | 683 | CRYPTOPP_ASSERT(outBlocks);
|
683 | 684 | CRYPTOPP_ASSERT(length >= 8);
|
684 | 685 |
|
685 |
| - const size_t blockSize = 8; |
686 |
| - const size_t xmmBlockSize = 16; |
| 686 | + const ptrdiff_t blockSize = 8; |
| 687 | + const ptrdiff_t xmmBlockSize = 16; |
687 | 688 |
|
688 |
| - size_t inIncrement = (flags & (BT_InBlockIsCounter|BT_DontIncrementInOutPointers)) ? 0 : xmmBlockSize; |
689 |
| - size_t xorIncrement = xorBlocks ? xmmBlockSize : 0; |
690 |
| - size_t outIncrement = (flags & BT_DontIncrementInOutPointers) ? 0 : xmmBlockSize; |
| 689 | + ptrdiff_t inIncrement = (flags & (BT_InBlockIsCounter|BT_DontIncrementInOutPointers)) ? 0 : xmmBlockSize; |
| 690 | + ptrdiff_t xorIncrement = xorBlocks ? xmmBlockSize : 0; |
| 691 | + ptrdiff_t outIncrement = (flags & BT_DontIncrementInOutPointers) ? 0 : xmmBlockSize; |
691 | 692 |
|
692 | 693 | if (flags & BT_ReverseDirection)
|
693 | 694 | {
|
694 |
| - inBlocks += length - xmmBlockSize; |
695 |
| - xorBlocks += length - xmmBlockSize; |
696 |
| - outBlocks += length - xmmBlockSize; |
| 695 | + inBlocks += static_cast<ptrdiff_t>(length) - xmmBlockSize; |
| 696 | + xorBlocks += static_cast<ptrdiff_t>(length) - xmmBlockSize; |
| 697 | + outBlocks += static_cast<ptrdiff_t>(length) - xmmBlockSize; |
697 | 698 | inIncrement = 0-inIncrement;
|
698 | 699 | xorIncrement = 0-xorIncrement;
|
699 | 700 | outIncrement = 0-outIncrement;
|
@@ -916,18 +917,18 @@ inline size_t AdvancedProcessBlocks128_SSE2x6(F2 func2, F6 func6,
|
916 | 917 | CRYPTOPP_ASSERT(outBlocks);
|
917 | 918 | CRYPTOPP_ASSERT(length >= 16);
|
918 | 919 |
|
919 |
| - const size_t blockSize = 16; |
920 |
| - // const size_t xmmBlockSize = 16; |
| 920 | + const ptrdiff_t blockSize = 16; |
| 921 | + // const ptrdiff_t xmmBlockSize = 16; |
921 | 922 |
|
922 |
| - size_t inIncrement = (flags & (BT_InBlockIsCounter|BT_DontIncrementInOutPointers)) ? 0 : blockSize; |
923 |
| - size_t xorIncrement = xorBlocks ? blockSize : 0; |
924 |
| - size_t outIncrement = (flags & BT_DontIncrementInOutPointers) ? 0 : blockSize; |
| 923 | + ptrdiff_t inIncrement = (flags & (BT_InBlockIsCounter|BT_DontIncrementInOutPointers)) ? 0 : blockSize; |
| 924 | + ptrdiff_t xorIncrement = xorBlocks ? blockSize : 0; |
| 925 | + ptrdiff_t outIncrement = (flags & BT_DontIncrementInOutPointers) ? 0 : blockSize; |
925 | 926 |
|
926 | 927 | if (flags & BT_ReverseDirection)
|
927 | 928 | {
|
928 |
| - inBlocks += length - blockSize; |
929 |
| - xorBlocks += length - blockSize; |
930 |
| - outBlocks += length - blockSize; |
| 929 | + inBlocks += static_cast<ptrdiff_t>(length) - blockSize; |
| 930 | + xorBlocks += static_cast<ptrdiff_t>(length) - blockSize; |
| 931 | + outBlocks += static_cast<ptrdiff_t>(length) - blockSize; |
931 | 932 | inIncrement = 0-inIncrement;
|
932 | 933 | xorIncrement = 0-xorIncrement;
|
933 | 934 | outIncrement = 0-outIncrement;
|
@@ -1101,18 +1102,18 @@ inline size_t AdvancedProcessBlocks128_SSE1x4(F1 func1, F4 func4,
|
1101 | 1102 | CRYPTOPP_ASSERT(outBlocks);
|
1102 | 1103 | CRYPTOPP_ASSERT(length >= 16);
|
1103 | 1104 |
|
1104 |
| - const size_t blockSize = 16; |
1105 |
| - // const size_t xmmBlockSize = 16; |
| 1105 | + const ptrdiff_t blockSize = 16; |
| 1106 | + // const ptrdiff_t xmmBlockSize = 16; |
1106 | 1107 |
|
1107 |
| - size_t inIncrement = (flags & (BT_InBlockIsCounter|BT_DontIncrementInOutPointers)) ? 0 : blockSize; |
1108 |
| - size_t xorIncrement = xorBlocks ? blockSize : 0; |
1109 |
| - size_t outIncrement = (flags & BT_DontIncrementInOutPointers) ? 0 : blockSize; |
| 1108 | + ptrdiff_t inIncrement = (flags & (BT_InBlockIsCounter|BT_DontIncrementInOutPointers)) ? 0 : blockSize; |
| 1109 | + ptrdiff_t xorIncrement = xorBlocks ? blockSize : 0; |
| 1110 | + ptrdiff_t outIncrement = (flags & BT_DontIncrementInOutPointers) ? 0 : blockSize; |
1110 | 1111 |
|
1111 | 1112 | if (flags & BT_ReverseDirection)
|
1112 | 1113 | {
|
1113 |
| - inBlocks += length - blockSize; |
1114 |
| - xorBlocks += length - blockSize; |
1115 |
| - outBlocks += length - blockSize; |
| 1114 | + inBlocks += static_cast<ptrdiff_t>(length) - blockSize; |
| 1115 | + xorBlocks += static_cast<ptrdiff_t>(length) - blockSize; |
| 1116 | + outBlocks += static_cast<ptrdiff_t>(length) - blockSize; |
1116 | 1117 | inIncrement = 0-inIncrement;
|
1117 | 1118 | xorIncrement = 0-xorIncrement;
|
1118 | 1119 | outIncrement = 0-outIncrement;
|
|
0 commit comments