[vector] RFR: Fix FMA intrinsic
Lupusoru, Razvan A
razvan.a.lupusoru at intel.com
Tue May 29 16:33:38 UTC 2018
Looks good to me. Thanks!
--Razvan
-----Original Message-----
From: Vladimir Ivanov [mailto:vladimir.x.ivanov at oracle.com]
Sent: Tuesday, May 29, 2018 4:15 AM
To: Lupusoru, Razvan A <razvan.a.lupusoru at intel.com>; panama-dev at openjdk.java.net
Subject: Re: [vector] RFR: Fix FMA intrinsic
Haven't pushed that one yet. Any objections to the proposed fix?
Best regards,
Vladimir Ivanov
On 18/05/2018 01:43, Vladimir Ivanov wrote:
> Yeah, spotted that inconsistency when running the tests :-)
>
> Here's what I ended up with:
> http://cr.openjdk.java.net/~vlivanov/panama/vector/fma/webrev.01/
>
> It passes scalar ops in all cases except VectorCast nodes.
>
> Best regards,
> Vladimir Ivanov
>
> On 5/17/18 11:45, Lupusoru, Razvan A wrote:
>> The fix for fma looks fine. That said, it seems that you removed all
>> vector opcodes from VectorNode::opcode. This is problematic because
>> none of the other intrinsic implementations that call that method are
>> updated to pass in opc instead of the "vopc".
>>
>> - Create a second version of VectorNode::make that takes in vopc
>> instead of opc. Update the version that takes in opc to simply call
>> VectorNode::opcode and then your new version of VectorNode::make
>> - Update all intrinsic implementations to ensure that vopc is passed
>> in to the second variant.
>> OR
>> - Update all calls to VectorNode::make to pass in opc instead of
>> sopc/vopc.
>>
>> I prefer the first variant. Thanks!
>>
>> --Razvan
>>
>> -----Original Message-----
>> From: panama-dev [mailto:panama-dev-bounces at openjdk.java.net] On
>> Behalf Of Vladimir Ivanov
>> Sent: Thursday, May 17, 2018 1:04 AM
>> To: panama-dev at openjdk.java.net
>> Subject: [vector] RFR: Fix FMA intrinsic
>>
>> http://cr.openjdk.java.net/~vlivanov/panama/vector/fma/webrev.00/
>>
>> There are 2 bug being fixed:
>> (1) 3rd argument of a ternary operation is always null in
>> intrinsified version;
>>
>> (2) VectorNode::make() accepts vector ops, but misses
>> Op_FmaVF/Op_FmaVD in ternary case. Instead of adding them into the
>> list, I propose to always pass scalar ops into the methods and get
>> rid of the special cases for vector ops.
>>
>> Thanks!
>>
>> Best regards,
>> Vladimir Ivanov
>>
More information about the panama-dev
mailing list