diff --git a/clang/lib/Driver/ToolChains/Clang.cpp b/clang/lib/Driver/ToolChains/Clang.cpp --- a/clang/lib/Driver/ToolChains/Clang.cpp +++ b/clang/lib/Driver/ToolChains/Clang.cpp @@ -1721,9 +1721,16 @@ StringRef Val = A->getValue(); const Driver &D = getToolChain().getDriver(); if (Val.equals("128") || Val.equals("256") || Val.equals("512") || - Val.equals("1024") || Val.equals("2048")) + Val.equals("1024") || Val.equals("2048")) { CmdArgs.push_back( Args.MakeArgString(llvm::Twine("-msve-vector-bits=") + Val)); + CmdArgs.push_back("-mllvm"); + CmdArgs.push_back( + Args.MakeArgString("-aarch64-sve-vector-bits-min=" + Val)); + // CmdArgs.push_back("-mllvm"); + // CmdArgs.push_back( + // Args.MakeArgString("-aarch64-sve-vector-bits-max=" + Val)); + } // Silently drop requests for vector-length agnostic code as it's implied. else if (!Val.equals("scalable")) // Handle the unsupported values passed to msve-vector-bits.