1  /* { dg-do run { target { riscv_vector } } } */
       2  /* { dg-options "-O2" } */
       3  
       4  #include "riscv_vector.h"
       5  #include <stdio.h>
       6  
       7  int main()
       8  {
       9    float a = 1.0;
      10    float b[1] = {3.0};
      11    float c[1] = {10.0};
      12    float d[1] = {0.0};
      13    vfloat32m1_t vb = __riscv_vle32_v_f32m1 (b, 1);
      14    vfloat32m1_t vc = __riscv_vle32_v_f32m1 (c, 1);
      15    vfloat32m1_t vd = __riscv_vfmsub_vf_f32m1 (vb, a, vc, 1);
      16    __riscv_vse32_v_f32m1 (d, vd, 1);
      17    if (d[0] != -7.0){
      18        printf("d[0] should be -7.0, but got %f\n", d[0]);
      19        __builtin_abort ();
      20    }
      21    return 0;
      22  }