CR for RFR 8153998
Christian Thalinger
christian.thalinger at oracle.com
Wed Apr 13 21:08:02 UTC 2016
> On Apr 12, 2016, at 8:26 PM, Berg, Michael C <michael.c.berg at intel.com> wrote:
>
> <>Hi Folks,
>
> I would like to contribute Programmable SIMD as implemented on multi-versioned post loops. See: https://bugs.openjdk.java.net/browse/JDK-8151573 <https://bugs.openjdk.java.net/browse/JDK-8151573> for the first half of the implementation.
> This component delivers mask programmed post loops which execute in a single iteration in place of fixup scalar loops which used to take many iterations to complete work for user loops.
> Currently I have enabled this optimization for x86 only, specifically for machines with masked data predication implemented as per fully enabled EVEX targets. It delivers up to 2x performance and has been modeled over a large number of loop lengths and forms of loops.
>
> This code was tested as follows (see jbs entry below):
>
> Bug-id: https://bugs.openjdk.java.net/browse/JDK-8153998 <https://bugs.openjdk.java.net/browse/JDK-8153998>
>
> webrev:
> http://cr.openjdk.java.net/~mcberg/8153998/webrev.01a/ <http://cr.openjdk.java.net/~mcberg/8153998/webrev.01a/>
+//------------------------------MachMskNode-----------------------------------
+// Machine function Msk Node
+class MachMskNode : public MachIdealNode {
Does “Msk” mean mask? Then we should call it MachMaskNode.
Also, I don’t quite understand why we have:
+instruct set_mask(rRegI dst, rRegI src) %{
+ predicate(VM_Version::supports_avx512vl());
+ match(Set dst (MaskCreateI src));
+ effect(TEMP dst);
+ format %{ "createmsk $dst, $src" %}
+ ins_encode %{
+ __ createmsk($dst$$Register, $src$$Register);
+ %}
but:
+ void MachMskNode::emit(CodeBuffer &cbuf, PhaseRegAlloc*) const {
+ MacroAssembler _masm(&cbuf);
+ __ restoremsk();
+ }
>
> Thanks,
> Michael
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.openjdk.java.net/pipermail/hotspot-compiler-dev/attachments/20160413/07e94b57/attachment.html>
More information about the hotspot-compiler-dev
mailing list