1  /* { dg-do compile } */
       2  /* { dg-options "-O -fgimple -ftree-slp-vectorize -mavx512f -fdump-tree-slp2" } */
       3  
       4  void __GIMPLE (ssa,guessed_local(118111600))
       5  bar (int * restrict a, int * restrict e,
       6       _Bool d0, _Bool d1, _Bool d2, _Bool d3, _Bool d4, _Bool d5, _Bool d6, _Bool d7)
       7  {
       8    int _1;
       9    int _4;
      10    int _6;
      11    int _8;
      12    int _10;
      13    int _12;
      14    int _14;
      15    int _16;
      16    int _27;
      17    _Bool _37;
      18    _Bool _39;
      19    _Bool _41;
      20    int _43;
      21    _Bool _45;
      22    _Bool _47;
      23    _Bool _49;
      24    _Bool _53;
      25    _Bool _54;
      26    _Bool _55;
      27    int _56;
      28    _Bool _57;
      29    _Bool _58;
      30    _Bool _59;
      31    int _60;
      32    _Bool _61;
      33    _Bool _62;
      34    _Bool _63;
      35    int _64;
      36    _Bool _65;
      37    _Bool _66;
      38    _Bool _67;
      39    int _68;
      40    _Bool _69;
      41    _Bool _70;
      42    _Bool _71;
      43    int _72;
      44    _Bool _73;
      45    _Bool _74;
      46    _Bool _75;
      47    int _76;
      48  
      49    __BB(2,guessed_local(118111600)):
      50    _73 = d0_2(D);
      51    _69 = d1_5(D);
      52    _65 = d2_7(D);
      53    _61 = d3_9(D);
      54    _57 = d4_11(D);
      55    _53 = d5_13(D);
      56    _41 = d6_15(D);
      57    _49 = d7_17(D);
      58    a_81 = a_22(D);
      59    e_82 = e_23(D);
      60    _1 = __MEM <int> (a_81 + _Literal (int * restrict) 32);
      61    _4 = __MEM <int> (a_81 + _Literal (int * restrict) 36);
      62    _6 = __MEM <int> (a_81);
      63    _8 = __MEM <int> (a_81 + _Literal (int * restrict) 4);
      64    _10 = __MEM <int> (a_81 + _Literal (int * restrict) 48);
      65    _12 = __MEM <int> (a_81 + _Literal (int * restrict) 52);
      66    _14 = __MEM <int> (a_81 + _Literal (int * restrict) 16);
      67    _16 = __MEM <int> (a_81 + _Literal (int * restrict) 60);
      68    _74 = _1 != 0;
      69    _75 = _73 & _74;
      70    _76 = _75 ? _1 : 0;
      71    __MEM <int> (e_82) = _76;
      72    __MEM <int> (e_82 + _Literal (int * restrict) 4) = _76;
      73    __MEM <int> (e_82 + _Literal (int * restrict) 8) = _76;
      74    __MEM <int> (e_82 + _Literal (int * restrict) 12) = _76;
      75    __MEM <int> (e_82 + _Literal (int * restrict) 16) = _76;
      76    __MEM <int> (e_82 + _Literal (int * restrict) 20) = _76;
      77    __MEM <int> (e_82 + _Literal (int * restrict) 24) = _76;
      78    __MEM <int> (e_82 + _Literal (int * restrict) 28) = _76;
      79    __MEM <int> (e_82 + _Literal (int * restrict) 32) = _76;
      80    _70 = _4 != 0;
      81    _71 = _69 & _70;
      82    _72 = _71 ? _4 : 0;
      83    __MEM <int> (e_82 + _Literal (int * restrict) 36) = _72;
      84    _66 = _6 != 0;
      85    _67 = _65 & _66;
      86    _68 = _67 ? _6 : 0;
      87    __MEM <int> (e_82 + _Literal (int * restrict) 40) = _68;
      88    _62 = _8 != 0;
      89    _63 = _61 & _62;
      90    _64 = _63 ? _8 : 0;
      91    __MEM <int> (e_82 + _Literal (int * restrict) 44) = _64;
      92    _58 = _10 != 0;
      93    _59 = _57 & _58;
      94    _60 = _59 ? _10 : 0;
      95    __MEM <int> (e_82 + _Literal (int * restrict) 48) = _60;
      96    _54 = _12 != 0;
      97    _55 = _53 & _54;
      98    _56 = _55 ? _12 : 0;
      99    __MEM <int> (e_82 + _Literal (int * restrict) 52) = _56;
     100    _39 = _14 != 0;
     101    _37 = _39 & _41;
     102    _27 = _37 ? _14 : 0;
     103    __MEM <int> (e_82 + _Literal (int * restrict) 56) = _27;
     104    _47 = _16 != 0;
     105    _45 = _47 & _49;
     106    _43 = _45 ? _16 : 0;
     107    __MEM <int> (e_82 + _Literal (int * restrict) 60) = _43;
     108    return;
     109  
     110  }
     111  
     112  /* We do not want a AVX512 mask CTOR built from converted _Bool.  */
     113  /* { dg-final { scan-tree-dump-not " = \\(<signed-boolean:1>\\) " "slp2" } } */