Commit graph

58 commits

Author SHA1 Message Date
Tobias Hartmann
1c4c99eae2 8256823: C2 compilation fails with "assert(isShiftCount(imm8 >> 1)) failed: illegal shift count"
Reviewed-by: vlivanov, kvn, chagedorn
2020-11-24 16:52:13 +00:00
Maurizio Cimadamore
0fb31dbf3a 8254231: Implementation of Foreign Linker API (Incubator)
Reviewed-by: coleenp, ihse, dholmes, vlivanov
2020-11-23 11:00:38 +00:00
Aleksey Shipilev
9e5bbff51d 8255550: x86: Assembler::cmpq(Address dst, Register src) encoding is incorrect
Reviewed-by: kvn, eosterlund
2020-10-29 14:19:56 +00:00
Paul Sandoz
0c99b19258 8223347: Integration of Vector API (Incubator)
Co-authored-by: Vivek Deshpande <vdeshpande@openjdk.org>
Co-authored-by: Qi Feng <qfeng@openjdk.org>
Co-authored-by: Ian Graves <igraves@openjdk.org>
Co-authored-by: Jean-Philippe Halimi <jphalimi@openjdk.org>
Co-authored-by: Vladimir Ivanov <vlivanov@openjdk.org>
Co-authored-by: Ningsheng Jian <njian@openjdk.org>
Co-authored-by: Razvan Lupusoru <rlupusoru@openjdk.org>
Co-authored-by: Smita Kamath <svkamath@openjdk.org>
Co-authored-by: Rahul Kandu <rkandu@openjdk.org>
Co-authored-by: Kishor Kharbas <kkharbas@openjdk.org>
Co-authored-by: Eric Liu <Eric.Liu2@arm.com>
Co-authored-by: Aaloan Miftah <someusername3@gmail.com>
Co-authored-by: John R Rose <jrose@openjdk.org>
Co-authored-by: Shravya Rukmannagari <srukmannagar@openjdk.org>
Co-authored-by: Paul Sandoz <psandoz@openjdk.org>
Co-authored-by: Sandhya Viswanathan <sviswanathan@openjdk.org>
Co-authored-by: Lauren Walkowski <lauren.walkowski@arm.com>
Co-authored-by: Yang Zang <Yang.Zhang@arm.com>
Co-authored-by: Joshua Zhu <jzhu@openjdk.org>
Co-authored-by: Wang Zhuo <wzhuo@openjdk.org>
Co-authored-by: Jatin Bhateja <jbhateja@openjdk.org>
Reviewed-by: erikj, chegar, kvn, darcy, forax, briangoetz, aph, epavlova, coleenp
2020-10-14 20:02:46 +00:00
Jatin Bhateja
4b5ac3abac 8252847: Optimize primitive arrayCopy stubs using AVX-512 masked instructions
Reviewed-by: neliasso, kvn
2020-10-10 06:29:38 +00:00
Jatin Bhateja
3ed56830b4 8248830: C2: Optimize Rotate API on x86
Improved existing scalar rotate operations, added support for vector rotate operations using new AVX512 instructions.

Reviewed-by: vlivanov, kvn
2020-08-09 02:03:09 +05:30
Ludovic Henry
339016a0f2 8250902: Implement MD5 Intrinsics on x86
Reviewed-by: kvn, vdeshpande, ascarpino
2020-08-05 11:32:15 -07:00
Shravya Rukmannagari
9d5f388498 8245512: CRC32 optimization using AVX512 instructions
Reviewed-by: kvn
2020-06-04 17:36:58 -07:00
Christian Hagedorn
6bd9391f03 8244433: Remove saving of RSP in Assembler::pusha_uncached()
Remove move instruction to save the actual value of RSP in Assembler::pusha_uncached() on x86.

Reviewed-by: eosterlund, thartmann, kvn
2020-05-18 12:32:11 +02:00
Jatin Bhateja
5532b27d22 8241040: Support for AVX-512 Ternary Logic Instruction
A new pass has been added which folds expression tree involving vector boolean logic operations into a MacroLogic node.

