Quoting Matt Turner (2017-11-17 12:46:03) > On Fri, Nov 17, 2017 at 12:34 PM, Dylan Baker <dy...@pnwbakers.com> wrote: > > Quoting Emil Velikov (2017-11-17 03:11:50) > >> On 16 November 2017 at 22:21, Dylan Baker <dy...@pnwbakers.com> wrote: > >> > Quoting Emil Velikov (2017-11-16 03:35:17) > >> >> Hi Dylan, > >> >> > >> >> On 16 November 2017 at 01:10, Dylan Baker <dy...@pnwbakers.com> wrote: > >> >> > This patch checks for an and then enables sse4.1 optimizations if the > >> >> > host machine will be x86/x86_64. > >> >> > > >> >> Hell yeah, SSE is coming to town :-) > >> >> > >> >> Will this work if the user disables SSE4.1, say via CFLAGS=-mno-sse4.1 > >> >> meson ...? > >> >> My meson is still bit rough, so I could not quite grok ^^ by reading > >> >> through the patch. > >> >> > >> >> Thanks > >> >> Emil > >> > > >> > It'll explode horribly. Id didn't see any special handling of that in > >> > autotools > >> > build though either, did I miss something? > >> > > >> In autotools it's handled before the normal ld invocation. > >> > >> Namely: configure.ac does: > >> - construct a program using sse4.1 intrinsicts > >> Note: return _mm_...() is required otherwise the whole program will be > >> optimised away > >> - the -msse is passed first and then the user flags (-mno-sse and/or > >> anything else) > >> - the user -mno-sse takes precedence, hence the test program fails to > >> build > >> - set see_supported=false and don't build the SSE optimised static library > >> > >> HTH > >> Emil > > > > That's an interesting question. So arguments passed via CFLAGS and friends > > will > > be passed to tests, but the arguments passed explicitly to those tests are > > appended, so -msse4.1 will take precedence. I'm also pretty sure there > > isn't a > > way to check the arguments passed via -Dc_args or CFLAGS (they're treated as > > default arguments, like the c_std in the project() argument). I asked on > > #mesonbuild, but I haven't gotten an answer yet (Fridays are pretty slow > > everywhere). > > > > I think currently the only way to control this would be to have a meson > > option > > to turn off optimizations, and I really don't like that. > > The original bug report of "Mesa doesn't build with -mno-sse4.1" was > in Gentoo's bugzilla; https://bugs.gentoo.org/503828 > > There's no compelling reason to support that configuration because > since the -msseX flags are off by default... in order for the > -mno-sseX flag to do anything the user must be enabling them somehow > (likely via -march=...). Using -march=... only to disable particular > instruction sets seems pretty idiotic. > > I can push back harder on such stupidity in the future if we can't > handle this case, but it would be nice to solve so I never have to > hear about it again.
Hmmm, yeah. I'd also like to be able to provide an error in that case too, because I agree it's pretty idiotic. I'll bring it up in the meson bug tracker.
signature.asc
Description: signature
_______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev