/* APPLE LOCAL file CW asm blocks */
/* { dg-do assemble { target i?86*-*-darwin* } } */
/* { dg-require-effective-target ilp32 } */
/* { dg-options { -fasm-blocks -msse3 } } */
/* Radar 4371958 */

#define SourceArray(row, col)  (sPtr [(row) * sRowBytes + (col)])
void foo() {
  char *sPtr[20];
  int sRowBytes = 1;
  SourceArray(0, 0);
  asm {
    nop
    ;           w2 = SourceArray(rowIndex + 1, colIndex * sColBytes) +
    nop
  }
}

void
RefBNDecimateH1() { }
#define DoOldDecimateH RefBNDecimateH1
void X_DecimateH (int cols) {
  if ( cols < 8 )
    {
      DoOldDecimateH ();
      return;
    }
  asm { call DoOldDecimateH }
}
