Messages in this thread | ![/](/images/icornerl.gif) | | Date | Mon, 11 Dec 2023 10:12:27 -0600 | Subject | Re: [RFC PATCH 05/12] lib/raid6: Use CC_FLAGS_FPU for NEON CFLAGS | From | Samuel Holland <> |
| |
On 2023-12-11 10:07 AM, Christoph Hellwig wrote: >> +CFLAGS_REMOVE_neon1.o += $(CC_FLAGS_NO_FPU) >> +CFLAGS_REMOVE_neon2.o += $(CC_FLAGS_NO_FPU) >> +CFLAGS_REMOVE_neon4.o += $(CC_FLAGS_NO_FPU) >> +CFLAGS_REMOVE_neon8.o += $(CC_FLAGS_NO_FPU) > > Btw, do we even really need the extra variables for compiler flags > to remove? Don't gcc/clang options work so that if you add a > no-prefixed version of the option later it transparently gets removed?
Unfortunately, not all of the relevant options can be no-prefixed:
$ cat float.c int main(void) { volatile float f = 123.456; return f / 10; } $ aarch64-linux-musl-gcc float.c $ aarch64-linux-musl-gcc -mgeneral-regs-only float.c float.c: In function 'main': float.c:1:33: error: '-mgeneral-regs-only' is incompatible with the use of floating-point types 1 | int main(void) { volatile float f = 123.456; return f / 10; } | ^ float.c:1:55: error: '-mgeneral-regs-only' is incompatible with the use of floating-point types 1 | int main(void) { volatile float f = 123.456; return f / 10; } | ~~^~~~ float.c:1:55: error: '-mgeneral-regs-only' is incompatible with the use of floating-point types float.c:1:55: error: '-mgeneral-regs-only' is incompatible with the use of floating-point types float.c:1:55: error: '-mgeneral-regs-only' is incompatible with the use of floating-point types float.c:1:55: error: '-mgeneral-regs-only' is incompatible with the use of floating-point types float.c:1:55: error: '-mgeneral-regs-only' is incompatible with the use of floating-point types float.c:1:55: error: '-mgeneral-regs-only' is incompatible with the use of floating-point types float.c:1:55: error: '-mgeneral-regs-only' is incompatible with the use of floating-point types float.c:1:55: error: '-mgeneral-regs-only' is incompatible with the use of floating-point types $ aarch64-linux-musl-gcc -mgeneral-regs-only -mno-general-regs-only float.c aarch64-linux-musl-gcc: error: unrecognized command-line option '-mno-general-regs-only'; did you mean '-mgeneral-regs-only'? $
| ![\](/images/icornerr.gif) |