Committed to trunk, thanks Feng :)
On Sat, Sep 30, 2023 at 3:34 AM Jeff Law <jeffreya...@gmail.com> wrote: > > > > On 9/12/23 03:18, Feng Wang wrote: > > New patch add some comments and update docs for this new usage. > > --- > > Accoring to Kito's advice, using "MASK(name) Var(other_flag_name)" > > to generate MASK and TARGET MACRO automatically. > > This patch improve the MACRO generation of MASK_* and TARGET_*. > > Due to the more and more riscv extensions are added, the default target_flag > > is full. > > Before this patch,if you want to add new MACRO,you should define the > > MACRO in the riscv-opts.h manually. > > After this patch, you just need two steps: > > 1.Define the new TargetVariable. > > 2.Define "MASK(name) Var(new_target_flag). > > > > gcc/ChangeLog: > > > > * config/riscv/riscv-opts.h (MASK_ZICSR): > > (MASK_ZIFENCEI): Delete; > > (MASK_ZIHINTNTL): Ditto; > > (MASK_ZIHINTPAUSE): Ditto; > > (TARGET_ZICSR): Ditto; > > (TARGET_ZIFENCEI): Ditto; > > (TARGET_ZIHINTNTL): Ditto; > > (TARGET_ZIHINTPAUSE):Ditto; > > (MASK_ZAWRS): Ditto; > > (TARGET_ZAWRS): Ditto; > > (MASK_ZBA): Ditto; > > (MASK_ZBB): Ditto; > > (MASK_ZBC): Ditto; > > (MASK_ZBS): Ditto; > > (TARGET_ZBA): Ditto; > > (TARGET_ZBB): Ditto; > > (TARGET_ZBC): Ditto; > > (TARGET_ZBS): Ditto; > > (MASK_ZFINX): Ditto; > > (MASK_ZDINX): Ditto; > > (MASK_ZHINX): Ditto; > > (MASK_ZHINXMIN): Ditto; > > (TARGET_ZFINX): Ditto; > > (TARGET_ZDINX): Ditto; > > (TARGET_ZHINX): Ditto; > > (TARGET_ZHINXMIN): Ditto; > > (MASK_ZBKB): Ditto; > > (MASK_ZBKC): Ditto; > > (MASK_ZBKX): Ditto; > > (MASK_ZKNE): Ditto; > > (MASK_ZKND): Ditto; > > (MASK_ZKNH): Ditto; > > (MASK_ZKR): Ditto; > > (MASK_ZKSED): Ditto; > > (MASK_ZKSH): Ditto; > > (MASK_ZKT): Ditto; > > (TARGET_ZBKB): Ditto; > > (TARGET_ZBKC): Ditto; > > (TARGET_ZBKX): Ditto; > > (TARGET_ZKNE): Ditto; > > (TARGET_ZKND): Ditto; > > (TARGET_ZKNH): Ditto; > > (TARGET_ZKR): Ditto; > > (TARGET_ZKSED): Ditto; > > (TARGET_ZKSH): Ditto; > > (TARGET_ZKT): Ditto; > > (MASK_ZTSO): Ditto; > > (TARGET_ZTSO): Ditto; > > (MASK_VECTOR_ELEN_32): Ditto; > > (MASK_VECTOR_ELEN_64): Ditto; > > (MASK_VECTOR_ELEN_FP_32):Ditto; > > (MASK_VECTOR_ELEN_FP_64):Ditto; > > (MASK_VECTOR_ELEN_FP_16):Ditto; > > (TARGET_VECTOR_ELEN_32): Ditto; > > (TARGET_VECTOR_ELEN_64): Ditto; > > (TARGET_VECTOR_ELEN_FP_32):Ditto; > > (TARGET_VECTOR_ELEN_FP_64):Ditto; > > (TARGET_VECTOR_ELEN_FP_16):Ditto; > > (MASK_ZVBB): Ditto; > > (MASK_ZVBC): Ditto; > > (TARGET_ZVBB): Ditto; > > (TARGET_ZVBC): Ditto; > > (MASK_ZVKG): Ditto; > > (MASK_ZVKNED): Ditto; > > (MASK_ZVKNHA): Ditto; > > (MASK_ZVKNHB): Ditto; > > (MASK_ZVKSED): Ditto; > > (MASK_ZVKSH): Ditto; > > (MASK_ZVKN): Ditto; > > (MASK_ZVKNC): Ditto; > > (MASK_ZVKNG): Ditto; > > (MASK_ZVKS): Ditto; > > (MASK_ZVKSC): Ditto; > > (MASK_ZVKSG): Ditto; > > (MASK_ZVKT): Ditto; > > (TARGET_ZVKG): Ditto; > > (TARGET_ZVKNED): Ditto; > > (TARGET_ZVKNHA): Ditto; > > (TARGET_ZVKNHB): Ditto; > > (TARGET_ZVKSED): Ditto; > > (TARGET_ZVKSH): Ditto; > > (TARGET_ZVKN): Ditto; > > (TARGET_ZVKNC): Ditto; > > (TARGET_ZVKNG): Ditto; > > (TARGET_ZVKS): Ditto; > > (TARGET_ZVKSC): Ditto; > > (TARGET_ZVKSG): Ditto; > > (TARGET_ZVKT): Ditto; > > (MASK_ZVL32B): Ditto; > > (MASK_ZVL64B): Ditto; > > (MASK_ZVL128B): Ditto; > > (MASK_ZVL256B): Ditto; > > (MASK_ZVL512B): Ditto; > > (MASK_ZVL1024B): Ditto; > > (MASK_ZVL2048B): Ditto; > > (MASK_ZVL4096B): Ditto; > > (MASK_ZVL8192B): Ditto; > > (MASK_ZVL16384B): Ditto; > > (MASK_ZVL32768B): Ditto; > > (MASK_ZVL65536B): Ditto; > > (TARGET_ZVL32B): Ditto; > > (TARGET_ZVL64B): Ditto; > > (TARGET_ZVL128B): Ditto; > > (TARGET_ZVL256B): Ditto; > > (TARGET_ZVL512B): Ditto; > > (TARGET_ZVL1024B): Ditto; > > (TARGET_ZVL2048B): Ditto; > > (TARGET_ZVL4096B): Ditto; > > (TARGET_ZVL8192B): Ditto; > > (TARGET_ZVL16384B): Ditto; > > (TARGET_ZVL32768B): Ditto; > > (TARGET_ZVL65536B): Ditto; > > (MASK_ZICBOZ): Ditto; > > (MASK_ZICBOM): Ditto; > > (MASK_ZICBOP): Ditto; > > (TARGET_ZICBOZ): Ditto; > > (TARGET_ZICBOM): Ditto; > > (TARGET_ZICBOP): Ditto; > > (MASK_ZICOND): Ditto; > > (TARGET_ZICOND): Ditto; > > (MASK_ZFA): Ditto; > > (TARGET_ZFA): Ditto; > > (MASK_ZFHMIN): Ditto; > > (MASK_ZFH): Ditto; > > (MASK_ZVFHMIN): Ditto; > > (MASK_ZVFH): Ditto; > > (TARGET_ZFHMIN): Ditto; > > (TARGET_ZFH): Ditto; > > (TARGET_ZVFHMIN): Ditto; > > (TARGET_ZVFH): Ditto; > > (MASK_ZMMUL): Ditto; > > (TARGET_ZMMUL): Ditto; > > (MASK_ZCA): Ditto; > > (MASK_ZCB): Ditto; > > (MASK_ZCE): Ditto; > > (MASK_ZCF): Ditto; > > (MASK_ZCD): Ditto; > > (MASK_ZCMP): Ditto; > > (MASK_ZCMT): Ditto; > > (TARGET_ZCA): Ditto; > > (TARGET_ZCB): Ditto; > > (TARGET_ZCE): Ditto; > > (TARGET_ZCF): Ditto; > > (TARGET_ZCD): Ditto; > > (TARGET_ZCMP): Ditto; > > (TARGET_ZCMT): Ditto; > > (MASK_SVINVAL): Ditto; > > (MASK_SVNAPOT): Ditto; > > (TARGET_SVINVAL): Ditto; > > (TARGET_SVNAPOT): Ditto; > > (MASK_XTHEADBA): Ditto; > > (MASK_XTHEADBB): Ditto; > > (MASK_XTHEADBS): Ditto; > > (MASK_XTHEADCMO): Ditto; > > (MASK_XTHEADCONDMOV): Ditto; > > (MASK_XTHEADFMEMIDX): Ditto; > > (MASK_XTHEADFMV): Ditto; > > (MASK_XTHEADINT): Ditto; > > (MASK_XTHEADMAC): Ditto; > > (MASK_XTHEADMEMIDX): Ditto; > > (MASK_XTHEADMEMPAIR): Ditto; > > (MASK_XTHEADSYNC): Ditto; > > (TARGET_XTHEADBA): Ditto; > > (TARGET_XTHEADBB): Ditto; > > (TARGET_XTHEADBS): Ditto; > > (TARGET_XTHEADCMO): Ditto; > > (TARGET_XTHEADCONDMOV):Ditto; > > (TARGET_XTHEADFMEMIDX):Ditto; > > (TARGET_XTHEADFMV): Ditto; > > (TARGET_XTHEADINT): Ditto; > > (TARGET_XTHEADMAC): Ditto; > > (TARGET_XTHEADMEMIDX): Ditto; > > (TARGET_XTHEADMEMPAIR):Ditto; > > (TARGET_XTHEADSYNC): Ditto; > > (MASK_XVENTANACONDOPS):Ditto; > > (TARGET_XVENTANACONDOPS):Ditto; > > * config/riscv/riscv.opt: Add new Mask defination. > > * doc/options.texi: Add explanation for this new usage. > > * opt-functions.awk: Add new function to find the index > > of target variable from > > extra_target_vars. > > * opt-read.awk: Add new function to store the Mask flags. > > * opth-gen.awk: Add new function to output the > > defination of > > Mask Macro and Target Macro. > OK > jeff