95 Commits

Author SHA1 Message Date
vamsi-parasa
37e28aea27 8282221: x86 intrinsics for divideUnsigned and remainderUnsigned methods in java.lang.Integer and java.lang.Long
Reviewed-by: sviswanathan, kvn, jbhateja
2022-04-10 03:47:18 +00:00
Jatin Bhateja
003ec21f3c 8279508: Auto-vectorize Math.round API
Reviewed-by: sviswanathan, aph
2022-04-02 18:00:33 +00:00
Quan Anh Mai
d8c55725e0 8282204: Use lea instructions for arithmetic operations on x86_64
Reviewed-by: jiefu, sviswanathan, thartmann
2022-03-23 09:45:23 +00:00
Quan Anh Mai
bacfaa3ee1 8282414: x86: Enhance the assembler to generate more compact instructions
Reviewed-by: thartmann, sviswanathan
2022-03-16 01:10:22 +00:00
Jatin Bhateja
fde3149896 8281375: Accelerate bitCount operation for AVX2 and AVX512 target.
Reviewed-by: sviswanathan, thartmann
2022-03-14 07:11:23 +00:00
Jamil Nimeh
8b45dbdae6 8282312: Minor corrections to evbroadcasti32x4 intrinsic on x86
Reviewed-by: dlong
2022-03-08 05:50:41 +00:00
Quan Anh Mai
0af356bb4b 8278173: [vectorapi] Add x64 intrinsics for unsigned (zero extended) casts
Reviewed-by: psandoz, sviswanathan
2022-02-15 18:57:53 +00:00
Jatin Bhateja
48a32b5f3a 8280976: Incorrect encoding of avx512 vpsraq instruction with mask and constant shift.
Reviewed-by: neliasso, thartmann
2022-02-02 07:36:47 +00:00
Quan Anh Mai
02390c79b1 8279282: [vectorapi] Matcher::supports_vector_comparison_unsigned is not needed on x86
Reviewed-by: kvn, sviswanathan, vlivanov
2022-01-20 18:24:53 +00:00
Vamsi Parasa
c4518e257c 8278868: Add x86 vectorization support for Long.bitCount()
Reviewed-by: jbhateja, sviswanathan, kvn
2022-01-11 18:47:42 +00:00
Aleksey Shipilev
2bbeae3f05 8279668: x86: AVX2 versions of vpxor should be asserted
Reviewed-by: kvn, jiefu
2022-01-11 10:28:47 +00:00
Jatin Bhateja
8703f14808 8273322: Enhance macro logic optimization for masked logic operations.
Reviewed-by: kvn, sviswanathan
2022-01-06 18:41:06 +00:00
Jesper Wilhelmsson
f1fbba23eb Merge 2021-12-22 16:46:43 +00:00
Jatin Bhateja
97c5cd7fac 8278508: Enable X86 maskAll instruction pattern for 32 bit JVM.
Reviewed-by: kvn, sviswanathan
2021-12-22 03:17:03 +00:00
Dan Lutker
6eb6ec05fd 8278525: Additional -Wnonnull errors happen with GCC 11
Reviewed-by: phh, dlong
2021-12-10 23:49:41 +00:00
Dan Lutker
4f594e6a28 8278381: [GCC 11] Address::make_raw() does not initialize rspec
Reviewed-by: phh, xliu
2021-12-10 17:52:54 +00:00
Jatin Bhateja
0113322ac1 8277997: Intrinsic creation for VectorMask.fromLong API
Reviewed-by: psandoz, kvn, sviswanathan
2021-12-10 01:49:20 +00:00
Jatin Bhateja
2b87c2b429 8277793: Support vector F2I and D2L cast operations for X86
Reviewed-by: neliasso, sviswanathan
2021-12-03 20:21:21 +00:00
MeryKitty
560f9c9372 8277426: Optimize mask reduction operations on x86
Reviewed-by: sviswanathan, jiefu
2021-11-29 23:21:04 +00:00
Paul Sandoz
a59c9b2ac2 8271515: Integration of JEP 417: Vector API (Third Incubator)
Co-authored-by: Sandhya Viswanathan <sviswanathan@openjdk.org>
Co-authored-by: Jatin Bhateja <jbhateja@openjdk.org>
Co-authored-by: Ningsheng Jian <njian@openjdk.org>
Co-authored-by: Xiaohong Gong <xgong@openjdk.org>
Co-authored-by: Eric Liu <eliu@openjdk.org>
Co-authored-by: Jie Fu <jiefu@openjdk.org>
Co-authored-by: Vladimir Ivanov <vlivanov@openjdk.org>
Co-authored-by: John R Rose <jrose@openjdk.org>
Co-authored-by: Paul Sandoz <psandoz@openjdk.org>
Co-authored-by: Rado Smogura <mail@smogura.eu>
Reviewed-by: kvn, sviswanathan, ngasson
2021-11-15 21:48:38 +00:00
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