xbolva00 added inline comments.
================ Comment at: clang/lib/CodeGen/CodeGenFunction.cpp:496 // function. - CurFn->addFnAttr("min-legal-vector-width", llvm::utostr(LargestVectorWidth)); + if (LargestVectorWidth) + CurFn->addFnAttr("min-legal-vector-width", llvm::utostr(LargestVectorWidth)); ---------------- wxiao3 wrote: > lebedev.ri wrote: > > wxiao3 wrote: > > > For x86 backend, "LargestVectorWidth" default value is not zero but > > > UINT32_MAX. > > > Please refer to: > > > https://github.com/llvm/llvm-project/blob/main/llvm/lib/Target/X86/X86TargetMachine.cpp#L271 > > > Suggest revert this patch since it changes the code generated for x86. > > Reproducer please? > ``` > $ cat test.c > void foo(float* in, float* __restrict out, int n) > { > int i; > for (i = 0; i < n; i++) { > out[i] = i + 2*in[i]; > } > } > ``` > > Before this patch > > ``` > $ clang -Ofast -march=skylake-avx512 -mllvm -force-vector-width=16 > -mprefer-vector-width=256 -S -o - test.c | grep ymm | wc > 57 333 2687 > ``` > > After this patch > > ``` > $ clang -Ofast -march=skylake-avx512 -mllvm -force-vector-width=16 > -mprefer-vector-width=256 -S -o - test.c | grep ymm | wc > 0 0 0 > ``` > > > Hello, reverted. https://reviews.llvm.org/rG2cb8c10342ee5d040725abb1166feb92a64c7df6 It would be good to somehow make a test to not regress in the future, but not sure how, as we have no "C -> X86 asm" tests? Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D97116/new/ https://reviews.llvm.org/D97116 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits