--- old/src/cpu/ppc/vm/macroAssembler_ppc.hpp 2018-03-26 06:04:22.683765261 -0400 +++ new/src/cpu/ppc/vm/macroAssembler_ppc.hpp 2018-03-26 06:04:22.611763871 -0400 @@ -637,6 +637,27 @@ void char_arrays_equalsImm(Register str1_reg, Register str2_reg, int cntval, Register result_reg, Register tmp1_reg, Register tmp2_reg); + // CRC32 Intrinsics. + void load_reverse_32(Register dst, Register src); + int crc32_table_columns(Register table, Register tc0, Register tc1, Register tc2, Register tc3); + void fold_byte_crc32(Register crc, Register val, Register table, Register tmp); + void fold_8bit_crc32(Register crc, Register table, Register tmp); + void update_byte_crc32(Register crc, Register val, Register table); + void update_byteLoop_crc32(Register crc, Register buf, Register len, Register table, + Register data, bool loopAlignment, bool invertCRC); + void update_1word_crc32(Register crc, Register buf, Register table, int bufDisp, int bufInc, + Register t0, Register t1, Register t2, Register t3, + Register tc0, Register tc1, Register tc2, Register tc3); + void kernel_crc32_2word(Register crc, Register buf, Register len, Register table, + Register t0, Register t1, Register t2, Register t3, + Register tc0, Register tc1, Register tc2, Register tc3); + void kernel_crc32_1word(Register crc, Register buf, Register len, Register table, + Register t0, Register t1, Register t2, Register t3, + Register tc0, Register tc1, Register tc2, Register tc3); + void kernel_crc32_1byte(Register crc, Register buf, Register len, Register table, + Register t0, Register t1, Register t2, Register t3); + void kernel_crc32_singleByte(Register crc, Register buf, Register len, Register table, Register tmp); + // // Debugging //