⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 layer3.c

📁 基于mips架构的ATI-XILLEON 226的mp3解码程序
💻 C
📖 第 1 页 / 共 5 页
字号:
      for (i = 0; i < lower; ++i)

	modes[i] = header->mode_extension & ~I_STEREO;



      /* short blocks */



      w = 0;

      for (i = start; i < max; ++i) {

	if (i < bound[w])

	  modes[i] = header->mode_extension & ~I_STEREO;



	w = (w + 1) % 3;

      }

    }

    else {  /* right_ch->block_type != 2 */

      unsigned int bound;



      bound = 0;

      for (sfbi = l = 0; l < 576; l += n) {

	n = sfbwidth[sfbi++];



	for (i = 0; i < n; ++i) {

	  if (right_xr[i]) {

	    bound = sfbi;

	    break;

	  }

	}



	right_xr += n;

      }



      for (i = 0; i < bound; ++i)

	modes[i] = header->mode_extension & ~I_STEREO;

    }



    /* now do the actual processing */



    if (header->flags & MAD_FLAG_LSF_EXT) {

      unsigned char const *illegal_pos = granule[1].ch[1].scalefac;

      mad_fixed_t const *lsf_scale;



      /* intensity_scale */

      lsf_scale = is_lsf_table[right_ch->scalefac_compress & 0x1];



      for (sfbi = l = 0; l < 576; ++sfbi, l += n) {

	n = sfbwidth[sfbi];



	if (!(modes[sfbi] & I_STEREO))

	  continue;



	if (illegal_pos[sfbi]) {

	  modes[sfbi] &= ~I_STEREO;

	  continue;

	}



	is_pos = right_ch->scalefac[sfbi];



	for (i = 0; i < n; ++i) {

	  register mad_fixed_t left;



	  left = xr[0][l + i];



	  if (is_pos == 0)

	    xr[1][l + i] = left;

	  else {

	    register mad_fixed_t opposite;



	    opposite = mad_f_mul(left, lsf_scale[(is_pos - 1) / 2]);



	    if (is_pos & 1) {

	      xr[0][l + i] = opposite;

	      xr[1][l + i] = left;

	    }

	    else

	      xr[1][l + i] = opposite;

	  }

	}

      }

    }

    else {  /* !(header->flags & MAD_FLAG_LSF_EXT) */

      for (sfbi = l = 0; l < 576; ++sfbi, l += n) {

	n = sfbwidth[sfbi];



	if (!(modes[sfbi] & I_STEREO))

	  continue;



	is_pos = right_ch->scalefac[sfbi];



	if (is_pos >= 7) {  /* illegal intensity position */

	  modes[sfbi] &= ~I_STEREO;

	  continue;

	}



	for (i = 0; i < n; ++i) {

	  register mad_fixed_t left;



	  left = xr[0][l + i];



	  xr[0][l + i] = mad_f_mul(left, is_table[    is_pos]);

	  xr[1][l + i] = mad_f_mul(left, is_table[6 - is_pos]);

	}

      }

    }

  }



  /* middle/side stereo */



  if (header->mode_extension & MS_STEREO) {

    register mad_fixed_t invsqrt2;



    header->flags |= MAD_FLAG_MS_STEREO;



    invsqrt2 = root_table[3 + -2];



    for (sfbi = l = 0; l < 576; ++sfbi, l += n) {

      n = sfbwidth[sfbi];



      if (modes[sfbi] != MS_STEREO)

	continue;



      for (i = 0; i < n; ++i) {

	register mad_fixed_t m, s;



	m = xr[0][l + i];

	s = xr[1][l + i];



	xr[0][l + i] = mad_f_mul(m + s, invsqrt2);  /* l = (m + s) / sqrt(2) */

	xr[1][l + i] = mad_f_mul(m - s, invsqrt2);  /* r = (m - s) / sqrt(2) */

      }

    }

  }



  return MAD_ERROR_NONE;

}



/*

 * NAME:	III_aliasreduce()

 * DESCRIPTION:	perform frequency line alias reduction

 */

static

void III_aliasreduce(mad_fixed_t xr[576], int lines)

