Issue |
64244
|
Summary |
[regression] extra option -ffast-math bring in inefficient assembly output
|
Labels |
|
Assignees |
|
Reporter |
vfdff
|
test (simplified from #62820): https://gcc.godbolt.org/z/jv4Kzj9rY
```
double **vatom;
void ev_tally(int i, int j, int nlocal, int newton_pair,
double evdwl, double ecoul, double fpair,
double delx, double dely, double delz)
{
double evdwlhalf,ecoulhalf,epairhalf,v[6];
v[0] = delx*delx*fpair;
v[1] = dely*dely*fpair;
v[2] = delz*delz*fpair;
v[3] = delx*dely*fpair;
v[4] = delx*delz*fpair;
v[5] = dely*delz*fpair;
vatom[i][0] += 0.5*v[0];
vatom[i][1] += 0.5*v[1];
vatom[i][2] += 0.5*v[2];
vatom[i][3] += 0.5*v[3];
vatom[i][4] += 0.5*v[4];
vatom[i][5] += 0.5*v[5];
}
```
Now, the clang enable `-ffp-contract=on` default, and it have efficient assembly output.
Then, I try with extra option `-ffast-math`, it has some regression.
_______________________________________________
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs