< prev index next >

src/cpu/ppc/vm/macroAssembler_ppc.hpp

Print this page
rev 8574 : 8131048: ppc: implement CRC32 intrinsic

*** 635,644 **** --- 635,665 ---- Register tmp1_reg, Register tmp2_reg, Register tmp3_reg, Register tmp4_reg, Register tmp5_reg); 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 // // assert on cr0
< prev index next >