| /* { 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 }} */ |