Michael Berg
3ade110066
8149421: Vectorized Post Loops
...
Add vectorised post loop for counted loops with vectors.
Reviewed-by: kvn
2016-02-12 16:12:15 -08:00
Vivek Deshpande
6a52e93df7
8143353: update for x86 sin and cos in the math lib
...
Optimize Math.sin() and cos() for 64 and 32 bit X86 architecture using Intel LIBM implementation.
Reviewed-by: kvn
2016-01-08 21:06:50 -08:00
Kishor Kharbas
790f5bded4
8143925: Enhancing CounterMode.crypt() for AES
...
Add intrinsic for CounterMode.crypt() to leverage the parallel nature of AES in Counter(CTR) Mode.
Reviewed-by: kvn, ascarpino
2015-12-28 23:11:01 -08:00
Vivek R Deshpande
453650389f
8145688: Update for x86 pow in the math lib
...
Optimizes Math.pow() for 64 and 32 bit X86 architecture using Intel LIBM implementation.
Reviewed-by: kvn
2015-12-23 21:09:50 -08:00
Jan Civlin
a08d3805f0
8144771: Use AVX3 instructions for string compare
...
Co-authored-by: Michael C Berg <michael.c.berg@intel.com>
Reviewed-by: kvn, thartmann
2015-12-14 14:48:30 -08:00
Michael Berg
2ae7dcf853
8142980: SKX SpecJvm2008 - Derby
...
Fix EVEX and AVX512 problems found by testing on 64-bit SKX and KNL EVEX enabled platforms.
Reviewed-by: iveresov, kvn, vlivanov
2015-11-19 16:07:22 -08:00
Michael C Berg
e86e38619e
8140779: Code generation fixes for avx512
...
Assembler refactoring. Abstract away instruction attributes.
Reviewed-by: kvn, roland, iveresov
2015-11-09 11:26:41 -08:00
Tobias Hartmann
7af927f9c1
8141132: JEP 254: Compact Strings
...
Adopt a more space-efficient internal representation for strings.
Co-authored-by: Brent Christian <brent.christian@oracle.com>
Co-authored-by: Vivek Deshpande <vivek.r.deshpande@intel.com>
Co-authored-by: Charlie Hunt <charlie.hunt@oracle.com>
Co-authored-by: Vladimir Kozlov <vladimir.kozlov@oracle.com>
Co-authored-by: Roger Riggs <roger.riggs@oracle.com>
Co-authored-by: Xueming Shen <xueming.shen@oracle.com>
Co-authored-by: Aleksey Shipilev <aleksey.shipilev@oracle.com>
Co-authored-by: Sandhya Viswanathan <sandhya.viswanathan@intel.com>
Reviewed-by: alanb, bdelsart, coleenp, iklam, jiangli, jrose, kevinw, naoto, pliden, roland, smarks, twisti
2015-11-03 09:41:03 +01:00
Jan Civlin
0485593fbc
8139340: SuperWord enhancement to support vector conditional move (CMovVD) on Intel AVX cpu
...
Emit vector conditional moves
Reviewed-by: kvn
2015-10-26 19:33:31 -07:00
Vivek R Deshpande
c07f802b14
8139575: Update for x86 log in the math lib
...
Add new java.lang.Math() intrinsics from x86
Reviewed-by: kvn, iveresov
2015-10-22 21:39:25 -07:00
Dean Long
344a9becee
Merge
2015-10-17 19:40:30 -04:00
Jesper Wilhelmsson
7078962b9c
Merge
2015-10-15 13:28:22 +02:00
Vivek R Deshpande
5a633b1cbd
8132207: update for x86 exp in the math lib
...
Add new java.lang.Math() intrinsics from x86
Reviewed-by: kvn, iveresov
2015-10-05 20:02:40 -07:00
Jesper Wilhelmsson
e75e2e04f7
Merge
2015-10-07 01:03:24 +02:00
Vivek R Deshpande
e4f225de72
8139454: java/lang/Math/WorstCaseTests.java crashes on Linux-amd64
...
Emit the form of pextrw that works with sse2
Reviewed-by: iveresov, twisti
2015-10-12 16:35:40 -07:00
Christian Thalinger
16526e000e
8136421: JEP 243: Java-Level JVM Compiler Interface
...
Reviewed-by: ihse, alanb, roland, coleenp, iveresov, kvn, kbarrett
2015-10-08 12:49:30 -10:00
David Lindholm
1e71f67736
8080775: Better argument formatting for assert() and friends
...
Reviewed-by: kbarrett, pliden
2015-09-29 11:02:08 +02:00
Tomasz Wojtowicz
61b77b8590
8134553: CRC32C implementations for x86/x64 targets
...
Reviewed-by: kvn
2015-09-16 15:54:32 -07:00
Michael Berg
d67924dc8e
8132160: support for AVX 512 call frames and stack management
...
Simplify save/restore frame on x86 systems which support EVEX.
Reviewed-by: kvn, iveresov
2015-09-11 17:02:44 -07:00
Michael Berg
e75f5a5cde
8135028: support for vectorizing double precision sqrt
...
Reviewed-by: kvn, twisti
2015-09-09 10:34:17 -07:00
Zoltan Majo
1e55e60cb1
8076373: In 32-bit VM interpreter and compiled code process NaN values differently
...
Change interpreter to use XMM registers on x86_32 if they are available. Add stubs for methods transforming from/to int/long float/double.
Reviewed-by: kvn, mcberg
2015-08-19 08:55:18 +02:00
Michael Berg
2ef39760e6
8081247: AVX 512 extended support
...
Add more support for EVEX encoding
Reviewed-by: kvn, neliasso
2015-06-23 12:45:08 -07:00
Anthony Scarpino
c4c528df14
8073108: Use x86 and SPARC CPU instructions for GHASH acceleration
...
Reviewed-by: kvn, jrose
2015-06-17 17:48:25 -07:00
Vladimir Kozlov
93d1573c5e
8081778: Use Intel x64 CPU instructions for RSA acceleration
...
Add intrinsics for BigInteger squareToLen and mulAdd methods.
Reviewed-by: kvn, jrose
2015-06-03 15:02:10 -07:00
Jesper Wilhelmsson
f64e5038a4
Merge
2015-05-18 17:09:47 +02:00
Michael C Berg
4fca8dbb1f
8076276: Add support for AVX512
...
Reviewed-by: kvn, roland
2015-05-08 11:49:20 -07:00
Michael C Berg
9e55e44c85
8074981: Integer/FP scalar reduction optimization
...
Add scalar reduction optimization to C2 to take advantage of vector instructions in modern x86 CPUs.
Reviewed-by: kvn, twisti
2015-04-01 18:07:50 -07:00
Erik Osterlund
a324ff0f31
8058255: Native jbyte Atomic::cmpxchg for supported x86 platforms
...
Use the native cmpxchgb instruction on x86.
Reviewed-by: dholmes, kbarrett, phh
2014-10-21 15:07:25 +02:00
Vladimir Kozlov
b9e949183d
8055494: Add C2 x86 intrinsic for BigInteger::multiplyToLen() method
...
Add new C2 intrinsic for BigInteger::multiplyToLen() on x86 in 64-bit VM.
Reviewed-by: roland
2014-09-02 12:48:45 -07:00
Vladimir Kozlov
7764490363
8052081: Optimize generated by C2 code for Intel's Atom processor
...
Allow to execute vectorization and crc32 optimization on Atom. Enable UseFPUForSpilling by default on x86.
Reviewed-by: roland
2014-08-05 15:02:10 -07:00
David Chase
305ec3bd3f
8037816: Fix for 8036122 breaks build with Xcode5/clang
...
Repaired or selectively disabled offending formats; future-proofed with additional checking
Reviewed-by: kvn, jrose, stefank
2014-05-09 16:50:54 -04:00
Vladimir Kozlov
d9056b18ee
8041957: -XX:UseAVX=0 cause assert(UseAVX) failed
...
Temporary set UseAVX=1 and UseSSE=2 in generate_get_cpu_info()
Reviewed-by: twisti
2014-04-29 12:20:53 -07:00
Igor Veresov
ddc2f91ab4
8038222: Assembler::bsrl fails on assert when -UseCountLeadingZerosInstruction is used on CPU with LZCNT support
...
Remove the overly strict assert
Reviewed-by: kvn, twisti
2014-03-24 23:13:46 -07:00
Vladimir Kozlov
97a51c5c2a
8031320: Use Intel RTM instructions for locks
...
Use RTM for inflated locks and stack locks.
Reviewed-by: iveresov, twisti, roland, dcubed
2014-03-20 17:49:27 -07:00
Igor Veresov
768beb9a23
8031321: Support Intel bit manipulation instructions
...
Add support for BMI1 instructions
Reviewed-by: kvn, roland
2014-03-12 11:24:26 -07:00
Per Lidén
4dc240f785
8079792: GC directory structure cleanup
...
Reviewed-by: brutisso, stefank, david
2015-05-13 15:16:06 +02:00
Rickard Bäckman
615376fb9b
8026844: Various Math functions needs intrinsification
...
Reviewed-by: kvn, twisti
2013-10-18 10:41:56 +02:00
Christian Thalinger
9376d94e6c
8025613: clang: remove -Wno-unused-value
...
Reviewed-by: iveresov
2013-09-28 12:42:22 -07:00
David Chase
9a359984c2
7088419: Use x86 Hardware CRC32 Instruction with java.util.zip.CRC32
...
Add intrinsics using new instruction to interpreter, C1, C2, for suitable x86; add test
Reviewed-by: kvn, twisti
2013-07-02 20:42:12 -04:00
Mikael Vidstedt
eeb83733a6
8003310: Enable -Wunused-function when compiling with gcc
...
Add the -Wunused-function flag and remove a number of unused functions.
Reviewed-by: dholmes, coleenp, kvn
2013-04-04 10:01:26 -07:00
Vladimir Kozlov
231bbf39f4
8007708: compiler/6855215 assert(VM_Version::supports_sse4_2())
...
Added missing UseSSE42 check. Also added missing avx2 assert for vpermq instruction.
Reviewed-by: roland, twisti
2013-02-08 15:07:17 -08:00
Dean Long
0a2347e0ba
Merge
2013-01-27 01:07:09 -08:00
Joseph Provino
698fba94ef
8005915: Unify SERIALGC and INCLUDE_ALTERNATE_GCS
...
Rename INCLUDE_ALTERNATE_GCS to INCLUDE_ALL_GCS and replace SERIALGC with INCLUDE_ALL_GCS.
Reviewed-by: coleenp, stefank
2013-01-23 13:02:39 -05:00
Vladimir Kozlov
9e0c61f822
6896617: Optimize sun.nio.cs.ISO_8859_1$Encode.encodeArrayLoop() on x86
...
Use SSE4.2 and AVX2 instructions for encodeArray intrinsic.
Reviewed-by: roland
2013-01-22 15:34:16 -08:00
Vladimir Kozlov
38c81fb411
8005419: Improve intrinsics code performance on x86 by using AVX2
...
Use 256bit vpxor,vptest instructions in String.compareTo() and equals() intrinsics.
Reviewed-by: twisti
2013-01-08 11:30:51 -08:00
Morris Meyer
b3fe91a803
8004537: replace AbstractAssembler emit_long with emit_int32
...
Reviewed-by: jrose, kvn, twisti
2013-01-07 14:08:28 -08:00
Vladimir Kozlov
7b9133b99c
8005544: Use 256bit YMM registers in arraycopy stubs on x86
...
Use YMM registers in arraycopy and array_fill stubs.
Reviewed-by: roland, twisti
2013-01-03 16:30:47 -08:00
Vladimir Kozlov
cfcd28fd9d
8005522: use fast-string instructions on x86 for zeroing
...
Use 'rep stosb' instead of 'rep stosq' when fast-string operations are available.
Reviewed-by: twisti, roland
2013-01-03 15:09:55 -08:00
Morris Meyer
113e9ab39d
8004250: replace AbstractAssembler a_byte/a_long with emit_int8/emit_int32
...
Reviewed-by: jrose, kvn, twisti
2012-12-20 18:53:44 -08:00
Vladimir Kozlov
960d969ade
8004835: Improve AES intrinsics on x86
...
Enable AES intrinsics on non-AVX cpus, group together aes instructions in crypto stubs.
Reviewed-by: roland, twisti
2012-12-19 15:40:35 -08:00