< prev index next >

src/cpu/x86/vm/stubRoutines_x86.cpp

Print this page
rev 10837 : SHA256-AVX2


  29 #include "runtime/thread.inline.hpp"
  30 #include "crc32c.h"
  31 
  32 #ifdef _MSC_VER
  33 #define ALIGNED_(x) __declspec(align(x))
  34 #else
  35 #define ALIGNED_(x) __attribute__ ((aligned(x)))
  36 #endif
  37 
  38 // Implementation of the platform-specific part of StubRoutines - for
  39 // a description of how to extend it, see the stubRoutines.hpp file.
  40 
  41 address StubRoutines::x86::_verify_mxcsr_entry = NULL;
  42 address StubRoutines::x86::_key_shuffle_mask_addr = NULL;
  43 address StubRoutines::x86::_counter_shuffle_mask_addr = NULL;
  44 address StubRoutines::x86::_ghash_long_swap_mask_addr = NULL;
  45 address StubRoutines::x86::_ghash_byte_swap_mask_addr = NULL;
  46 address StubRoutines::x86::_upper_word_mask_addr = NULL;
  47 address StubRoutines::x86::_shuffle_byte_flip_mask_addr = NULL;
  48 address StubRoutines::x86::_k256_adr = NULL;



  49 address StubRoutines::x86::_pshuffle_byte_flip_mask_addr = NULL;
  50 
  51 //tables common for sin and cos
  52 address StubRoutines::x86::_ONEHALF_adr = NULL;
  53 address StubRoutines::x86::_P_2_adr = NULL;
  54 address StubRoutines::x86::_SC_4_adr = NULL;
  55 address StubRoutines::x86::_Ctable_adr = NULL;
  56 address StubRoutines::x86::_SC_2_adr = NULL;
  57 address StubRoutines::x86::_SC_3_adr = NULL;
  58 address StubRoutines::x86::_SC_1_adr = NULL;
  59 address StubRoutines::x86::_PI_INV_TABLE_adr = NULL;
  60 address StubRoutines::x86::_PI_4_adr = NULL;
  61 address StubRoutines::x86::_PI32INV_adr = NULL;
  62 address StubRoutines::x86::_SIGN_MASK_adr = NULL;
  63 address StubRoutines::x86::_P_1_adr = NULL;
  64 address StubRoutines::x86::_P_3_adr = NULL;
  65 address StubRoutines::x86::_NEG_ZERO_adr = NULL;
  66 
  67 //tables common for sincos and tancot
  68 address StubRoutines::x86::_L_2il0floatpacket_0_adr = NULL;


 272 
 273 ALIGNED_(64) juint StubRoutines::x86::_k256[] =
 274 {
 275     0x428a2f98UL, 0x71374491UL, 0xb5c0fbcfUL, 0xe9b5dba5UL,
 276     0x3956c25bUL, 0x59f111f1UL, 0x923f82a4UL, 0xab1c5ed5UL,
 277     0xd807aa98UL, 0x12835b01UL, 0x243185beUL, 0x550c7dc3UL,
 278     0x72be5d74UL, 0x80deb1feUL, 0x9bdc06a7UL, 0xc19bf174UL,
 279     0xe49b69c1UL, 0xefbe4786UL, 0x0fc19dc6UL, 0x240ca1ccUL,
 280     0x2de92c6fUL, 0x4a7484aaUL, 0x5cb0a9dcUL, 0x76f988daUL,
 281     0x983e5152UL, 0xa831c66dUL, 0xb00327c8UL, 0xbf597fc7UL,
 282     0xc6e00bf3UL, 0xd5a79147UL, 0x06ca6351UL, 0x14292967UL,
 283     0x27b70a85UL, 0x2e1b2138UL, 0x4d2c6dfcUL, 0x53380d13UL,
 284     0x650a7354UL, 0x766a0abbUL, 0x81c2c92eUL, 0x92722c85UL,
 285     0xa2bfe8a1UL, 0xa81a664bUL, 0xc24b8b70UL, 0xc76c51a3UL,
 286     0xd192e819UL, 0xd6990624UL, 0xf40e3585UL, 0x106aa070UL,
 287     0x19a4c116UL, 0x1e376c08UL, 0x2748774cUL, 0x34b0bcb5UL,
 288     0x391c0cb3UL, 0x4ed8aa4aUL, 0x5b9cca4fUL, 0x682e6ff3UL,
 289     0x748f82eeUL, 0x78a5636fUL, 0x84c87814UL, 0x8cc70208UL,
 290     0x90befffaUL, 0xa4506cebUL, 0xbef9a3f7UL, 0xc67178f2UL
 291 };
























































  29 #include "runtime/thread.inline.hpp"
  30 #include "crc32c.h"
  31 
  32 #ifdef _MSC_VER
  33 #define ALIGNED_(x) __declspec(align(x))
  34 #else
  35 #define ALIGNED_(x) __attribute__ ((aligned(x)))
  36 #endif
  37 
  38 // Implementation of the platform-specific part of StubRoutines - for
  39 // a description of how to extend it, see the stubRoutines.hpp file.
  40 
  41 address StubRoutines::x86::_verify_mxcsr_entry = NULL;
  42 address StubRoutines::x86::_key_shuffle_mask_addr = NULL;
  43 address StubRoutines::x86::_counter_shuffle_mask_addr = NULL;
  44 address StubRoutines::x86::_ghash_long_swap_mask_addr = NULL;
  45 address StubRoutines::x86::_ghash_byte_swap_mask_addr = NULL;
  46 address StubRoutines::x86::_upper_word_mask_addr = NULL;
  47 address StubRoutines::x86::_shuffle_byte_flip_mask_addr = NULL;
  48 address StubRoutines::x86::_k256_adr = NULL;
  49 #ifdef _LP64
  50 address StubRoutines::x86::_k256_W_adr = NULL;
  51 #endif
  52 address StubRoutines::x86::_pshuffle_byte_flip_mask_addr = NULL;
  53 
  54 //tables common for sin and cos
  55 address StubRoutines::x86::_ONEHALF_adr = NULL;
  56 address StubRoutines::x86::_P_2_adr = NULL;
  57 address StubRoutines::x86::_SC_4_adr = NULL;
  58 address StubRoutines::x86::_Ctable_adr = NULL;
  59 address StubRoutines::x86::_SC_2_adr = NULL;
  60 address StubRoutines::x86::_SC_3_adr = NULL;
  61 address StubRoutines::x86::_SC_1_adr = NULL;
  62 address StubRoutines::x86::_PI_INV_TABLE_adr = NULL;
  63 address StubRoutines::x86::_PI_4_adr = NULL;
  64 address StubRoutines::x86::_PI32INV_adr = NULL;
  65 address StubRoutines::x86::_SIGN_MASK_adr = NULL;
  66 address StubRoutines::x86::_P_1_adr = NULL;
  67 address StubRoutines::x86::_P_3_adr = NULL;
  68 address StubRoutines::x86::_NEG_ZERO_adr = NULL;
  69 
  70 //tables common for sincos and tancot
  71 address StubRoutines::x86::_L_2il0floatpacket_0_adr = NULL;


 275 
 276 ALIGNED_(64) juint StubRoutines::x86::_k256[] =
 277 {
 278     0x428a2f98UL, 0x71374491UL, 0xb5c0fbcfUL, 0xe9b5dba5UL,
 279     0x3956c25bUL, 0x59f111f1UL, 0x923f82a4UL, 0xab1c5ed5UL,
 280     0xd807aa98UL, 0x12835b01UL, 0x243185beUL, 0x550c7dc3UL,
 281     0x72be5d74UL, 0x80deb1feUL, 0x9bdc06a7UL, 0xc19bf174UL,
 282     0xe49b69c1UL, 0xefbe4786UL, 0x0fc19dc6UL, 0x240ca1ccUL,
 283     0x2de92c6fUL, 0x4a7484aaUL, 0x5cb0a9dcUL, 0x76f988daUL,
 284     0x983e5152UL, 0xa831c66dUL, 0xb00327c8UL, 0xbf597fc7UL,
 285     0xc6e00bf3UL, 0xd5a79147UL, 0x06ca6351UL, 0x14292967UL,
 286     0x27b70a85UL, 0x2e1b2138UL, 0x4d2c6dfcUL, 0x53380d13UL,
 287     0x650a7354UL, 0x766a0abbUL, 0x81c2c92eUL, 0x92722c85UL,
 288     0xa2bfe8a1UL, 0xa81a664bUL, 0xc24b8b70UL, 0xc76c51a3UL,
 289     0xd192e819UL, 0xd6990624UL, 0xf40e3585UL, 0x106aa070UL,
 290     0x19a4c116UL, 0x1e376c08UL, 0x2748774cUL, 0x34b0bcb5UL,
 291     0x391c0cb3UL, 0x4ed8aa4aUL, 0x5b9cca4fUL, 0x682e6ff3UL,
 292     0x748f82eeUL, 0x78a5636fUL, 0x84c87814UL, 0x8cc70208UL,
 293     0x90befffaUL, 0xa4506cebUL, 0xbef9a3f7UL, 0xc67178f2UL
 294 };
 295 
 296 #ifdef _LP64
 297 // used in MacroAssembler::sha256_AVX2
 298 ALIGNED_(64) juint StubRoutines::x86::_k256_W[] =
 299 {
 300     0x428a2f98UL, 0x71374491UL, 0xb5c0fbcfUL, 0xe9b5dba5UL,
 301     0x428a2f98UL, 0x71374491UL, 0xb5c0fbcfUL, 0xe9b5dba5UL,
 302 
 303     0x3956c25bUL, 0x59f111f1UL, 0x923f82a4UL, 0xab1c5ed5UL,
 304     0x3956c25bUL, 0x59f111f1UL, 0x923f82a4UL, 0xab1c5ed5UL,
 305 
 306     0xd807aa98UL, 0x12835b01UL, 0x243185beUL, 0x550c7dc3UL,
 307     0xd807aa98UL, 0x12835b01UL, 0x243185beUL, 0x550c7dc3UL,
 308 
 309     0x72be5d74UL, 0x80deb1feUL, 0x9bdc06a7UL, 0xc19bf174UL,
 310     0x72be5d74UL, 0x80deb1feUL, 0x9bdc06a7UL, 0xc19bf174UL,
 311 
 312     0xe49b69c1UL, 0xefbe4786UL, 0x0fc19dc6UL, 0x240ca1ccUL,
 313     0xe49b69c1UL, 0xefbe4786UL, 0x0fc19dc6UL, 0x240ca1ccUL,
 314 
 315     0x2de92c6fUL, 0x4a7484aaUL, 0x5cb0a9dcUL, 0x76f988daUL,
 316     0x2de92c6fUL, 0x4a7484aaUL, 0x5cb0a9dcUL, 0x76f988daUL,
 317 
 318     0x983e5152UL, 0xa831c66dUL, 0xb00327c8UL, 0xbf597fc7UL,
 319     0x983e5152UL, 0xa831c66dUL, 0xb00327c8UL, 0xbf597fc7UL,
 320 
 321     0xc6e00bf3UL, 0xd5a79147UL, 0x06ca6351UL, 0x14292967UL,
 322     0xc6e00bf3UL, 0xd5a79147UL, 0x06ca6351UL, 0x14292967UL,
 323 
 324     0x27b70a85UL, 0x2e1b2138UL, 0x4d2c6dfcUL, 0x53380d13UL,
 325     0x27b70a85UL, 0x2e1b2138UL, 0x4d2c6dfcUL, 0x53380d13UL,
 326 
 327     0x650a7354UL, 0x766a0abbUL, 0x81c2c92eUL, 0x92722c85UL,
 328     0x650a7354UL, 0x766a0abbUL, 0x81c2c92eUL, 0x92722c85UL,
 329 
 330     0xa2bfe8a1UL, 0xa81a664bUL, 0xc24b8b70UL, 0xc76c51a3UL,
 331     0xa2bfe8a1UL, 0xa81a664bUL, 0xc24b8b70UL, 0xc76c51a3UL,
 332 
 333     0xd192e819UL, 0xd6990624UL, 0xf40e3585UL, 0x106aa070UL,
 334     0xd192e819UL, 0xd6990624UL, 0xf40e3585UL, 0x106aa070UL,
 335 
 336     0x19a4c116UL, 0x1e376c08UL, 0x2748774cUL, 0x34b0bcb5UL,
 337     0x19a4c116UL, 0x1e376c08UL, 0x2748774cUL, 0x34b0bcb5UL,
 338 
 339     0x391c0cb3UL, 0x4ed8aa4aUL, 0x5b9cca4fUL, 0x682e6ff3UL,
 340     0x391c0cb3UL, 0x4ed8aa4aUL, 0x5b9cca4fUL, 0x682e6ff3UL,
 341 
 342     0x748f82eeUL, 0x78a5636fUL, 0x84c87814UL, 0x8cc70208UL,
 343     0x748f82eeUL, 0x78a5636fUL, 0x84c87814UL, 0x8cc70208UL,
 344 
 345     0x90befffaUL, 0xa4506cebUL, 0xbef9a3f7UL, 0xc67178f2UL,
 346     0x90befffaUL, 0xa4506cebUL, 0xbef9a3f7UL, 0xc67178f2UL
 347 };
 348 #endif
< prev index next >