/* { dg-do compile } */ /* { dg-require-effective-target arm_vfp_ok } /* { dg-add-options arm_vfp } */ int test_sisf (float x) { return (int)x; } short test_hisf (float x) { return (short)x; } float test_sfsi (int x) { return (float)x; } float test_sfhi (short x) { return (float)x; } short test_hisi (int x) { return (short)x; } int test_sihi (short x) { return (int)x; } /* {dg-final { scan-assembler-times {vcvt\.s32\.f32\ts[0-9]+,s[0-9]+} 2 }} */ /* {dg-final { scan-assembler-times {vcvt\.f32\.s32\ts[0-9]+,s[0-9]+} 2 }} */ /* {dg-final { scan-assembler-times {vmov\tr[0-9]+,s[0-9]+} 2 }} */ /* {dg-final { scan-assembler-times {vmov\ts[0-9]+,r[0-9]+} 2 }} */ /* {dg-final { scan-assembler-times {sxth\tr[0-9]+,r[0-9]+} 2 }} */