FRF: 8250675: Vector API crashes on AVX512 machines with assert(eval_map.contains(n)) failed: absent

Vladimir Ivanov vladimir.x.ivanov at oracle.com
Tue Jul 28 23:19:52 UTC 2020


> How about fixing it in jdk/jdk directly?
> I'd like to post it for review on hotspot-compiler-dev.
> Then the fix will be merged into Panama automatically.
> 
> What do you think?

Sounds good.

Best regards,
Vladimir Ivanov

> 
> Best regards,
> Jie
> 
> On 2020/7/29, 12:51 AM, "Vladimir Ivanov" <vladimir.x.ivanov at oracle.com> wrote:
> 
>      Good catch, Jie!
>      
>      I suggest the following variant of the fix:
>      
>      static void eval_operands(Node* n,
>                                 uint& func1, uint& func2, uint& func3,
>                                 ResourceHashtable<Node*,uint>& eval_map) {
>         assert(is_vector_bitwise_op(n), "");
>      
>         if (is_vector_unary_bitwise_op(n)) {
>           Node* opnd = n->in(1);
>           if (VectorNode::is_vector_bitwise_not_pattern(n) &&
>      is_all_ones_vector(opnd)) {
>             opnd = n->in(2);
>           }
>           func1 = eval_operand(opnd, eval_map);
>         } else if (is_vector_binary_bitwise_op(n)) {
>           func1 = eval_operand(n->in(1), eval_map);
>           func2 = eval_operand(n->in(2), eval_map);
>         } else {
>           assert(is_vector_ternary_bitwise_op(n), "unknown operation");
>           func1 = eval_operand(n->in(1), eval_map);
>           func2 = eval_operand(n->in(2), eval_map);
>           func3 = eval_operand(n->in(3), eval_map);
>         }
>      }
>      
>      Strictly speaking, the bug is not Vector API-specific, but
>      auto-vectorizer doesn't generate such IR shape (scalar bitwise not
>      pattern is normalized by GVN). So, I'm fine to push the fix along with
>      Vector API.
>      
>      But feel free to post it for review on hotspot-compiler-dev at ojn separately.
>      
>      Best regards,
>      Vladimir Ivanov
>      
>      On 28.07.2020 16:35, jiefu(傅杰) wrote:
>      > Hi all,
>      >
>      > Please review the following patch which fixes some Vector API crashes on AVX512 machines.
>      >
>      > JBS:    https://bugs.openjdk.java.net/browse/JDK-8250675
>      > Webrev: http://cr.openjdk.java.net/~jiefu/8250675/webrev.00/
>      >
>      > Testing:
>      >    - jdk/incubator/vector all passed on AVX512 machines
>      >    - tier1 on Linux/x64
>      >
>      > Thanks a lot.
>      > Best regards,
>      > Jie
>      >
>      
>      
> 


More information about the panama-dev mailing list