diff --git a/src/stub/powerpc-linux.elf-entry.h b/src/stub/powerpc-linux.elf-entry.h index 77c0051f..8e1255da 100644 --- a/src/stub/powerpc-linux.elf-entry.h +++ b/src/stub/powerpc-linux.elf-entry.h @@ -32,8 +32,8 @@ #define STUB_POWERPC_LINUX_ELF_ENTRY_SIZE 9075 -#define STUB_POWERPC_LINUX_ELF_ENTRY_ADLER32 0xa48e3444 -#define STUB_POWERPC_LINUX_ELF_ENTRY_CRC32 0xff0e9c9f +#define STUB_POWERPC_LINUX_ELF_ENTRY_ADLER32 0x46c73480 +#define STUB_POWERPC_LINUX_ELF_ENTRY_CRC32 0x84679b2b unsigned char stub_powerpc_linux_elf_entry[9075] = { /* 0x0000 */ 127, 69, 76, 70, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -424,7 +424,7 @@ unsigned char stub_powerpc_linux_elf_entry[9075] = { /* 0x1810 */ 0, 34, 56,160, 0, 3, 56,128, 16, 0,124,132, 34, 20,128,126, /* 0x1820 */ 0, 4,124, 99,242, 20, 56, 99, 16, 11, 84, 99, 0, 38,124,151, /* 0x1830 */ 35,120,124,110, 27,120, 56, 0, 0, 90, 68, 0, 0, 2,124, 3, -/* 0x1840 */ 112, 0, 65,130, 0, 8, 72, 0, 0, 80,126,228,187,120, 56, 0, +/* 0x1840 */ 112, 64, 65,130, 0, 8, 72, 0, 0, 80,126,228,187,120, 56, 0, /* 0x1850 */ 0, 91, 68, 0, 0, 2, 57, 0, 0, 0, 56,224,255,255, 56,192, /* 0x1860 */ 0, 50, 56,160, 0, 7, 56,128, 16, 0,128,126, 0, 4,124, 99, /* 0x1870 */ 242, 20, 56, 99, 16, 11, 84, 99, 0, 38, 56, 0, 0, 90,124,151, @@ -433,7 +433,7 @@ unsigned char stub_powerpc_linux_elf_entry[9075] = { /* 0x18a0 */ 0, 2, 57, 0, 0, 0, 56,224,255,255, 56,192, 0, 50, 56,160, /* 0x18b0 */ 0, 7, 60,128, 0, 1,128,126, 0, 4,124, 99,242, 20, 56, 99, /* 0x18c0 */ 0, 11,124, 99, 34, 20, 84, 99, 0, 30, 56, 0, 0, 90,124,151, -/* 0x18d0 */ 35,120, 68, 0, 0, 2, 44, 3, 0, 22, 65,130, 0, 0,127,233, +/* 0x18d0 */ 35,120, 68, 0, 0, 2, 40, 3, 0, 22, 65,130, 0, 0,127,233, /* 0x18e0 */ 3,166,128, 30, 0, 0,136,254, 0, 8, 56,193, 0,124,144, 1, /* 0x18f0 */ 0,124,146,225, 0, 92,124,101, 27,120,124,104, 3,166,128,158, /* 0x1900 */ 0, 4, 56,126, 0, 12, 56, 33,255,232, 78,128, 4, 32,148, 33, diff --git a/src/stub/powerpc64le-darwin.dylib-entry.h b/src/stub/powerpc64le-darwin.dylib-entry.h index 4c2448b3..73f147e1 100644 --- a/src/stub/powerpc64le-darwin.dylib-entry.h +++ b/src/stub/powerpc64le-darwin.dylib-entry.h @@ -32,8 +32,8 @@ #define STUB_POWERPC64LE_DARWIN_DYLIB_ENTRY_SIZE 9867 -#define STUB_POWERPC64LE_DARWIN_DYLIB_ENTRY_ADLER32 0xc87a5b7f -#define STUB_POWERPC64LE_DARWIN_DYLIB_ENTRY_CRC32 0x1f770f24 +#define STUB_POWERPC64LE_DARWIN_DYLIB_ENTRY_ADLER32 0xdc145bbf +#define STUB_POWERPC64LE_DARWIN_DYLIB_ENTRY_CRC32 0x055b2ad4 unsigned char stub_powerpc64le_darwin_dylib_entry[9867] = { /* 0x0000 */ 127, 69, 76, 70, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -106,7 +106,7 @@ unsigned char stub_powerpc64le_darwin_dylib_entry[9867] = { /* 0x0430 */ 0, 0, 3,136,254,232, 11, 84,126, 7, 2, 84, 0,250, 96, 56, /* 0x0440 */ 48, 88, 99,124,124,241, 99, 56,120, 11, 38,124, 20, 26, 33,124, /* 0x0450 */ 52, 0, 33, 84, 0, 0, 0, 56,120, 51,195,124, 0, 0, 9,144, -/* 0x0460 */ 252,255, 3,148, 64, 24, 1,124,248,255,128, 65, 0, 0,193,144, +/* 0x0460 */ 252,255, 3,148, 64, 24, 33,124,248,255,128, 65, 0, 0,193,144, /* 0x0470 */ 255,255, 4,136, 8, 0,225,144, 16, 0,193, 56, 12, 0, 33,145, /* 0x0480 */ 20, 0, 97, 56, 62,225, 11, 84, 62, 7, 0, 84, 2, 0, 67,152, /* 0x0490 */ 1, 0, 99,153, 0, 0, 3,152,124, 8, 2,166,148, 33,255,160, @@ -421,7 +421,7 @@ unsigned char stub_powerpc64le_darwin_dylib_entry[9867] = { /* 0x17e0 */ 20, 58,165,124, 48, 0, 1,128,255,255,165, 56,166, 3, 8,124, /* 0x17f0 */ 0, 0,230,232,166, 3,168,125, 80, 24,100,124, 80, 40,135,124, /* 0x1800 */ 1, 0, 99, 56, 1, 0,132, 56, 0, 0,134,248, 31, 0,231, 96, -/* 0x1810 */ 108, 56, 0,124, 64, 40, 7,124,172, 63, 0,124, 32, 0,231, 56, +/* 0x1810 */ 108, 56, 0,124, 64, 40, 39,124,172, 63, 0,124, 32, 0,231, 56, /* 0x1820 */ 240,255,128, 65,172, 4, 0,124, 44, 1, 0, 76, 32, 0,128, 78, /* 0x1830 */ 17,255, 65,248, 8, 0, 97,248, 16, 0,129,248, 24, 0,161,248, /* 0x1840 */ 32, 0,193,248, 40, 0,225,248, 48, 0, 1,249, 56, 0, 33,249, diff --git a/src/stub/powerpc64le-darwin.macho-entry.h b/src/stub/powerpc64le-darwin.macho-entry.h index f538bdcc..51ab982d 100644 --- a/src/stub/powerpc64le-darwin.macho-entry.h +++ b/src/stub/powerpc64le-darwin.macho-entry.h @@ -32,8 +32,8 @@ #define STUB_POWERPC64LE_DARWIN_MACHO_ENTRY_SIZE 9203 -#define STUB_POWERPC64LE_DARWIN_MACHO_ENTRY_ADLER32 0xbb174a4a -#define STUB_POWERPC64LE_DARWIN_MACHO_ENTRY_CRC32 0x886e6312 +#define STUB_POWERPC64LE_DARWIN_MACHO_ENTRY_ADLER32 0x29b14a8a +#define STUB_POWERPC64LE_DARWIN_MACHO_ENTRY_CRC32 0x874d5318 unsigned char stub_powerpc64le_darwin_macho_entry[9203] = { /* 0x0000 */ 127, 69, 76, 70, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -106,7 +106,7 @@ unsigned char stub_powerpc64le_darwin_macho_entry[9203] = { /* 0x0430 */ 254,232, 11, 84,126, 7, 2, 84, 0,250, 96, 56, 48, 88, 99,124, /* 0x0440 */ 124,241, 99, 56,120, 11, 38,124, 20, 26, 33,124, 52, 0, 33, 84, /* 0x0450 */ 0, 0, 0, 56,120, 51,195,124, 0, 0, 9,144,252,255, 3,148, -/* 0x0460 */ 64, 24, 1,124,248,255,128, 65, 0, 0,193,144,255,255, 4,136, +/* 0x0460 */ 64, 24, 33,124,248,255,128, 65, 0, 0,193,144,255,255, 4,136, /* 0x0470 */ 8, 0,225,144, 16, 0,193, 56, 12, 0, 33,145, 20, 0, 97, 56, /* 0x0480 */ 62,225, 11, 84, 62, 7, 0, 84, 2, 0, 67,152, 1, 0, 99,153, /* 0x0490 */ 0, 0, 3,152,124, 8, 2,166,148, 33,255,160,189,193, 0, 24, @@ -421,7 +421,7 @@ unsigned char stub_powerpc64le_darwin_macho_entry[9203] = { /* 0x17e0 */ 48, 0, 1,128,255,255,165, 56,166, 3, 8,124, 0, 0,230,232, /* 0x17f0 */ 166, 3,168,125, 80, 24,100,124, 80, 40,135,124, 1, 0, 99, 56, /* 0x1800 */ 1, 0,132, 56, 0, 0,134,248, 31, 0,231, 96,108, 56, 0,124, -/* 0x1810 */ 64, 40, 7,124,172, 63, 0,124, 32, 0,231, 56,240,255,128, 65, +/* 0x1810 */ 64, 40, 39,124,172, 63, 0,124, 32, 0,231, 56,240,255,128, 65, /* 0x1820 */ 172, 4, 0,124, 44, 1, 0, 76, 32, 0,128, 78,166, 2, 72,124, /* 0x1830 */ 8, 0,130,128,166, 3,137,124, 4, 0,194,128, 12, 0,226,136, /* 0x1840 */ 20, 18,164,124, 16, 0,165, 56, 20, 18,102,124,192, 0, 99, 56, diff --git a/src/stub/powerpc64le-linux.elf-entry.h b/src/stub/powerpc64le-linux.elf-entry.h index 898bf762..e2b43258 100644 --- a/src/stub/powerpc64le-linux.elf-entry.h +++ b/src/stub/powerpc64le-linux.elf-entry.h @@ -32,8 +32,8 @@ #define STUB_POWERPC64LE_LINUX_ELF_ENTRY_SIZE 9673 -#define STUB_POWERPC64LE_LINUX_ELF_ENTRY_ADLER32 0x2729ce5b -#define STUB_POWERPC64LE_LINUX_ELF_ENTRY_CRC32 0xd0a60628 +#define STUB_POWERPC64LE_LINUX_ELF_ENTRY_ADLER32 0x0b43ce9b +#define STUB_POWERPC64LE_LINUX_ELF_ENTRY_CRC32 0xae410eda unsigned char stub_powerpc64le_linux_elf_entry[9673] = { /* 0x0000 */ 127, 69, 76, 70, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -106,7 +106,7 @@ unsigned char stub_powerpc64le_linux_elf_entry[9673] = { /* 0x0430 */ 254,232, 11, 84,126, 7, 2, 84, 0,250, 96, 56, 48, 88, 99,124, /* 0x0440 */ 124,241, 99, 56,120, 11, 38,124, 20, 26, 33,124, 52, 0, 33, 84, /* 0x0450 */ 0, 0, 0, 56,120, 51,195,124, 0, 0, 9,144,252,255, 3,148, -/* 0x0460 */ 64, 24, 1,124,248,255,128, 65, 0, 0,193,144,255,255, 4,136, +/* 0x0460 */ 64, 24, 33,124,248,255,128, 65, 0, 0,193,144,255,255, 4,136, /* 0x0470 */ 8, 0,225,144, 16, 0,193, 56, 12, 0, 33,145, 20, 0, 97, 56, /* 0x0480 */ 62,225, 11, 84, 62, 7, 0, 84, 2, 0, 67,152, 1, 0, 99,153, /* 0x0490 */ 0, 0, 3,152,124, 8, 2,166,148, 33,255,160,189,193, 0, 24, @@ -421,7 +421,7 @@ unsigned char stub_powerpc64le_linux_elf_entry[9673] = { /* 0x17e0 */ 48, 0, 1,128,255,255,165, 56,166, 3, 8,124, 0, 0,230,232, /* 0x17f0 */ 166, 3,168,125, 80, 24,100,124, 80, 40,135,124, 1, 0, 99, 56, /* 0x1800 */ 1, 0,132, 56, 0, 0,134,248, 31, 0,231, 96,108, 56, 0,124, -/* 0x1810 */ 64, 40, 7,124,172, 63, 0,124, 32, 0,231, 56,240,255,128, 65, +/* 0x1810 */ 64, 40, 39,124,172, 63, 0,124, 32, 0,231, 56,240,255,128, 65, /* 0x1820 */ 172, 4, 0,124, 44, 1, 0, 76, 32, 0,128, 78, 1, 0, 0, 72, /* 0x1830 */ 80, 82, 79, 84, 95, 69, 88, 69, 67,124, 80, 82, 79, 84, 95, 87, /* 0x1840 */ 82, 73, 84, 69, 32,102, 97,105,108,101,100, 46, 10, 0, 30, 0, diff --git a/src/stub/powerpc64le-linux.elf-fold.h b/src/stub/powerpc64le-linux.elf-fold.h index cc585fdd..e34f67bf 100644 --- a/src/stub/powerpc64le-linux.elf-fold.h +++ b/src/stub/powerpc64le-linux.elf-fold.h @@ -32,8 +32,8 @@ #define STUB_POWERPC64LE_LINUX_ELF_FOLD_SIZE 2451 -#define STUB_POWERPC64LE_LINUX_ELF_FOLD_ADLER32 0x2f346e13 -#define STUB_POWERPC64LE_LINUX_ELF_FOLD_CRC32 0xff705e3b +#define STUB_POWERPC64LE_LINUX_ELF_FOLD_ADLER32 0x1a536e2f +#define STUB_POWERPC64LE_LINUX_ELF_FOLD_CRC32 0x055d31f7 unsigned char stub_powerpc64le_linux_elf_fold[2451] = { /* 0x0000 */ 127, 69, 76, 70, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -54,7 +54,7 @@ unsigned char stub_powerpc64le_linux_elf_fold[2451] = { /* 0x00f0 */ 28, 0, 0, 72,186, 2, 75, 84, 80, 88, 99,125, 20, 58,107,125, /* 0x0100 */ 186, 1, 98, 81, 0, 0, 67,144, 32, 0, 64, 79, 4, 0, 67,132, /* 0x0110 */ 190, 85, 75, 84, 64, 40, 11,124,220,255,194, 65,240,255, 32, 67, -/* 0x0120 */ 32, 0,128, 78, 0, 0, 73,232, 8, 0, 41, 57, 0, 0,130, 47, +/* 0x0120 */ 32, 0,128, 78, 0, 0, 73,232, 8, 0, 41, 57, 0, 0,162, 43, /* 0x0130 */ 244,255,254, 64, 32, 0,128, 78, 48, 0, 33, 56,166, 2, 8,125, /* 0x0140 */ 0, 0, 33,233,225,255,255, 75,221,255,255, 75,248,255,159,128, /* 0x0150 */ 38, 0, 30, 85,120,251,231,127, 80,248,164,127, 0,248,161, 56, diff --git a/src/stub/powerpc64le-linux.kernel.vmlinux.h b/src/stub/powerpc64le-linux.kernel.vmlinux.h index f3f2a2b2..7fee3283 100644 --- a/src/stub/powerpc64le-linux.kernel.vmlinux.h +++ b/src/stub/powerpc64le-linux.kernel.vmlinux.h @@ -32,8 +32,8 @@ #define STUB_POWERPC64LE_LINUX_KERNEL_VMLINUX_SIZE 9840 -#define STUB_POWERPC64LE_LINUX_KERNEL_VMLINUX_ADLER32 0x6930c592 -#define STUB_POWERPC64LE_LINUX_KERNEL_VMLINUX_CRC32 0xcb40735a +#define STUB_POWERPC64LE_LINUX_KERNEL_VMLINUX_ADLER32 0xcfa8c5d2 +#define STUB_POWERPC64LE_LINUX_KERNEL_VMLINUX_CRC32 0x0a3e4453 unsigned char stub_powerpc64le_linux_kernel_vmlinux[9840] = { /* 0x0000 */ 127, 69, 76, 70, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -109,7 +109,7 @@ unsigned char stub_powerpc64le_linux_kernel_vmlinux[9840] = { /* 0x0460 */ 1, 0, 5,157,248,255, 32, 67, 0, 1,224, 56,236, 41, 7,124, /* 0x0470 */ 44, 26, 7,124, 4,255,255, 75, 0, 0,230,232,166, 3,168,125, /* 0x0480 */ 80, 24,100,124, 80, 40,135,124, 1, 0, 99, 56, 1, 0,132, 56, -/* 0x0490 */ 0, 0,134,248, 31, 0,231, 96,108, 56, 0,124, 64, 40, 7,124, +/* 0x0490 */ 0, 0,134,248, 31, 0,231, 96,108, 56, 0,124, 64, 40, 39,124, /* 0x04a0 */ 172, 63, 0,124, 32, 0,231, 56,240,255,128, 65,172, 4, 0,124, /* 0x04b0 */ 44, 1, 0, 76, 32, 0,128, 78, 14, 0, 7, 40, 0, 0,130, 64, /* 0x04c0 */ 166, 2, 8,124,120, 51,201,124, 0, 0, 6,129,120, 43,167,124, @@ -117,7 +117,7 @@ unsigned char stub_powerpc64le_linux_kernel_vmlinux[9840] = { /* 0x04e0 */ 254,232, 11, 84,126, 7, 2, 84, 0,250, 96, 56, 48, 88, 99,124, /* 0x04f0 */ 124,241, 99, 56,120, 11, 38,124, 20, 26, 33,124, 52, 0, 33, 84, /* 0x0500 */ 0, 0, 0, 56,120, 51,195,124, 0, 0, 9,144,252,255, 3,148, -/* 0x0510 */ 64, 24, 1,124,248,255,128, 65, 0, 0,193,144,255,255, 4,136, +/* 0x0510 */ 64, 24, 33,124,248,255,128, 65, 0, 0,193,144,255,255, 4,136, /* 0x0520 */ 8, 0,225,144, 16, 0,193, 56, 12, 0, 33,145, 20, 0, 97, 56, /* 0x0530 */ 62,225, 11, 84, 62, 7, 0, 84, 2, 0, 67,152, 1, 0, 99,153, /* 0x0540 */ 0, 0, 3,152,124, 8, 2,166,148, 33,255,160,189,193, 0, 24, diff --git a/src/stub/src/arch/powerpc/32/bxx.S b/src/stub/src/arch/powerpc/32/bxx.S index 81c9dea6..3b254dde 100644 --- a/src/stub/src/arch/powerpc/32/bxx.S +++ b/src/stub/src/arch/powerpc/32/bxx.S @@ -36,10 +36,10 @@ ppcbxx: # (*f_unf)(xo->buf, out_len, h.b_cto8, h.b_ftid); #define ptr0 a4 - cmpli cr0,0,ftid,0xd0; bnelr- cr0 # if (0xd0!=ftid) return; + cmplwi cr0,ftid,0xd0; bnelr- cr0 # if (0xd0!=ftid) return; rlwinm. len,len,32-2,2,31; beqlr- cr0 # if (0==(len>>=2)) return; lis r0,-(~0<<(32-16- (2+6+ W_CTO))) # limit in 32-bit words - cmpl cr0,0,len,r0 + cmplw cr0,len,r0 blt cr0,L5 mr len,r0 L5: @@ -58,7 +58,7 @@ L10: L20: lwzu t0,4(ptr) # t0= *++ptr; rlwinm t1,t0,6+W_CTO,32-(6+W_CTO),31 # t1= top (6+W_CTO) bits of t0 - cmpl cr0,0,t1,cto8; beq- cr0,L10 # unconditional branch marked with cto8; unlikely + cmplw cr0,t1,cto8; beq- cr0,L10 # unconditional branch marked with cto8; unlikely bdnz+ L20 # if (0!=--ctr) goto L20; // likely ret diff --git a/src/stub/src/arch/powerpc/32/nrv2d_d.S b/src/stub/src/arch/powerpc/32/nrv2d_d.S index a0a10684..89b5915a 100644 --- a/src/stub/src/arch/powerpc/32/nrv2d_d.S +++ b/src/stub/src/arch/powerpc/32/nrv2d_d.S @@ -58,10 +58,10 @@ beql-: branch and link [call subroutine] if cr0 is eq, unlikely */ -#define jnextb0y cmpl 0,bits,hibit; add bits,bits,bits; beql- get32d; blt+ -#define jnextb0n cmpl 0,bits,hibit; add bits,bits,bits; beql- get32d; blt- -#define jnextb1y cmpl 0,bits,hibit; add bits,bits,bits; beql- get32d; bgt+ -#define jnextb1n cmpl 0,bits,hibit; add bits,bits,bits; beql- get32d; bgt- +#define jnextb0y cmpl cr0,bits,hibit; add bits,bits,bits; beql- get32d; blt+ +#define jnextb0n cmpl cr0,bits,hibit; add bits,bits,bits; beql- get32d; blt- +#define jnextb1y cmpl cr0,bits,hibit; add bits,bits,bits; beql- get32d; bgt+ +#define jnextb1n cmpl cr0,bits,hibit; add bits,bits,bits; beql- get32d; bgt- #undef getnextb /* rotate next bit into bottom bit of reg, set CC on entire result */ @@ -80,7 +80,7 @@ get32d: addi src,src,4 #endif /*}*/ - cmpl 0,bits,hibit // cr0 for jnextb + cmpl cr0,bits,hibit // cr0 for jnextb addc bits,bits,bits // CArry for getnextb ori bits,bits,1 // the flag bit ret diff --git a/src/stub/src/arch/powerpc/32/nrv2e_d.S b/src/stub/src/arch/powerpc/32/nrv2e_d.S index 1d8c8221..4a77b280 100644 --- a/src/stub/src/arch/powerpc/32/nrv2e_d.S +++ b/src/stub/src/arch/powerpc/32/nrv2e_d.S @@ -58,10 +58,10 @@ beql-: branch and link [call subroutine] if cr0 is eq, unlikely */ -#define jnextb0y cmpl 0,bits,hibit; add bits,bits,bits; beql- get32; blt+ -#define jnextb0n cmpl 0,bits,hibit; add bits,bits,bits; beql- get32; blt- -#define jnextb1y cmpl 0,bits,hibit; add bits,bits,bits; beql- get32; bgt+ -#define jnextb1n cmpl 0,bits,hibit; add bits,bits,bits; beql- get32; bgt- +#define jnextb0y cmpl cr0,bits,hibit; add bits,bits,bits; beql- get32; blt+ +#define jnextb0n cmpl cr0,bits,hibit; add bits,bits,bits; beql- get32; blt- +#define jnextb1y cmpl cr0,bits,hibit; add bits,bits,bits; beql- get32; bgt+ +#define jnextb1n cmpl cr0,bits,hibit; add bits,bits,bits; beql- get32; bgt- #undef getnextb /* rotate next bit into bottom bit of reg */ diff --git a/src/stub/src/arch/powerpc/64le/bxx.S b/src/stub/src/arch/powerpc/64le/bxx.S index 81c9dea6..3b254dde 100644 --- a/src/stub/src/arch/powerpc/64le/bxx.S +++ b/src/stub/src/arch/powerpc/64le/bxx.S @@ -36,10 +36,10 @@ ppcbxx: # (*f_unf)(xo->buf, out_len, h.b_cto8, h.b_ftid); #define ptr0 a4 - cmpli cr0,0,ftid,0xd0; bnelr- cr0 # if (0xd0!=ftid) return; + cmplwi cr0,ftid,0xd0; bnelr- cr0 # if (0xd0!=ftid) return; rlwinm. len,len,32-2,2,31; beqlr- cr0 # if (0==(len>>=2)) return; lis r0,-(~0<<(32-16- (2+6+ W_CTO))) # limit in 32-bit words - cmpl cr0,0,len,r0 + cmplw cr0,len,r0 blt cr0,L5 mr len,r0 L5: @@ -58,7 +58,7 @@ L10: L20: lwzu t0,4(ptr) # t0= *++ptr; rlwinm t1,t0,6+W_CTO,32-(6+W_CTO),31 # t1= top (6+W_CTO) bits of t0 - cmpl cr0,0,t1,cto8; beq- cr0,L10 # unconditional branch marked with cto8; unlikely + cmplw cr0,t1,cto8; beq- cr0,L10 # unconditional branch marked with cto8; unlikely bdnz+ L20 # if (0!=--ctr) goto L20; // likely ret diff --git a/src/stub/src/arch/powerpc/64le/lzma_d.S b/src/stub/src/arch/powerpc/64le/lzma_d.S index e81eb8c3..ba35f1f6 100644 --- a/src/stub/src/arch/powerpc/64le/lzma_d.S +++ b/src/stub/src/arch/powerpc/64le/lzma_d.S @@ -44,7 +44,7 @@ retaddr = 6*8 // (sp,cr,pc, xx,yy,zz) save area per calling convention //// teq r0,r0 // debugging #define M_LZMA 14 - cmpli cr0,0,meth,M_LZMA + cmplwi cr0,meth,M_LZMA bne cr0,not_lzma mflr r0 @@ -82,7 +82,7 @@ retaddr = 6*8 // (sp,cr,pc, xx,yy,zz) save area per calling convention stw r0,0(a6) // outSizeProcessed= 0; 1: stwu r0,-4(a0) // clear CLZmaDecoderState on stack - cmpl cr0,0,sp,a0 // compare logical ==> compare unsigned + cmpld cr0,sp,a0 // compare logical ==> compare unsigned blt cr0,1b stw a3,0(sp) // frame chain diff --git a/src/stub/src/arch/powerpc/64le/nrv2b_d.S b/src/stub/src/arch/powerpc/64le/nrv2b_d.S index c58f6dfb..b1d536e2 100644 --- a/src/stub/src/arch/powerpc/64le/nrv2b_d.S +++ b/src/stub/src/arch/powerpc/64le/nrv2b_d.S @@ -33,7 +33,7 @@ dcbtst 0,dst // prime dcache for store mflr t3 // return address - cmpli cr0,0,meth,M_NRV2B_LE32 + cmplwi cr0,meth,M_NRV2B_LE32 bne cr0,not_nrv2b std dst,0(ldst) // original dst diff --git a/src/stub/src/arch/powerpc/64le/nrv2d_d.S b/src/stub/src/arch/powerpc/64le/nrv2d_d.S index cfdcfe8e..79302843 100644 --- a/src/stub/src/arch/powerpc/64le/nrv2d_d.S +++ b/src/stub/src/arch/powerpc/64le/nrv2d_d.S @@ -33,7 +33,7 @@ dcbtst 0,dst // prime dcache for store mflr t3 // return address - cmpli cr0,0,meth,M_NRV2D_LE32 + cmplwi cr0,meth,M_NRV2D_LE32 bne cr0,not_nrv2d std dst,0(ldst) // original dst diff --git a/src/stub/src/arch/powerpc/64le/nrv2e_d.S b/src/stub/src/arch/powerpc/64le/nrv2e_d.S index c42bd466..a6244efc 100644 --- a/src/stub/src/arch/powerpc/64le/nrv2e_d.S +++ b/src/stub/src/arch/powerpc/64le/nrv2e_d.S @@ -33,7 +33,7 @@ dcbtst 0,dst // prime dcache for store mflr t3 // return address - cmpli cr0,0,meth,M_NRV2E_LE32 + cmplwi cr0,meth,M_NRV2E_LE32 bne cr0,not_nrv2e std dst,0(ldst) // original dst diff --git a/src/stub/src/powerpc-darwin.macho-fold.S b/src/stub/src/powerpc-darwin.macho-fold.S index d18b1209..01af1db9 100644 --- a/src/stub/src/powerpc-darwin.macho-fold.S +++ b/src/stub/src/powerpc-darwin.macho-fold.S @@ -71,7 +71,7 @@ L90: lwz a1,-8(r31) # offset to {l_info; p_info; b_info} subf a0,a1,r31 # &l_info lwz a3,sz_unc+sz_p_info+sz_l_info(a0) # sz_mach_headers - cmpli 0,a3,2048; bgt L100; li a3,2048 # at least 2 KiB for /usr/lib/dyld + cmpli cr0,a3,2048; bgt L100; li a3,2048 # at least 2 KiB for /usr/lib/dyld L100: movr r29,sp # remember for restoring later subf sp,a3,sp # alloca diff --git a/src/stub/src/powerpc-linux.elf-entry.S b/src/stub/src/powerpc-linux.elf-entry.S index 3e31ed87..29e248e2 100644 --- a/src/stub/src/powerpc-linux.elf-entry.S +++ b/src/stub/src/powerpc-linux.elf-entry.S @@ -164,7 +164,7 @@ unfold: mr 14,a0 // save address being allocated li 0,__NR_mmap sc - cmp 0,0,a0,14 + cmplw cr0,a0,14 beq alloc4 b alloc64 /* try to allocate a 4k page - if failure then allocate 64k page */ @@ -187,7 +187,7 @@ alloc4: mr 23,a1 // save PAGE_SIZE value mr 14,a0 // save address being allocated sc - cmpi 0,0,a0,14 // + cmpwi cr0,a0,14 // bne decomp b msg_SELinux // Branch if SummaryOverflow (failure) /* 64k page */ @@ -210,7 +210,7 @@ alloc64: li 0,__NR_mmap mr 23,a1 // save PAGE_SIZE value sc - cmpi 0,0,a0,22 // return code + cmplwi cr0,a0,22 // return code beq msg_SELinux decomp: 0: diff --git a/src/stub/src/powerpc64le-darwin.dylib-entry.S b/src/stub/src/powerpc64le-darwin.dylib-entry.S index 4242e5bb..566c9a6b 100644 --- a/src/stub/src/powerpc64le-darwin.dylib-entry.S +++ b/src/stub/src/powerpc64le-darwin.dylib-entry.S @@ -101,7 +101,7 @@ CACHELINE=32 ori dst0,dst0,-1+ CACHELINE // highest addr on cache line cfl_nrv: dcbst 0,dst0 // initiate store (modified) cacheline to memory - cmpl cr0,0,dst0,dst // did we cover the highest-addressed byte? + cmpld cr0,dst0,dst // did we cover the highest-addressed byte? icbi 0,dst0 // discard instructions from cacheline addi dst0,dst0,CACHELINE // highest addr on next line blt cr0,cfl_nrv // not done yet @@ -265,7 +265,7 @@ dy_uncpr: // FIXME: check status lbz a3,b_ftid(s_cpr) - cmpli cr0,0,a3,0 + cmplwi cr0,a3,0 beq dy_uncpr lbz a2,b_cto8(s_cpr) ld a1,sz_unc(s_cpr) diff --git a/src/stub/src/powerpc64le-darwin.macho-entry.S b/src/stub/src/powerpc64le-darwin.macho-entry.S index 8d38bb9f..5d5f8cea 100644 --- a/src/stub/src/powerpc64le-darwin.macho-entry.S +++ b/src/stub/src/powerpc64le-darwin.macho-entry.S @@ -87,7 +87,7 @@ CACHELINE=32 ori dst0,dst0,-1+ CACHELINE // highest addr on cache line cfl_nrv: dcbst 0,dst0 // initiate store (modified) cacheline to memory - cmpl cr0,0,dst0,dst // did we cover the highest-addressed byte? + cmpld cr0,dst0,dst // did we cover the highest-addressed byte? icbi 0,dst0 // discard instructions from cacheline addi dst0,dst0,CACHELINE // highest addr on next line blt cr0,cfl_nrv // not done yet diff --git a/src/stub/src/powerpc64le-darwin.macho-fold.S b/src/stub/src/powerpc64le-darwin.macho-fold.S index 11fb4963..3bde1123 100644 --- a/src/stub/src/powerpc64le-darwin.macho-fold.S +++ b/src/stub/src/powerpc64le-darwin.macho-fold.S @@ -71,7 +71,7 @@ L90: lwz a1,-8(r31) # offset to {l_info; p_info; b_info} subf a0,a1,r31 # &l_info lwz a3,sz_unc+sz_p_info+sz_l_info(a0) # sz_mach_headers - cmpli 0,0,a3,2048; bgt L100; li a3,2048 # at least 2 KiB for /usr/lib/dyld + cmplwi cr0,a3,2048; bgt L100; li a3,2048 # at least 2 KiB for /usr/lib/dyld L100: movr r29,sp # remember for restoring later subf sp,a3,sp # alloca diff --git a/src/stub/src/powerpc64le-linux.elf-entry.S b/src/stub/src/powerpc64le-linux.elf-entry.S index 3625be3e..6ee04c4f 100644 --- a/src/stub/src/powerpc64le-linux.elf-entry.S +++ b/src/stub/src/powerpc64le-linux.elf-entry.S @@ -114,7 +114,7 @@ CACHELINE=32 ori dst0,dst0,-1+ CACHELINE // highest addr on cache line cfl_nrv: dcbst 0,dst0 // initiate store (modified) cacheline to memory - cmpl cr0,0,dst0,dst // did we cover the highest-addressed byte? + cmpld cr0,dst0,dst // did we cover the highest-addressed byte? icbi 0,dst0 // discard instructions from cacheline addi dst0,dst0,CACHELINE // highest addr on next line blt cr0,cfl_nrv // not done yet diff --git a/src/stub/src/powerpc64le-linux.elf-fold.S b/src/stub/src/powerpc64le-linux.elf-fold.S index 7f6119f0..6d15e302 100644 --- a/src/stub/src/powerpc64le-linux.elf-fold.S +++ b/src/stub/src/powerpc64le-linux.elf-fold.S @@ -65,7 +65,7 @@ fold_begin: zfind: ld t0,0(a6) // parameters are 16byte aligned addi a6,a6,8 - cmpi cr7,0,t0,0; bne+ cr7,zfind + cmpldi cr7,t0,0; bne+ cr7,zfind ret L90: la sp,LINKAREA(sp) // trim save area used by decompressor diff --git a/src/stub/src/powerpc64le-linux.kernel.vmlinux.S b/src/stub/src/powerpc64le-linux.kernel.vmlinux.S index 7e4a57cb..a106a6a1 100644 --- a/src/stub/src/powerpc64le-linux.kernel.vmlinux.S +++ b/src/stub/src/powerpc64le-linux.kernel.vmlinux.S @@ -116,7 +116,7 @@ CACHELINE=32 ori dst0,dst0,-1+ CACHELINE // highest addr on cache line cfl_nrv: dcbst 0,dst0 // initiate store (modified) cacheline to memory - cmpl cr0,0,dst0,dst // did we cover the highest-addressed byte? + cmpld cr0,dst0,dst // did we cover the highest-addressed byte? icbi 0,dst0 // discard instructions from cacheline addi dst0,dst0,CACHELINE // highest addr on next line blt cr0,cfl_nrv // not done yet