On Mon, Aug 14, 2023 at 01:22:32PM +0800, Xi Ruoyao wrote: > On Mon, 2023-08-14 at 11:57 +0800, Yang Yujie wrote: > > The configure script and the GCC driver are updated so that > > it is easier to customize and control GCC builds for targeting > > different LoongArch implementations. > > > > * Support options for LoongArch SIMD extensions: > > new configure options --with-simd={none,lsx,lasx}; > > new driver options -m[no]-l[a]sx / -msimd={none,lsx,lasx}. > > What's the relationship between -mlasx and -msimd=lasx? What will > happen if the user specifies -mlasx -msimd=none or -mlasx -msimd=lsx? > > -- > Xi Ruoyao <xry...@xry111.site> > School of Aerospace Science and Technology, Xidian University
At this moment we make sure all "flags" (that expresses a config "delta") are processed after the "parameters", which is documented in the LoongArch Toolchain Conventions[1]. So if -msimd=* and -m[no-]l[a]sx appear together on the driver command line, the final configuration would be derived by first applying -msimd=* and then the sequence of -m[no-]l[a]sx, in the order they appear. This is similar to the relationship between -msoft-float and -mfpu / -mabi, where -mfpu / -mabi are applied first, and -msoft-float modifies the existing target configuration states (FPU, ABI). [1] currently released at https://github.com/loongson/LoongArch-Documentation /blob/main/docs/LoongArch-toolchain-conventions-EN.adoc