Hi,
> Works fine for me. gcc.dg/tree-ssa/loop-6.c is unswitched with -O3
> but not with -O3 -fno-unswitch-loops.
This one works for me too.
Could you try to compile "deflate.c" from libz?
Here are my results:
-m68060 -O3 -fno-unswitch-loops
- 12,9kb
-m68060 -O3
- 12,9kb
-m68060 -O2 -finline-functions -fgcse-after-reload -ftree-vectorize
-fpredictive-commoning - 12,4kb
but it's a lot more visible with "libavcodec/dsputil.c" from FFmpeg package:
OPTFLAGS= -mnobitfield -m68060 -std=c99 -Wdeclaration-after-statement
-Wdisabled-optimization -fno-math-errno -D_ISOC99_SOURCE
-D_POSIX_C_SOURCE=200112 -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -fno-common
-fomit-frame-pointer -Wall -Wno-switch -Wpointer-arith -Wredundant-decls
-Wcast-qual -Wwrite-strings -Wundef -O2 -finline-functions -fgcse-after-reload
-ftree-vectorize -fpredictive-commoning:
306kb
OPTFLAGS= -mnobitfield -m68060 -std=c99 -Wdeclaration-after-statement
-Wdisabled-optimization -fno-math-errno -D_ISOC99_SOURCE
-D_POSIX_C_SOURCE=200112 -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -fno-common
-fomit-frame-pointer -Wall -Wno-switch -Wpointer-arith -Wredundant-decls
-Wcast-qual -Wwrite-strings -Wundef -O3 -fno-unswitch-loops:
1,18mb
OPTFLAGS= -mnobitfield -m68060 -std=c99 -Wdeclaration-after-statement
-Wdisabled-optimization -fno-math-errno -D_ISOC99_SOURCE
-D_POSIX_C_SOURCE=200112 -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -fno-common
-fomit-frame-pointer -Wall -Wno-switch -Wpointer-arith -Wredundant-decls
-Wcast-qual -Wwrite-strings -Wundef -O3
1,18mb
Regards