37 //shuffle mask for big-endian 128-bit integers
38 static address _counter_shuffle_mask_addr;
39
40 // masks and table for CRC32
41 static uint64_t _crc_by128_masks[];
42 static juint _crc_table[];
43 // table for CRC32C
44 static juint* _crc32c_table;
45 // swap mask for ghash
46 static address _ghash_long_swap_mask_addr;
47 static address _ghash_byte_swap_mask_addr;
48
49 // upper word mask for sha1
50 static address _upper_word_mask_addr;
51 // byte flip mask for sha1
52 static address _shuffle_byte_flip_mask_addr;
53
54 //k256 table for sha256
55 static juint _k256[];
56 static address _k256_adr;
57 // byte flip mask for sha256
58 static address _pshuffle_byte_flip_mask_addr;
59
60 //tables common for LIBM sin and cos
61 static juint _ONEHALF[];
62 static address _ONEHALF_adr;
63 static juint _P_2[];
64 static address _P_2_adr;
65 static juint _SC_4[];
66 static address _SC_4_adr;
67 static juint _Ctable[];
68 static address _Ctable_adr;
69 static juint _SC_2[];
70 static address _SC_2_adr;
71 static juint _SC_3[];
72 static address _SC_3_adr;
73 static juint _SC_1[];
74 static address _SC_1_adr;
75 static juint _PI_INV_TABLE[];
76 static address _PI_INV_TABLE_adr;
92 static address _L_2il0floatpacket_0_adr;
93 static juint _Pi4Inv[];
94 static address _Pi4Inv_adr;
95 static juint _Pi4x3[];
96 static address _Pi4x3_adr;
97 static juint _Pi4x4[];
98 static address _Pi4x4_adr;
99 static juint _ones[];
100 static address _ones_adr;
101
102 public:
103 static address verify_mxcsr_entry() { return _verify_mxcsr_entry; }
104 static address key_shuffle_mask_addr() { return _key_shuffle_mask_addr; }
105 static address counter_shuffle_mask_addr() { return _counter_shuffle_mask_addr; }
106 static address crc_by128_masks_addr() { return (address)_crc_by128_masks; }
107 static address ghash_long_swap_mask_addr() { return _ghash_long_swap_mask_addr; }
108 static address ghash_byte_swap_mask_addr() { return _ghash_byte_swap_mask_addr; }
109 static address upper_word_mask_addr() { return _upper_word_mask_addr; }
110 static address shuffle_byte_flip_mask_addr() { return _shuffle_byte_flip_mask_addr; }
111 static address k256_addr() { return _k256_adr; }
112 static address pshuffle_byte_flip_mask_addr() { return _pshuffle_byte_flip_mask_addr; }
113 static void generate_CRC32C_table(bool is_pclmulqdq_supported);
114 static address _ONEHALF_addr() { return _ONEHALF_adr; }
115 static address _P_2_addr() { return _P_2_adr; }
116 static address _SC_4_addr() { return _SC_4_adr; }
117 static address _Ctable_addr() { return _Ctable_adr; }
118 static address _SC_2_addr() { return _SC_2_adr; }
119 static address _SC_3_addr() { return _SC_3_adr; }
120 static address _SC_1_addr() { return _SC_1_adr; }
121 static address _PI_INV_TABLE_addr() { return _PI_INV_TABLE_adr; }
122 static address _PI_4_addr() { return _PI_4_adr; }
123 static address _PI32INV_addr() { return _PI32INV_adr; }
124 static address _SIGN_MASK_addr() { return _SIGN_MASK_adr; }
125 static address _P_1_addr() { return _P_1_adr; }
126 static address _P_3_addr() { return _P_3_adr; }
127 static address _NEG_ZERO_addr() { return _NEG_ZERO_adr; }
128 static address _L_2il0floatpacket_0_addr() { return _L_2il0floatpacket_0_adr; }
129 static address _Pi4Inv_addr() { return _Pi4Inv_adr; }
130 static address _Pi4x3_addr() { return _Pi4x3_adr; }
131 static address _Pi4x4_addr() { return _Pi4x4_adr; }
|
37 //shuffle mask for big-endian 128-bit integers
38 static address _counter_shuffle_mask_addr;
39
40 // masks and table for CRC32
41 static uint64_t _crc_by128_masks[];
42 static juint _crc_table[];
43 // table for CRC32C
44 static juint* _crc32c_table;
45 // swap mask for ghash
46 static address _ghash_long_swap_mask_addr;
47 static address _ghash_byte_swap_mask_addr;
48
49 // upper word mask for sha1
50 static address _upper_word_mask_addr;
51 // byte flip mask for sha1
52 static address _shuffle_byte_flip_mask_addr;
53
54 //k256 table for sha256
55 static juint _k256[];
56 static address _k256_adr;
57 #ifdef _LP64
58 static juint _k256_W[];
59 static address _k256_W_adr;
60 #endif
61 // byte flip mask for sha256
62 static address _pshuffle_byte_flip_mask_addr;
63
64 //tables common for LIBM sin and cos
65 static juint _ONEHALF[];
66 static address _ONEHALF_adr;
67 static juint _P_2[];
68 static address _P_2_adr;
69 static juint _SC_4[];
70 static address _SC_4_adr;
71 static juint _Ctable[];
72 static address _Ctable_adr;
73 static juint _SC_2[];
74 static address _SC_2_adr;
75 static juint _SC_3[];
76 static address _SC_3_adr;
77 static juint _SC_1[];
78 static address _SC_1_adr;
79 static juint _PI_INV_TABLE[];
80 static address _PI_INV_TABLE_adr;
96 static address _L_2il0floatpacket_0_adr;
97 static juint _Pi4Inv[];
98 static address _Pi4Inv_adr;
99 static juint _Pi4x3[];
100 static address _Pi4x3_adr;
101 static juint _Pi4x4[];
102 static address _Pi4x4_adr;
103 static juint _ones[];
104 static address _ones_adr;
105
106 public:
107 static address verify_mxcsr_entry() { return _verify_mxcsr_entry; }
108 static address key_shuffle_mask_addr() { return _key_shuffle_mask_addr; }
109 static address counter_shuffle_mask_addr() { return _counter_shuffle_mask_addr; }
110 static address crc_by128_masks_addr() { return (address)_crc_by128_masks; }
111 static address ghash_long_swap_mask_addr() { return _ghash_long_swap_mask_addr; }
112 static address ghash_byte_swap_mask_addr() { return _ghash_byte_swap_mask_addr; }
113 static address upper_word_mask_addr() { return _upper_word_mask_addr; }
114 static address shuffle_byte_flip_mask_addr() { return _shuffle_byte_flip_mask_addr; }
115 static address k256_addr() { return _k256_adr; }
116 #ifdef _LP64
117 static address k256_W_addr() { return _k256_W_adr; }
118 #endif
119 static address pshuffle_byte_flip_mask_addr() { return _pshuffle_byte_flip_mask_addr; }
120 static void generate_CRC32C_table(bool is_pclmulqdq_supported);
121 static address _ONEHALF_addr() { return _ONEHALF_adr; }
122 static address _P_2_addr() { return _P_2_adr; }
123 static address _SC_4_addr() { return _SC_4_adr; }
124 static address _Ctable_addr() { return _Ctable_adr; }
125 static address _SC_2_addr() { return _SC_2_adr; }
126 static address _SC_3_addr() { return _SC_3_adr; }
127 static address _SC_1_addr() { return _SC_1_adr; }
128 static address _PI_INV_TABLE_addr() { return _PI_INV_TABLE_adr; }
129 static address _PI_4_addr() { return _PI_4_adr; }
130 static address _PI32INV_addr() { return _PI32INV_adr; }
131 static address _SIGN_MASK_addr() { return _SIGN_MASK_adr; }
132 static address _P_1_addr() { return _P_1_adr; }
133 static address _P_3_addr() { return _P_3_adr; }
134 static address _NEG_ZERO_addr() { return _NEG_ZERO_adr; }
135 static address _L_2il0floatpacket_0_addr() { return _L_2il0floatpacket_0_adr; }
136 static address _Pi4Inv_addr() { return _Pi4Inv_adr; }
137 static address _Pi4x3_addr() { return _Pi4x3_adr; }
138 static address _Pi4x4_addr() { return _Pi4x4_adr; }
|