{

  mad_fixed_t const *bound;

  int i;



  bound = &xr[lines];

  for (xr += 18; xr < bound; xr += 18) {

    for (i = 0; i < 8; ++i) {

      register mad_fixed_t a, b;

      register mad_fixed64hi_t hi;

      register mad_fixed64lo_t lo;



      a = xr[-1 - i];

      b = xr[     i];



# if defined(ASO_ZEROCHECK)

      if (a | b) {

# endif

	MAD_F_ML0(hi, lo,  a, cs[i]);

	MAD_F_MLA(hi, lo, -b, ca[i]);



	xr[-1 - i] = MAD_F_MLZ(hi, lo);



	MAD_F_ML0(hi, lo,  b, cs[i]);

	MAD_F_MLA(hi, lo,  a, ca[i]);



	xr[     i] = MAD_F_MLZ(hi, lo);

# if defined(ASO_ZEROCHECK)

      }

# endif

    }

  }

}



# if defined(ASO_IMDCT)

void III_imdct_l(mad_fixed_t const [18], mad_fixed_t [36], unsigned int);

# else

/*

 * NAME:	imdct36

 * DESCRIPTION:	perform X[18]->x[36] IMDCT

 */

static inline

void imdct36(mad_fixed_t const X[18], mad_fixed_t x[36])

