-fno-alias unused during compilation

-fno-alias unused during compilation

by Stephan Geisler -
Number of replies: 4

Hi,

when I compile my code using the icx compiler I get the following warning:
clang: warning: argument unused during compilation: '-fno-alias' [-Wunused-command-line-argument]
When I use the icc compiler I don't get this warning. I get the same warning when I use the compiler flag, -qopt-zmm-usage=high, but again only with icx. From the assembler code I can see that zmm registers are used. So can I assume that fno-alias is also active? Why do I get these warnings and can I ignore them?

In reply to Stephan Geisler

Re: -fno-alias unused during compilation

by Georg Hager -

Hi Stephan,

I cannot reproduce this issue on my end. Which compiler module are you using? Maybe you could post the sequence of commands (after logging in to fritz) the eventually leads to the error message.

Thanks,

Georg.

In reply to Georg Hager

Re: -fno-alias unused during compilation

by Stephan Geisler -
I run the following commands:
module load intel (the loaded version is intel/2021.4.0)
cd to the exercise directory
make
This are is the output in the shell when I run make:
icx -c -O3 -xHost -fno-alias src/kernel_bench_a.c
icx -c -O3 -xHost -fno-alias src/timing.c
icx -O3 -xHost -fno-alias kernel_bench_a.o timing.o -o kernel_bench_a
clang: warning: argument unused during compilation: '-fno-alias' [-Wunused-command-line-argument]
icx -c -O3 -xHost -fno-alias src/kernel_bench_b.c
icx -O3 -xHost -fno-alias kernel_bench_b.o timing.o -o kernel_bench_b
clang: warning: argument unused during compilation: '-fno-alias' [-Wunused-command-line-argument]
icx -c -O3 -xHost -fno-alias src/kernel_bench_c.c -o kernel_bench_c_icx.o
icx -O3 -xHost -fno-alias kernel_bench_c_icx.o timing.o -o kernel_bench_c_icx
clang: warning: argument unused during compilation: '-fno-alias' [-Wunused-command-line-argument]
icc -c -O3 -xHost -fno-alias src/kernel_bench_c.c -o kernel_bench_c_icc.o
icc -O3 -xHost -fno-alias kernel_bench_c_icc.o timing.o -o kernel_bench_c_icc
In reply to Stephan Geisler

Re: -fno-alias unused during compilation

by Georg Hager -

OK, thanks. Now I know what's happening, and it's actually a known problem. The warnings are emitted by the linker, which does not need these options and could silently ignore them (and the icc compiler, when calling the linker, does exactly that). However, in case of the new clang-based Intel compiler infrastructure, this is not done. The linker sees these optimization options and does not know what to make of them. We expect that this will be fixed with some future update because it's a nuisance. Till then you have to either live with the warnings or separate the linker options from the compiler options in your makefile.