blob: 6980cb61a93c6b93d78775b57bb5a85e603c7c14 [file] [log] [blame]
/* Test vbslq_f64 can be folded. */
/* { dg-do assemble } */
/* { dg-options "--save-temps -O3" } */
#include <arm_neon.h>
/* Should fold out one half of the BSL, leaving just a BIC. */
float32x4_t
half_fold_me (uint32x4_t mask)
{
float32x4_t a = {0.0, 0.0, 0.0, 0.0};
float32x4_t b = {2.0, 4.0, 8.0, 16.0};
return vbslq_f32 (mask, a, b);
}
/* { dg-final { scan-assembler-not "bsl\\tv" } } */
/* { dg-final { scan-assembler-not "bit\\tv" } } */
/* { dg-final { scan-assembler-not "bif\\tv" } } */
/* { dg-final { scan-assembler "bic\\tv" } } */