https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105034
--- Comment #5 from Roger Sayle ---
The latest CSiBE results on x86_64-pc-linux-gnu: With -Os the total size is
3696263, and with -Os -mno-stv the total size is 3966887, i.e. 624 bytes
larger. The worst regression from -mno-stv is
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105034
--- Comment #4 from Richard Biener ---
Example that we don't transform but could:
typedef int v4si __attribute__((vector_size(16)));
#define min(a,b) ((a)<(b)?(a):(b))
v4si foo (v4si a, v4si b)
{
a[0] = min (a[0], b[0]);
return a;
}
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105034
Roger Sayle changed:
What|Removed |Added
CC||roger at nextmovesoftware dot
com
---
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105034
--- Comment #2 from Hongyu Wang ---
For -O2 stv doesn't do such transform
Computing gain for chain #1...
Instruction gain 8 for 7: {r84:SI=smax(r85:SI,0);clobber flags:CC;}
REG_DEAD r85:SI
REG_UNUSED flags:CC
Instruction
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105034
Richard Biener changed:
What|Removed |Added
Last reconfirmed||2022-03-23