Reviewed-by: vlivanov, neliasso
2020-04-02 22:38:23 +05:30
Robbin Ehn
bf41f548e1 8220051: Remove global safepoint code
Reviewed-by: mdoerr, dcubed, eosterlund, bulasevich, coleenp
2020-04-01 14:54:44 +02:00
Vladimir Ivanov
2df18266b9 8241597: x86: Remove MMX support
Reviewed-by: kvn, redestad
2020-03-27 13:42:57 +03:00
Vladimir Ivanov
d0a672292f 8241434: x86: Fix Assembler::emit_operand asserts for XMM registers
Reviewed-by: kvn, redestad
2020-03-27 13:42:57 +03:00
Claes Redestad
cc9470ece1 8241095: x86: Improve prefix handling in Assembler
Reviewed-by: kvn, thartmann
2020-03-05 16:07:17 +01:00
Aleksey Shipilev
700f50f287 8241128: x86_32 build failure after JDK-8241042
Reviewed-by: redestad, kvn
2020-03-18 19:24:42 +01:00
Claes Redestad
176192499f 8241042: x86_64: Improve Assembler generation
Reviewed-by: vlivanov, kvn
2020-03-05 16:07:17 +01:00
Claes Redestad
dbd0f0dc3b 8241077: x86_64: Minor Assembler improvements
Reviewed-by: kvn
2020-03-17 09:36:46 +01:00
Vladimir Ivanov
48c48b7a85 8238696: x86: Enumerate all detected CPU features in VM_Version feature string
Reviewed-by: dholmes, kvn
2020-03-12 16:42:03 +03:00
Claes Redestad
7fe46b2464 8240772: x86_64: Pre-generate Assembler::popa, pusha and vzeroupper
Reviewed-by: iklam, kvn
2020-03-12 13:07:21 +01:00
Vladimir Ivanov
1dcd3d2c50 8239008: C2: Simplify Replicate support for sub-word types on x86
Reviewed-by: kvn
2020-03-10 20:51:08 +03:00
Claes Redestad
3fdf26d8dc 8240302: x64: Assembler::reachable redundantly call Relocation::type() more than once
Reviewed-by: kvn, iklam, thartmann
2020-03-03 11:40:53 +01:00
Vladimir Ivanov
0d84fe9872 8238680: C2: Remove redundant AD instructions for Replicate nodes
Reviewed-by: thartmann, sviswanathan
2020-02-11 14:55:41 +03:00
Vladimir Ivanov
5b5a5353e7 7175279: Don't use x87 FPU on x86-64
Reviewed-by: kvn, roland
2020-01-30 00:46:43 +03:00
Smita Kamath
995da6eb2a 8167065: Add intrinsic support for double precision shifting on x86_64
Reviewed-by: kvn
2019-12-23 14:42:21 -08:00
Sandhya Viswanathan
6a547f9574 8235510: java.util.zip.CRC32 performance drop after 8200067
Backout 8200067 optimization

Reviewed-by: kvn
2019-12-06 16:03:44 -08:00
Bernard Blaser
b8b88853a5 8214239: Missing x86_64.ad patterns for clearing and setting long vector bits
Reviewed-by: kvn, vlivanov, jrose, sviswanathan
2019-11-13 11:21:15 +01:00
Smita Kamath
a6649eb089 8233741: AES Countermode (AES-CTR) optimization using AVX512 + VAES instructions
Co-authored-by: Regev Shemy <regev.shemy@intel.com>
Co-authored-by: Shay Gueron <shay.gueron@intel.com>
Reviewed-by: kvn
2019-11-07 17:47:22 -08:00
Jatin Bhateja
d3ca3a02ff 8226721: Missing intrinsics for Math.ceil, floor, rint
Reviewed-by: neliasso, vlivanov, ecaspole
2019-10-01 11:43:10 +02:00
Andrew Dinn
047b8bfeb7 8224974: Implement JEP 352
Non-Volatile Mapped Byte Buffers

Reviewed-by: alanb, kvn, bpb, gromero, darcy, shade, bulasevich, dchuyko
2019-08-20 10:11:53 +01:00
Shravya Rukmannagari
793585b494 8225625: AES Electronic Codebook (ECB) encryption and decryption optimization using AVX512 + VAES instructions
AES-ECB encryption and decryption optimization for x86_64 architectures supporting AVX3+VAES

Co-authored-by: Smita Kamath <smita.kamath@intel.com>
Reviewed-by: kvn, valeriep
2019-08-16 14:42:50 -07:00
Jamsheed Mohammed C M
aedbb75803 8191278: MappedByteBuffer bulk access memory failures are not handled gracefully
Unsafe.copy*Memory access failures are handled gracefully.

