blob: a2bac66091a1dcfbf83943c7e2c8057d824d45c8 [file] [log] [blame]
/* PR rtl-optimization/102842 */
/* { dg-do compile } */
/* { dg-options "-fPIC -O2 -fno-omit-frame-pointer -mthumb -march=armv7-a+fp" } */
struct Plane {
using T = float;
T *Row();
};
using ImageF = Plane;
long long Mirror_x;
struct EnsurePaddingInPlaceRowByRow {
void Process() {
switch (strategy_) {
case kSlow:
float *row = img_.Row();
long long xsize = x1_;
while (Mirror_x >= xsize)
if (Mirror_x)
Mirror_x = 2 * xsize - 1;
*row = Mirror_x;
}
}
ImageF img_;
unsigned x1_;
enum { kSlow } strategy_;
};
void FinalizeImageRect() {
EnsurePaddingInPlaceRowByRow ensure_padding;
ensure_padding.Process();
}