diff --git a/src/panfrost/compiler/bifrost/bi_lower_swizzle.c b/src/panfrost/compiler/bifrost/bi_lower_swizzle.c index 42a7d5f917f..f99a645104a 100644 --- a/src/panfrost/compiler/bifrost/bi_lower_swizzle.c +++ b/src/panfrost/compiler/bifrost/bi_lower_swizzle.c @@ -148,15 +148,11 @@ lower_swizzle(bi_context *ctx, bi_instr *ins, unsigned src) /* Lower it away */ bi_builder b = bi_init_builder(ctx, bi_before_instr(ins)); - bool is_8 = (bi_get_opcode_props(ins)->size == BI_SIZE_8) || - (bi_get_opcode_props(ins)->size == BI_SIZE_32 && - ins->src[src].swizzle >= BI_SWIZZLE_B0000); - bi_index orig = ins->src[src]; bi_index stripped = bi_replace_index(bi_null(), orig); stripped.swizzle = ins->src[src].swizzle; - bi_index swz = is_8 ? bi_swz_v4i8(&b, stripped) : bi_swz_v2i16(&b, stripped); + bi_index swz = bi_swz_v4i8(&b, stripped); bi_replace_src(ins, src, swz); ins->src[src].swizzle = BI_SWIZZLE_H01; diff --git a/src/panfrost/compiler/bifrost/test/test-lower-swizzle.cpp b/src/panfrost/compiler/bifrost/test/test-lower-swizzle.cpp index 6e35763a9d3..b48a30ff120 100644 --- a/src/panfrost/compiler/bifrost/test/test-lower-swizzle.cpp +++ b/src/panfrost/compiler/bifrost/test/test-lower-swizzle.cpp @@ -43,7 +43,7 @@ class LowerSwizzle : public testing::Test { TEST_F(LowerSwizzle, Csel16) { CASE(bi_csel_v2f16_to(b, reg, bi_half(x, 0), y, z, w, BI_CMPF_NE), - bi_csel_v2f16_to(b, reg, bi_swz_v2i16(b, bi_half(x, 0)), y, z, w, + bi_csel_v2f16_to(b, reg, bi_swz_v4i8(b, bi_half(x, 0)), y, z, w, BI_CMPF_NE)); }