"Fossies" - the Fresh Open Source Software Archive

Member "hashcat-6.2.6/OpenCL/amp_a1.cl" (2 Sep 2022, 2472 Bytes) of package /linux/privat/hashcat-6.2.6.tar.gz:


As a special service "Fossies" has tried to format the requested source page into HTML format using (guessed) Lisp source code syntax highlighting (style: standard) with prefixed line numbers. Alternatively you can here view or download the uninterpreted source code file. See also the latest Fossies "Diffs" side-by-side code changes report for "amp_a1.cl": 6.2.5_vs_6.2.6.

    1 /**
    2  * Author......: See docs/credits.txt
    3  * License.....: MIT
    4  */
    5 
    6 #ifdef KERNEL_STATIC
    7 #include M2S(INCLUDE_PATH/inc_vendor.h)
    8 #include M2S(INCLUDE_PATH/inc_types.h)
    9 #include M2S(INCLUDE_PATH/inc_platform.cl)
   10 #include M2S(INCLUDE_PATH/inc_common.cl)
   11 #include M2S(INCLUDE_PATH/inc_amp.h)
   12 #endif
   13 
   14 KERNEL_FQ void amp (KERN_ATTR_AMP)
   15 {
   16   const u64 gid = get_global_id (0);
   17 
   18   if (gid >= gid_max) return;
   19 
   20   pw_t pw = pws_amp[gid];
   21 
   22   pw_t comb = combs_buf[0];
   23 
   24   const u32 pw_len = pw.pw_len;
   25 
   26   const u32 comb_len = comb.pw_len;
   27 
   28   if (combs_mode == COMBINATOR_MODE_BASE_LEFT)
   29   {
   30     switch_buffer_by_offset_1x64_le_S (comb.i, pw_len);
   31   }
   32 
   33   if (combs_mode == COMBINATOR_MODE_BASE_RIGHT)
   34   {
   35     switch_buffer_by_offset_1x64_le_S (pw.i, comb_len);
   36   }
   37 
   38   pw.i[ 0] |= comb.i[ 0];
   39   pw.i[ 1] |= comb.i[ 1];
   40   pw.i[ 2] |= comb.i[ 2];
   41   pw.i[ 3] |= comb.i[ 3];
   42   pw.i[ 4] |= comb.i[ 4];
   43   pw.i[ 5] |= comb.i[ 5];
   44   pw.i[ 6] |= comb.i[ 6];
   45   pw.i[ 7] |= comb.i[ 7];
   46   pw.i[ 8] |= comb.i[ 8];
   47   pw.i[ 9] |= comb.i[ 9];
   48   pw.i[10] |= comb.i[10];
   49   pw.i[11] |= comb.i[11];
   50   pw.i[12] |= comb.i[12];
   51   pw.i[13] |= comb.i[13];
   52   pw.i[14] |= comb.i[14];
   53   pw.i[15] |= comb.i[15];
   54   pw.i[16] |= comb.i[16];
   55   pw.i[17] |= comb.i[17];
   56   pw.i[18] |= comb.i[18];
   57   pw.i[19] |= comb.i[19];
   58   pw.i[20] |= comb.i[20];
   59   pw.i[21] |= comb.i[21];
   60   pw.i[22] |= comb.i[22];
   61   pw.i[23] |= comb.i[23];
   62   pw.i[24] |= comb.i[24];
   63   pw.i[25] |= comb.i[25];
   64   pw.i[26] |= comb.i[26];
   65   pw.i[27] |= comb.i[27];
   66   pw.i[28] |= comb.i[28];
   67   pw.i[29] |= comb.i[29];
   68   pw.i[30] |= comb.i[30];
   69   pw.i[31] |= comb.i[31];
   70   pw.i[32] |= comb.i[32];
   71   pw.i[33] |= comb.i[33];
   72   pw.i[34] |= comb.i[34];
   73   pw.i[35] |= comb.i[35];
   74   pw.i[36] |= comb.i[36];
   75   pw.i[37] |= comb.i[37];
   76   pw.i[38] |= comb.i[38];
   77   pw.i[39] |= comb.i[39];
   78   pw.i[40] |= comb.i[40];
   79   pw.i[41] |= comb.i[41];
   80   pw.i[42] |= comb.i[42];
   81   pw.i[43] |= comb.i[43];
   82   pw.i[44] |= comb.i[44];
   83   pw.i[45] |= comb.i[45];
   84   pw.i[46] |= comb.i[46];
   85   pw.i[47] |= comb.i[47];
   86   pw.i[48] |= comb.i[48];
   87   pw.i[49] |= comb.i[49];
   88   pw.i[50] |= comb.i[50];
   89   pw.i[51] |= comb.i[51];
   90   pw.i[52] |= comb.i[52];
   91   pw.i[53] |= comb.i[53];
   92   pw.i[54] |= comb.i[54];
   93   pw.i[55] |= comb.i[55];
   94   pw.i[56] |= comb.i[56];
   95   pw.i[57] |= comb.i[57];
   96   pw.i[58] |= comb.i[58];
   97   pw.i[59] |= comb.i[59];
   98   pw.i[60] |= comb.i[60];
   99   pw.i[61] |= comb.i[61];
  100   pw.i[62] |= comb.i[62];
  101   pw.i[63] |= comb.i[63];
  102 
  103   pw.pw_len = pw_len + comb_len;
  104 
  105   pws[gid] = pw;
  106 }