{

  mad_fixed_t t0, t1, t2,  t3,  t4,  t5,  t6,  t7;

  mad_fixed_t t8, t9, t10, t11, t12, t13, t14, t15;

  register mad_fixed64hi_t hi;

  register mad_fixed64lo_t lo;



  MAD_F_ML0(hi, lo, X[4],  MAD_F(0x0ec835e8));

  MAD_F_MLA(hi, lo, X[13], MAD_F(0x061f78aa));



  t6 = MAD_F_MLZ(hi, lo);



  MAD_F_MLA(hi, lo, (t14 = X[1] - X[10]), -MAD_F(0x061f78aa));

  MAD_F_MLA(hi, lo, (t15 = X[7] + X[16]), -MAD_F(0x0ec835e8));



  t0 = MAD_F_MLZ(hi, lo);



  MAD_F_MLA(hi, lo, (t8  = X[0] - X[11] - X[12]),  MAD_F(0x0216a2a2));

  MAD_F_MLA(hi, lo, (t9  = X[2] - X[9]  - X[14]),  MAD_F(0x09bd7ca0));

  MAD_F_MLA(hi, lo, (t10 = X[3] - X[8]  - X[15]), -MAD_F(0x0cb19346));

  MAD_F_MLA(hi, lo, (t11 = X[5] - X[6]  - X[17]), -MAD_F(0x0fdcf549));



  x[7]  = MAD_F_MLZ(hi, lo);

  x[10] = -x[7];



  MAD_F_ML0(hi, lo, t8,  -MAD_F(0x0cb19346));

  MAD_F_MLA(hi, lo, t9,   MAD_F(0x0fdcf549));

  MAD_F_MLA(hi, lo, t10,  MAD_F(0x0216a2a2));

  MAD_F_MLA(hi, lo, t11, -MAD_F(0x09bd7ca0));



  x[19] = x[34] = MAD_F_MLZ(hi, lo) - t0;



  t12 = X[0] - X[3] + X[8] - X[11] - X[12] + X[15];

  t13 = X[2] + X[5] - X[6] - X[9]  - X[14] - X[17];



  MAD_F_ML0(hi, lo, t12, -MAD_F(0x0ec835e8));

  MAD_F_MLA(hi, lo, t13,  MAD_F(0x061f78aa));



  x[22] = x[31] = MAD_F_MLZ(hi, lo) + t0;



  MAD_F_ML0(hi, lo, X[1],  -MAD_F(0x09bd7ca0));

  MAD_F_MLA(hi, lo, X[7],   MAD_F(0x0216a2a2));

  MAD_F_MLA(hi, lo, X[10], -MAD_F(0x0fdcf549));

  MAD_F_MLA(hi, lo, X[16],  MAD_F(0x0cb19346));



  t1 = MAD_F_MLZ(hi, lo) + t6;



  MAD_F_ML0(hi, lo, X[0],   MAD_F(0x03768962));

  MAD_F_MLA(hi, lo, X[2],   MAD_F(0x0e313245));

  MAD_F_MLA(hi, lo, X[3],  -MAD_F(0x0ffc19fd));

  MAD_F_MLA(hi, lo, X[5],  -MAD_F(0x0acf37ad));

  MAD_F_MLA(hi, lo, X[6],   MAD_F(0x04cfb0e2));

  MAD_F_MLA(hi, lo, X[8],  -MAD_F(0x0898c779));

  MAD_F_MLA(hi, lo, X[9],   MAD_F(0x0d7e8807));

  MAD_F_MLA(hi, lo, X[11],  MAD_F(0x0f426cb5));

  MAD_F_MLA(hi, lo, X[12], -MAD_F(0x0bcbe352));

  MAD_F_MLA(hi, lo, X[14],  MAD_F(0x00b2aa3e));

  MAD_F_MLA(hi, lo, X[15], -MAD_F(0x07635284));

  MAD_F_MLA(hi, lo, X[17], -MAD_F(0x0f9ee890));



  x[6]  = MAD_F_MLZ(hi, lo) + t1;

  x[11] = -x[6];



  MAD_F_ML0(hi, lo, X[0],  -MAD_F(0x0f426cb5));

  MAD_F_MLA(hi, lo, X[2],  -MAD_F(0x00b2aa3e));

  MAD_F_MLA(hi, lo, X[3],   MAD_F(0x0898c779));

  MAD_F_MLA(hi, lo, X[5],   MAD_F(0x0f9ee890));

  MAD_F_MLA(hi, lo, X[6],   MAD_F(0x0acf37ad));

  MAD_F_MLA(hi, lo, X[8],  -MAD_F(0x07635284));

  MAD_F_MLA(hi, lo, X[9],  -MAD_F(0x0e313245));

  MAD_F_MLA(hi, lo, X[11], -MAD_F(0x0bcbe352));

  MAD_F_MLA(hi, lo, X[12], -MAD_F(0x03768962));

  MAD_F_MLA(hi, lo, X[14],  MAD_F(0x0d7e8807));

  MAD_F_MLA(hi, lo, X[15],  MAD_F(0x0ffc19fd));

  MAD_F_MLA(hi, lo, X[17],  MAD_F(0x04cfb0e2));



  x[23] = x[30] = MAD_F_MLZ(hi, lo) + t1;



  MAD_F_ML0(hi, lo, X[0],  -MAD_F(0x0bcbe352));

  MAD_F_MLA(hi, lo, X[2],   MAD_F(0x0d7e8807));

  MAD_F_MLA(hi, lo, X[3],  -MAD_F(0x07635284));

  MAD_F_MLA(hi, lo, X[5],   MAD_F(0x04cfb0e2));

  MAD_F_MLA(hi, lo, X[6],   MAD_F(0x0f9ee890));

  MAD_F_MLA(hi, lo, X[8],  -MAD_F(0x0ffc19fd));

  MAD_F_MLA(hi, lo, X[9],  -MAD_F(0x00b2aa3e));

  MAD_F_MLA(hi, lo, X[11],  MAD_F(0x03768962));

  MAD_F_MLA(hi, lo, X[12], -MAD_F(0x0f426cb5));

  MAD_F_MLA(hi, lo, X[14],  MAD_F(0x0e313245));

  MAD_F_MLA(hi, lo, X[15],  MAD_F(0x0898c779));

  MAD_F_MLA(hi, lo, X[17], -MAD_F(0x0acf37ad));



  x[18] = x[35] = MAD_F_MLZ(hi, lo) - t1;



  MAD_F_ML0(hi, lo, X[4],   MAD_F(0x061f78aa));

  MAD_F_MLA(hi, lo, X[13], -MAD_F(0x0ec835e8));



  t7 = MAD_F_MLZ(hi, lo);



  MAD_F_MLA(hi, lo, X[1],  -MAD_F(0x0cb19346));

  MAD_F_MLA(hi, lo, X[7],   MAD_F(0x0fdcf549));

  MAD_F_MLA(hi, lo, X[10],  MAD_F(0x0216a2a2));

  MAD_F_MLA(hi, lo, X[16], -MAD_F(0x09bd7ca0));



  t2 = MAD_F_MLZ(hi, lo);



  MAD_F_MLA(hi, lo, X[0],   MAD_F(0x04cfb0e2));

  MAD_F_MLA(hi, lo, X[2],   MAD_F(0x0ffc19fd));

  MAD_F_MLA(hi, lo, X[3],  -MAD_F(0x0d7e8807));

  MAD_F_MLA(hi, lo, X[5],   MAD_F(0x03768962));

  MAD_F_MLA(hi, lo, X[6],  -MAD_F(0x0bcbe352));

  MAD_F_MLA(hi, lo, X[8],  -MAD_F(0x0e313245));

  MAD_F_MLA(hi, lo, X[9],   MAD_F(0x07635284));

  MAD_F_MLA(hi, lo, X[11], -MAD_F(0x0acf37ad));

  MAD_F_MLA(hi, lo, X[12],  MAD_F(0x0f9ee890));

  MAD_F_MLA(hi, lo, X[14],  MAD_F(0x0898c779));

  MAD_F_MLA(hi, lo, X[15],  MAD_F(0x00b2aa3e));

  MAD_F_MLA(hi, lo, X[17],  MAD_F(0x0f426cb5));



  x[5]  = MAD_F_MLZ(hi, lo);

  x[12] = -x[5];



  MAD_F_ML0(hi, lo, X[0],   MAD_F(0x0acf37ad));

  MAD_F_MLA(hi, lo, X[2],  -MAD_F(0x0898c779));

  MAD_F_MLA(hi, lo, X[3],   MAD_F(0x0e313245));

  MAD_F_MLA(hi, lo, X[5],  -MAD_F(0x0f426cb5));

  MAD_F_MLA(hi, lo, X[6],  -MAD_F(0x03768962));

  MAD_F_MLA(hi, lo, X[8],   MAD_F(0x00b2aa3e));

  MAD_F_MLA(hi, lo, X[9],  -MAD_F(0x0ffc19fd));

  MAD_F_MLA(hi, lo, X[11],  MAD_F(0x0f9ee890));

  MAD_F_MLA(hi, lo, X[12], -MAD_F(0x04cfb0e2));

  MAD_F_MLA(hi, lo, X[14],  MAD_F(0x07635284));

  MAD_F_MLA(hi, lo, X[15],  MAD_F(0x0d7e8807));

  MAD_F_MLA(hi, lo, X[17], -MAD_F(0x0bcbe352));



  x[0]  = MAD_F_MLZ(hi, lo) + t2;

  x[17] = -x[0];



  MAD_F_ML0(hi, lo, X[0],  -MAD_F(0x0f9ee890));

  MAD_F_MLA(hi, lo, X[2],  -MAD_F(0x07635284));

  MAD_F_MLA(hi, lo, X[3],  -MAD_F(0x00b2aa3e));

  MAD_F_MLA(hi, lo, X[5],   MAD_F(0x0bcbe352));

  MAD_F_MLA(hi, lo, X[6],   MAD_F(0x0f426cb5));

  MAD_F_MLA(hi, lo, X[8],   MAD_F(0x0d7e8807));

  MAD_F_MLA(hi, lo, X[9],   MAD_F(0x0898c779));

  MAD_F_MLA(hi, lo, X[11], -MAD_F(0x04cfb0e2));

  MAD_F_MLA(hi, lo, X[12], -MAD_F(0x0acf37ad));

  MAD_F_MLA(hi, lo, X[14], -MAD_F(0x0ffc19fd));

  MAD_F_MLA(hi, lo, X[15], -MAD_F(0x0e313245));

  MAD_F_MLA(hi, lo, X[17], -MAD_F(0x03768962));



  x[24] = x[29] = MAD_F_MLZ(hi, lo) + t2;



  MAD_F_ML0(hi, lo, X[1],  -MAD_F(0x0216a2a2));

  MAD_F_MLA(hi, lo, X[7],  -MAD_F(0x09bd7ca0));

  MAD_F_MLA(hi, lo, X[10],  MAD_F(0x0cb19346));

  MAD_F_MLA(hi, lo, X[16],  MAD_F(0x0fdcf549));



  t3 = MAD_F_MLZ(hi, lo) + t7;



  MAD_F_ML0(hi, lo, X[0],   MAD_F(0x00b2aa3e));

  MAD_F_MLA(hi, lo, X[2],   MAD_F(0x03768962));

  MAD_F_MLA(hi, lo, X[3],  -MAD_F(0x04cfb0e2));

  MAD_F_MLA(hi, lo, X[5],  -MAD_F(0x07635284));

  MAD_F_MLA(hi, lo, X[6],   MAD_F(0x0898c779));

  MAD_F_MLA(hi, lo, X[8],   MAD_F(0x0acf37ad));

  MAD_F_MLA(hi, lo, X[9],  -MAD_F(0x0bcbe352));

  MAD_F_MLA(hi, lo, X[11], -MAD_F(0x0d7e8807));

  MAD_F_MLA(hi, lo, X[12],  MAD_F(0x0e313245));

  MAD_F_MLA(hi, lo, X[14],  MAD_F(0x0f426cb5));

  MAD_F_MLA(hi, lo, X[15], -MAD_F(0x0f9ee890));

  MAD_F_MLA(hi, lo, X[17], -MAD_F(0x0ffc19fd));



  x[8] = MAD_F_MLZ(hi, lo) + t3;

  x[9] = -x[8];



  MAD_F_ML0(hi, lo, X[0],  -MAD_F(0x0e313245));

  MAD_F_MLA(hi, lo, X[2],   MAD_F(0x0bcbe352));

  MAD_F_MLA(hi, lo, X[3],   MAD_F(0x0f9ee890));

  MAD_F_MLA(hi, lo, X[5],  -MAD_F(0x0898c779));

  MAD_F_MLA(hi, lo, X[6],  -MAD_F(0x0ffc19fd));

  MAD_F_MLA(hi, lo, X[8],   MAD_F(0x04cfb0e2));

  MAD_F_MLA(hi, lo, X[9],   MAD_F(0x0f426cb5));

  MAD_F_MLA(hi, lo, X[11], -MAD_F(0x00b2aa3e));

  MAD_F_MLA(hi, lo, X[12], -MAD_F(0x0d7e8807));

  MAD_F_MLA(hi, lo, X[14], -MAD_F(0x03768962));

  MAD_F_MLA(hi, lo, X[15],  MAD_F(0x0acf37ad));

  MAD_F_MLA(hi, lo, X[17],  MAD_F(0x07635284));



  x[21] = x[32] = MAD_F_MLZ(hi, lo) + t3;



  MAD_F_ML0(hi, lo, X[0],  -MAD_F(0x0d7e8807));

  MAD_F_MLA(hi, lo, X[2],   MAD_F(0x0f426cb5));

  MAD_F_MLA(hi, lo, X[3],   MAD_F(0x0acf37ad));

  MAD_F_MLA(hi, lo, X[5],  -MAD_F(0x0ffc19fd));

  MAD_F_MLA(hi, lo, X[6],  -MAD_F(0x07635284));

  MAD_F_MLA(hi, lo, X[8],   MAD_F(0x0f9ee890));

  MAD_F_MLA(hi, lo, X[9],   MAD_F(0x03768962));

  MAD_F_MLA(hi, lo, X[11], -MAD_F(0x0e313245));

  MAD_F_MLA(hi, lo, X[12],  MAD_F(0x00b2aa3e));

  MAD_F_MLA(hi, lo, X[14],  MAD_F(0x0bcbe352));

  MAD_F_MLA(hi, lo, X[15], -MAD_F(0x04cfb0e2));

  MAD_F_MLA(hi, lo, X[17], -MAD_F(0x0898c779));



  x[20] = x[33] = MAD_F_MLZ(hi, lo) - t3;



  MAD_F_ML0(hi, lo, t14, -MAD_F(0x0ec835e8));

  MAD_F_MLA(hi, lo, t15,  MAD_F(0x061f78aa));



  t4 = MAD_F_MLZ(hi, lo) - t7;



  MAD_F_ML0(hi, lo, t12, MAD_F(0x061f78aa));

  MAD_F_MLA(hi, lo, t13, MAD_F(0x0ec835e8));



  x[4]  = MAD_F_MLZ(hi, lo) + t4;

  x[13] = -x[4];



  MAD_F_ML0(hi, lo, t8,   MAD_F(0x09bd7ca0));

  MAD_F_MLA(hi, lo, t9,  -MAD_F(0x0216a2a2));

  MAD_F_MLA(hi, lo, t10,  MAD_F(0x0fdcf549));

  MAD_F_MLA(hi, lo, t11, -MAD_F(0x0cb19346));



  x[1]  = MAD_F_MLZ(hi, lo) + t4;

  x[16] = -x[1];



  MAD_F_ML0(hi, lo, t8,  -MAD_F(0x0fdcf549));

  MAD_F_MLA(hi, lo, t9,  -MAD_F(0x0cb19346));

  MAD_F_MLA(hi, lo, t10, -MAD_F(0x09bd7ca0));

  MAD_F_MLA(hi, lo, t11, -MAD_F(0x0216a2a2));



  x[25] = x[28] = MAD_F_MLZ(hi, lo) + t4;



  MAD_F_ML0(hi, lo, X[1],  -MAD_F(0x0fdcf549));

  MAD_F_MLA(hi, lo, X[7],  -MAD_F(0x0cb19346));

  MAD_F_MLA(hi, lo, X[10], -MAD_F(0x09bd7ca0));

  MAD_F_MLA(hi, lo, X[16], -MAD_F(0x0216a2a2));



  t5 = MAD_F_MLZ(hi, lo) - t6;



  MAD_F_ML0(hi, lo, X[0],   MAD_F(0x0898c779));

  MAD_F_MLA(hi, lo, X[2],   MAD_F(0x04cfb0e2));

  MAD_F_MLA(hi, lo, X[3],   MAD_F(0x0bcbe352));

  MAD_F_MLA(hi, lo, X[5],   MAD_F(0x00b2aa3e));

  MAD_F_MLA(hi, lo, X[6],   MAD_F(0x0e313245));

  MAD_F_MLA(hi, lo, X[8],  -MAD_F(0x03768962));

  MAD_F_MLA(hi, lo, X[9],   MAD_F(0x0f9ee890));

  MAD_F_MLA(hi, lo, X[11], -MAD_F(0x07635284));

  MAD_F_MLA(hi, lo, X[12],  MAD_F(0x0ffc19fd));

  MAD_F_MLA(hi, lo, X[14], -MAD_F(0x0acf37ad));

  MAD_F_MLA(hi, lo, X[15],  MAD_F(0x0f426cb5));

  MAD_F_MLA(hi, lo, X[17], -MAD_F(0x0d7e8807));



  x[2]  = MAD_F_MLZ(hi, lo) + t5;

  x[15] = -x[2];



  MAD_F_ML0(hi, lo, X[0],   MAD_F(0x07635284));

  MAD_F_MLA(hi, lo, X[2],   MAD_F(0x0acf37ad));

  MAD_F_MLA(hi, lo, X[3],   MAD_F(0x03768962));

  MAD_F_MLA(hi, lo, X[5],   MAD_F(0x0d7e8807));

  MAD_F_MLA(hi, lo, X[6],  -MAD_F(0x00b2aa3e));

  MAD_F_MLA(hi, lo, X[8],   MAD_F(0x0f426cb5));

  MAD_F_MLA(hi, lo, X[9],  -MAD_F(0x04cfb0e2));

  MAD_F_MLA(hi, lo, X[11],  MAD_F(0x0ffc19fd));

  MAD_F_MLA(hi, lo, X[12], -MAD_F(0x0898c779));

  MAD_F_MLA(hi, lo, X[14],  MAD_F(0x0f9ee890));

  MAD_F_MLA(hi, lo, X[15], -MAD_F(0x0bcbe352));

  MAD_F_MLA(hi, lo, X[17],  MAD_F(0x0e313245));



  x[3]  = MAD_F_MLZ(hi, lo) + t5;

  x[14] = -x[3];



  MAD_F_ML0(hi, lo, X[0],  -MAD_F(0x0ffc19fd));

  MAD_F_MLA(hi, lo, X[2],  -MAD_F(0x0f9ee890));

  MAD_F_MLA(hi, lo, X[3],  -MAD_F(0x0f426cb5));

  MAD_F_MLA(hi, lo, X[5],  -MAD_F(0x0e313245));

  MAD_F_MLA(hi, lo, X[6],  -MAD_F(0x0d7e8807));

  MAD_F_MLA(hi, lo, X[8],  -MAD_F(0x0bcbe352));

  MAD_F_MLA(hi, lo, X[9],  -MAD_F(0x0acf37ad));

  MAD_F_MLA(hi, lo, X[11], -MAD_F(0x0898c779));

  MAD_F_MLA(hi, lo, X[12], -MAD_F(0x07635284));

  MAD_F_MLA(hi, lo, X[14], -MAD_F(0x04cfb0e2));

  MAD_F_MLA(hi, lo, X[15], -MAD_F(0x03768962));

  MAD_F_MLA(hi, lo, X[17], -MAD_F(0x00b2aa3e));



  x[26] = x[27] = MAD_F_MLZ(hi, lo) + t5;

}



⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -