[PATCH] rs6000: -flto forgets 'no-vsx' function attributes (PR target/70010)
Segher Boessenkool
segher@kernel.crashing.org
Tue Oct 15 10:00:00 GMT 2019
Hi!
On Tue, Oct 15, 2019 at 05:15:07PM +0800, Jiufu Guo wrote:
> And another issue: Behavior is still inconsistent between "-mno-vsx
> -flto" and "-mno-vsx" for user code. Previous patch makes it consistent
> between "-mvsx -flto" and "-mvsx".
> $GCC_BUILD/gcc/xgcc -B$GCC_BUILD/gcc novsx.c -O2 -mno-vsx
> /home/guojiufu/temp/novsx.c: In function 'main':
> /home/guojiufu/temp/novsx.c:6:1: error: inlining failed in call to 'always_inline' 'foo': target specific option mismatch
So what should we do about this? There are arguments for *both*
behaviours, and apparently with LTO we do not know which flags are
explicit?
> + /* Propogate global flags to caller. */
> + HOST_WIDE_INT caller_isa = rs6000_isa_flags;
I don't think that is right, or, I don't see why, anyway?
> +
> + if (((caller_isa & callee_isa) == callee_isa)
> + && (caller_isa & explicit_isa) == (callee_isa & explicit_isa))
> + ret = true;
> + }
Segher
More information about the Gcc-patches
mailing list