/* { dg-do compile } */ /* { dg-require-effective-target ilp32 } */ /* { dg-options "-O1 -mvis3" } */ float fnegs (float a) { return -a; } double fnegd (double a) { return -a; } float fmuls (float a, float b) { return a * b; } double fmuld (double a, double b) { return a * b; } double fsmuld (float a, float b) { return (double)a * (double)b; } double fnsmuld (float a, float b) { return -((double)a * (double)b); } /* { dg-final { scan-assembler-times "movwtos\t%" 13 } } */ /* { dg-final { scan-assembler "fnegs\t%" } } */ /* { dg-final { scan-assembler "fnegd\t%" } } */ /* { dg-final { scan-assembler "fmuls\t%" } } */ /* { dg-final { scan-assembler "fmuld\t%" } } */ /* { dg-final { scan-assembler "fsmuld\t%" } } */ /* { dg-final { scan-assembler "fnsmuld\t%" } } */