1  /* { dg-require-visibility "" } */
       2  /* { dg-options "-fvisibility=internal -fPIC" { target fpic } } */
       3  
       4  extern char num_4x4_blocks_high_lookup, num_4x4_blocks_wide_lookup,
       5      vp9_foreach_transformed_block_in_plane_xd_0_0_0;
       6  int vp9_first_pass_encode_tile_mb_row_cpi_0,
       7      vp9_first_pass_encode_tile_mb_row_tile_data_0_0, vp9_encode_sby_pass1_x;
       8  typedef void foreach_transformed_block_visitor();
       9  void vp9_encode_sby_pass1();
      10  typedef struct {
      11    long coded_error;
      12    long sr_coded_error;
      13    long frame_noise_energy;
      14    long intra_error;
      15  } FIRSTPASS_DATA;
      16  typedef struct {
      17    FIRSTPASS_DATA fp_data;
      18  } TileDataEnc;
      19  TileDataEnc accumulate_fp_mb_row_stat_this_tile;
      20  void vp9_first_pass_encode_tile_mb_row(FIRSTPASS_DATA *fp_acc_data) {
      21    int mb_col_end = vp9_first_pass_encode_tile_mb_row_tile_data_0_0;
      22    for (; mb_col_end;) {
      23      vp9_encode_sby_pass1();
      24      if (vp9_first_pass_encode_tile_mb_row_cpi_0) {
      25        FIRSTPASS_DATA __trans_tmp_1 = *fp_acc_data;
      26        accumulate_fp_mb_row_stat_this_tile.fp_data.coded_error +=
      27            accumulate_fp_mb_row_stat_this_tile.fp_data.sr_coded_error +=
      28            __trans_tmp_1.sr_coded_error;
      29        accumulate_fp_mb_row_stat_this_tile.fp_data.frame_noise_energy +=
      30            __trans_tmp_1.frame_noise_energy;
      31        accumulate_fp_mb_row_stat_this_tile.fp_data.intra_error +=
      32            __trans_tmp_1.intra_error;
      33      }
      34    }
      35  }
      36  foreach_transformed_block_visitor vp9_foreach_transformed_block_in_plane_visit;
      37  void vp9_foreach_transformed_block_in_plane(void *arg) {
      38    int c, max_blocks_wide = num_4x4_blocks_wide_lookup;
      39    for (; num_4x4_blocks_high_lookup;) {
      40      c = 0;
      41      for (; c < max_blocks_wide;
      42           c += vp9_foreach_transformed_block_in_plane_xd_0_0_0)
      43        vp9_foreach_transformed_block_in_plane_visit(arg);
      44    }
      45  }
      46  void vp9_encode_sby_pass1() {
      47    vp9_foreach_transformed_block_in_plane(&vp9_encode_sby_pass1_x);
      48  }