Vivek Deshpande
d58e3e0324
8154122: Intrinsify fused mac operations
...
Added FMA intrinsics on x86
Reviewed-by: kvn, aph, darcy
2016-08-26 12:17:50 -07:00
Michael Berg
6384a5d55d
8165565: Shorten branches causes incorrect code for SKX
...
Don't replace restoreMask CountedLoopEnd with short branches.
Reviewed-by: kvn
2016-09-07 12:23:25 -07:00
Goetz Lindenmaier
ad6ab85840
8161907: adlc: Fix crash in cisc_spill_match if _rChild == NULL
...
Reviewed-by: kvn
2016-07-20 12:34:11 +02:00
Rahul Raghavan
f8e4173a4e
8151661: Performance regression on Solaris-SPARC in 9-b103
...
Reviewed-by: kvn, aph
2016-06-21 13:14:33 -04:00
Aleksey Shipilev
c6c73deca4
8157726: VarHandles/Unsafe should support sub-word atomic ops
...
Reviewed-by: psandoz, vlivanov, lagergren
2016-06-15 11:21:36 +03:00
Goetz Lindenmaier
1e4b00b1dc
8140594: Various minor code improvements (compiler)
...
Various minor code improvements (compiler)
Reviewed-by: thartmann, kvn
2016-05-03 12:23:06 +02:00
Aleksey Shipilev
0c43809cfe
8148146: Integrate new internal Unsafe entry points, and basic intrinsic support for VarHandles
...
Reviewed-by: psandoz, kvn, jrose, adinn, simonis, coleenp
2016-02-23 22:09:41 +03: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
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
Andrew Haley
dd5481cbbc
8145438: Guarantee failures since 8144028: Use AArch64 bit-test instructions in C2
...
Implement short and long versions of bit test instructions.
Reviewed-by: kvn
2015-12-15 19:18:05 +00: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
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
Felix Yang
12cba200a3
8138583: aarch64: add support for vectorizing fabs/fneg
...
Reviewed-by: aph, roland
2015-09-30 04:35:39 -04:00
Michael Berg
e75f5a5cde
8135028: support for vectorizing double precision sqrt
...
Reviewed-by: kvn, twisti
2015-09-09 10:34:17 -07:00
Michael C Berg
4fca8dbb1f
8076276: Add support for AVX512
...
Reviewed-by: kvn, roland
2015-05-08 11:49:20 -07:00
Calvin Cheung
7bb3af5d16
Merge
2015-04-17 14:37:20 -07:00
Staffan Larsen
47d774ab34
8077364: "if( !this )" construct prevents build on Xcode 6.3
...
Reviewed-by: stefank, simonis
2015-04-15 09:34:46 +02: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
Paul Sandoz
c002e71565
8068977: Remove unused sun.misc.Unsafe prefetch intrinsic support
...
Reviewed-by: kvn, vlivanov
2015-02-10 21:32:05 +01:00
Goetz Lindenmaier
1d9e66c743
8058880: Introduce identifier TEMP_DEF for effects in adl
...
Modified adlc sources.
Reviewed-by: kvn, drchase
2014-09-29 16:03:30 -04: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
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
Vladimir Kozlov
c3a0e80e0b
Merge
2014-01-28 12:25:34 -08:00
Mikael Vidstedt
a0da47fd66
8029233: Update copyright year to match last edit in jdk8 hotspot repository for 2013
...
Copyright year updated for files modified during 2013
Reviewed-by: twisti, iveresov
2013-12-24 11:48:39 -08:00
Goetz Lindenmaier
fe89766184
8028515: PPPC64 (part 113.2): opto: Introduce LoadFence/StoreFence
...
Use new nodes for loadFence/storeFence intrinsics in C2.
Reviewed-by: kvn, dholmes
2013-11-26 18:38:19 -08:00
Goetz Lindenmaier
d22bde2c91
8028580: PPC64 (part 114/120): Support for Call nodes with constants
...
Extends MachCall nodes so that they can issue constants to the constant table
Reviewed-by: kvn
2013-11-20 11:08:09 -08:00
Goetz Lindenmaier
f9a0d6a4b5
8028401: PPC (part 117): Improve usability of adlc and format() functionality
...
Add additional, more verbose syntax checks in adlc. Fix printing constant's problem in format().
Reviewed-by: kvn
2013-11-15 12:01:00 -08:00
Goetz Lindenmaier
12b298218d
8003854: PPC64 (part 115): Introduce PostallocExpand that expands nodes after register allocation
...
Added ability in C2 to expand mach nodes to several mach nodes after register allocation
Reviewed-by: kvn
2013-11-14 19:24:59 -08:00
Niclas Adlertz
3838ed7b68
8022783: Nashorn test fails with: assert(!def_outside->member(r))
...
Enables private copies of inputs for recent spill copies as well
Reviewed-by: kvn, twisti
2013-10-18 10:50:17 +02:00
Rickard Bäckman
441f1d74cf
8024924: Intrinsify java.lang.Math.addExact
...
Reviewed-by: kvn, twisti
2013-09-27 08:39:19 +02:00
Niclas Adlertz
9129e6dc2b
8016157: During CTW: C2: assert(!def_outside->member(r)) failed: Use of external LRG overlaps the same LRG defined in this block
...
Disable rematerialization for negD node
Reviewed-by: kvn, roland
2013-06-14 01:19:56 +02:00
Christian Thalinger
337a9c1432
8015266: fix some -Wsign-compare warnings in adlc
...
Reviewed-by: kvn
2013-05-30 08:37:08 -07:00
Roland Westrelin
c84424d4af
8007722: C2: "assert(tp->base() != Type::AnyPtr) failed: not a bare pointer" at machnode.cpp:376
...
GetAndSetP's MachNode should capture bottom type.
Reviewed-by: kvn
2013-02-26 12:18:30 +01: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
Goetz Lindenmaier
f28ac57f94
8000592: Improve adlc usability
...
Several changes to adlc to improve its usability
Reviewed-by: kvn
2012-10-09 16:09:31 -07:00
Vladimir Ivanov
6674423523
7199654: Remove LoadUI2LNode
...
Removed LoadUI2L node from Ideal nodes, use match rule in .ad files instead.
Reviewed-by: kvn
2012-10-09 12:40:05 -07:00
Roland Westrelin
61eb5a0549
7054512: Compress class pointers after perm gen removal
...
Support of compress class pointers in the compilers.
Reviewed-by: kvn, twisti
2012-10-09 10:11:38 +02:00
Vladimir Kozlov
e8332c76e9
7201026: add vector for shift count
...
Add generation of vectors for scalar shift count.
Reviewed-by: roland, twisti, dlong
2012-10-02 12:25:13 -07:00
Vladimir Kozlov
9c3545d4fb
7200233: C2: can't use expand rules for vector instruction rules
...
Added missed _bottom_type set in ArchDesc::defineExpand() and missed vector nodes in MatchRule::is_vector().
Reviewed-by: twisti, roland, dlong
2012-09-25 10:41:15 -07:00
Roland Westrelin
302540691b
7023898: Intrinsify AtomicLongFieldUpdater.getAndIncrement()
...
Use shorter instruction sequences for atomic add and atomic exchange when possible.
Reviewed-by: kvn, jrose
2012-09-20 16:49:17 +02:00
Jon Masamitsu
5c58d27aac
6964458: Reimplement class meta-data storage to use native memory
...
Remove PermGen, allocate meta-data in metaspace linked to class loaders, rewrite GC walking, rewrite and rename metadata to be C++ classes
Co-authored-by: Stefan Karlsson <stefan.karlsson@oracle.com>
Co-authored-by: Mikael Gerdin <mikael.gerdin@oracle.com>
Co-authored-by: Tom Rodriguez <tom.rodriguez@oracle.com>
Reviewed-by: jmasa, stefank, never, coleenp, kvn, brutisso, mgerdin, dholmes, jrose, twisti, roland
2012-09-01 13:25:18 -04:00
Vladimir Kozlov
d1191bb4f4
7119644: Increase superword's vector size up to 256 bits
...
Increase vector size up to 256-bits for YMM AVX registers on x86.
Reviewed-by: never, twisti, roland
2012-06-15 01:25:19 -07:00
Krystal Mok
529b370174
7174218: remove AtomicLongCSImpl intrinsics
...
Reviewed-by: kvn, twisti
2012-06-12 14:31:44 -07:00
Roland Westrelin
97439fb4ff
7121140: Allocation paths require explicit memory synchronization operations for RMO systems
...
Adds store store barrier after initialization of header and body of objects.
Reviewed-by: never, kvn
2011-12-20 16:56:50 +01:00
Roland Westrelin
9d8e44db59
7077312: Provide a CALL effect for instruct declaration in the ad file
...
Abstracted way to declare that the MachNode has the effect of a call (kills caller save registers, preserves callee save registers)
Reviewed-by: twisti, never
2011-09-14 09:22:51 +02:00
Roland Westrelin
8ae50d45a4
7096010: c2: running with +PrintOptoAssembly crashes the VM when $constanttablebase is used
...
ADLC generates code to prepare the register string to be printed in a char array but then calls print without the char array as an argument.
Reviewed-by: never
2011-09-30 13:47:26 +02:00
Vladimir Kozlov
90651b2666
7079329: Adjust allocation prefetching for T4
...
On T4 2 BIS instructions should be issued to prefetch 64 bytes
Reviewed-by: iveresov, phh, twisti
2011-08-16 16:59:46 -07:00
Vladimir Kozlov
080f790edc
7079317: Incorrect branch's destination block in PrintoOptoAssembly output
...
Save/restore label and block in scratch_emit_size()
Reviewed-by: never
2011-08-16 11:53:57 -07:00