Commit graph

125 commits

Author SHA1 Message Date
Scott Gibbons
9cac94d581 8269404: Base64 Encoding optimization enhancements for x86 using AVX-512
Reviewed-by: kvn, sviswanathan
2021-07-13 23:52:08 +00:00
Yasumasa Suenaga
68b6e11e48 8270083: -Wnonnull errors happen with GCC 11.1.1
Reviewed-by: erikj, dlong, kbarrett
2021-07-10 05:01:23 +00:00
Scott Gibbons
c37988d079 8268276: Base64 Decoding optimization for x86 using AVX-512
Reviewed-by: erikj, sviswanathan, kvn
2021-06-25 03:19:48 +00:00
Patricio Chilano Mateo
2fd7943ec1 8256425: Obsolete Biased Locking in JDK 18
Reviewed-by: kvn, dholmes, dcubed, rrich
2021-06-24 18:54:41 +00:00
Jatin Bhateja
b05c40ca3b 8266951: Partial in-lining for vectorized mismatch operation using AVX512 masked instructions
Reviewed-by: psandoz, vlivanov
2021-06-05 18:07:14 +00:00
Paul Sandoz
5982cfc856 8266317: Vector API enhancements
Co-authored-by: Paul Sandoz <psandoz@openjdk.org>
Co-authored-by: Sandhya Viswanathan <sviswanathan@openjdk.org>
Reviewed-by: jbhateja, vlivanov
2021-06-03 15:16:58 +00:00
Aleksey Shipilev
71e2fa25f7 8267531: [x86] Assembler::andb(Address,Register) encoding is incorrect
Reviewed-by: azeemj, vlivanov, jiefu
2021-05-22 15:13:06 +00:00
Jie Fu
7a63ff70c8 8267370: [Vector API] Fix several crashes after JDK-8256973
Co-authored-by: Jatin Bhateja <jbhateja@openjdk.org>
Reviewed-by: neliasso, kvn
2021-05-20 23:59:12 +00:00
Xubo Zhang
8e3549fc73 8266332: Adler32 intrinsic for x86 64-bit platforms
Co-authored-by: Xubo Zhang <xubo.zhang@intel.com>
Co-authored-by: Greg B Tucker <greg.b.tucker@intel.com>
Co-authored-by: Pengfei Li <pli@openjdk.org>
Reviewed-by: sviswanathan, jbhateja, kvn, neliasso
2021-05-19 23:44:23 +00:00
Jatin Bhateja
7aa65685b8 8256973: Intrinsic creation for VectorMask query (lastTrue,firstTrue,trueCount) APIs
Reviewed-by: psandoz, vlivanov
2021-05-19 05:22:02 +00:00
Cesar
de784312c3 8241502: C2: Migrate x86_64.ad to MacroAssembler
Reviewed-by: vlivanov, kvn
2021-05-10 17:09:34 +00:00
Jatin Bhateja
f084bd2f61 8262355: Support for AVX-512 opmask register allocation.
Reviewed-by: vlivanov, njian, kvn
2021-04-04 17:47:23 +00:00
Jatin Bhateja
cb84539d56 8261553: Efficient mask generation using BMI2 BZHI instruction
Reviewed-by: redestad, neliasso
2021-02-17 14:09:45 +00:00
Ioi Lam
492bebc7aa 8258004: Remove unnecessary inclusion of vm_version.hpp
Reviewed-by: dholmes, stefank
2021-01-19 04:32:51 +00:00
Jatin Bhateja
ff3e6e46cd 8259773: Incorrect encoding of AVX-512 kmovq instruction
Reviewed-by: vlivanov
2021-01-14 13:20:06 +00:00
Jorn Vernee
7c73fff34d 8256486: Linux/Windows-x86 builds broken after JDK-8254231
Reviewed-by: shade
2020-11-25 18:09:22 +00:00
Jatin Bhateja
0d91f0a1df 8252848: Optimize small primitive arrayCopy operations through partial inlining using AVX-512 masked instructions
Reviewed-by: neliasso, kvn
2020-11-25 06:08:19 +00:00
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