Co-authored-by: Harold Seigel <harold.seigel@oracle.com>
Reviewed-by: kvn, dcubed, thartmann, coleenp, aph
2019-06-24 11:37:56 -07:00
Sandhya Viswanathan
707c30fae6 8222074: Enhance auto vectorization for x86
Reviewed-by: kvn, vlivanov
2019-05-07 13:33:27 -07:00
Jinke Fan
d03cf75344 8222090: Add Hygon Dhyana processor support
Reviewed-by: kvn, dholmes, coleenp, rwestberg
2019-04-11 19:36:00 -04:00
Jatin Bhateja
c2ec1085e1 8217561: X86: Add floating-point Math.min/max intrinsics
Implementation taking care of +/-0.0 and NaN which uses a specific pattern for reductions

Reviewed-by: aph, kvn, neliasso, sviswanathan, adinn
2019-03-07 15:27:42 +01:00
Vivek Deshpande
05e175bf1b 8214751: X86: Support for VNNI Instructions
Co-authored-by: Razvan A Lupusoru <razvan.a.lupusoru@intel.com>
Reviewed-by: kvn
2018-12-12 14:48:34 -08:00
Smita Kamath
3623c99b27 8214074: Ghash optimization using AVX instructions
Reviewed-by: kvn, ascarpino
2018-12-12 12:17:33 -08:00
David Holmes
a3cd6a1a70 8188764: Obsolete AssumeMP and then remove all support for non-MP builds
Reviewed-by: mikael, mdoerr, bulasevich, eosterlund
2018-10-03 03:41:57 -04:00
Sandhya Viswanathan
b0ea3a49d2 8211251: Default mask register for avx512 instructions
Encode AVX 512 instructions as unmasked instruction where mask register is not specified.

Reviewed-by: kvn
2018-10-01 11:54:34 -07:00
Sandhya Viswanathan
092fe55fb1 8210764: Update avx512 implementation
Reviewed-by: kvn
2018-09-24 16:37:28 -07:00
Vladimir Kozlov
6f8114227c 8209594: guarantee(this->is8bit(imm8)) failed: Short forward jump exceeds 8-bit offset
Replace short jumps and fix other issues when generated code exceed expected range.

Reviewed-by: dlong, rasbold
2018-09-04 12:44:02 -07:00
Smita Kamath
3feaefd75f 8205528: Base64 encoding algorithm using AVX512 instructions
Reviewed-by: kvn, psandoz
2018-06-27 20:21:42 -07:00
Regev Shemy
a6ac56a69e 8205398: AES-CBC decryption algorithm using AVX512 instructions
Co-authored-by: Shay Gueron <shay.gueron@intel.com>
Co-authored-by: Smita Kamath <smita.kamath@intel.com>
Co-authored-by: Shravya Rukmannagari <shravya.rukmannagari@intel.com>
Reviewed-by: kvn
2018-06-21 10:54:07 -07:00
Roland Westrelin
724e41cbb6 8204240: Extend MDO to allow more reasons to be recorded per bci
Reviewed-by: kvn, neliasso
2018-06-11 15:28:24 +02:00
Per Lidén
3222e19f2c 8202993: Add support for x86 testptr/testq with register and address
Reviewed-by: kvn, neliasso
2018-05-14 15:43:00 +02:00
Stefan Karlsson
1cb95bd3d1 8200729: Conditional compilation of GCs
Reviewed-by: ehelin, coleenp, kvn, ihse
2018-05-04 11:41:35 +02:00
Stefan Karlsson
367f9ea984 8201244: Clean out unnecessary includes of heap headers
Reviewed-by: coleenp, shade
2018-04-10 12:21:05 +02:00
Shravya Rukmannagari
3054312d78 8200067: Add support for vpclmulqdq for crc32
Reviewed-by: kvn
2018-03-26 18:16:12 -07:00
Erik Österlund
0f92948d6f 8199604: Rename CardTableModRefBS to CardTableBarrierSet
Reviewed-by: stefank, pliden
2018-03-19 07:38:18 +01:00
Coleen Phillimore
fde89a34d0 8199263: Split interfaceSupport.hpp to not require including .inline.hpp files
InterfaceSupport.hpp is an inline file so moved to interfaceSupport.inline.hpp and stopped including it in .hpp files

Reviewed-by: stefank, rehn, kvn
2018-03-16 09:12:13 -04:00
Aleksey Shipilev
d1f090f569 8199603: Build failures after JDK-8199421 "Add support for vector popcount"
Reviewed-by: thartmann
2018-03-14 15:28:31 +01:00