craig.topper created this revision. craig.topper added reviewers: 4vtomat, ego, kito-cheng, eopXD. Herald added subscribers: jobnoorman, luke, VincentWu, vkmr, frasercrmck, luismarques, apazos, sameer.abuasal, s.egerton, Jim, benna, psnobl, jocewei, PkmX, the_o, brucehoult, MartinMosbeck, rogfer01, edward-jones, zzheng, jrtc27, shiva0217, niosHD, sabuasal, simoncook, johnrusso, rbar, asb, hiraditya, arichardson. Herald added a project: All. craig.topper requested review of this revision. Herald added subscribers: cfe-commits, wangpc, MaskRay. Herald added projects: clang, LLVM.
These extensions don't contain any extensions on their own, they are just aliases groups of extensions. We should set the preprocessor define anytime all the subextensions are supported. Repository: rG LLVM Github Monorepo https://reviews.llvm.org/D154171 Files: clang/test/Preprocessor/riscv-target-features.c llvm/lib/Support/RISCVISAInfo.cpp Index: llvm/lib/Support/RISCVISAInfo.cpp =================================================================== --- llvm/lib/Support/RISCVISAInfo.cpp +++ llvm/lib/Support/RISCVISAInfo.cpp @@ -1095,6 +1095,12 @@ {{"zk"}, {ImpliedExtsZk}}, {{"zkn"}, {ImpliedExtsZkn}}, {{"zks"}, {ImpliedExtsZks}}, + {{"zvkn"}, {ImpliedExtsZvkn}}, + {{"zvknc"}, {ImpliedExtsZvknc}}, + {{"zvkng"}, {ImpliedExtsZvkng}}, + {{"zvks"}, {ImpliedExtsZvks}}, + {{"zvksc"}, {ImpliedExtsZvksc}}, + {{"zvksg"}, {ImpliedExtsZvksg}}, }; void RISCVISAInfo::updateCombination() { Index: clang/test/Preprocessor/riscv-target-features.c =================================================================== --- clang/test/Preprocessor/riscv-target-features.c +++ clang/test/Preprocessor/riscv-target-features.c @@ -719,3 +719,55 @@ // RUN: -march=rv64ifzvfbfwma0p6 -x c -E -dM %s \ // RUN: -o - | FileCheck --check-prefix=CHECK-ZVFBFWMA-EXT %s // CHECK-ZVFBFWMA-EXT: __riscv_zvfbfwma 6000{{$}} + +// RUN: %clang -target riscv32 -menable-experimental-extensions \ +// RUN: -march=rv32iv_zvbb1p0_zvkned1p0_zvknhb1p0_zvkt1p0 -x c -E -dM %s -o - \ +// RUN: | FileCheck --check-prefix=CHECK-COMBINE-INTO-ZVKN %s +// RUN: %clang -target riscv64 -menable-experimental-extensions \ +// RUN: -march=rv64iv_zvbb1p0_zvkned1p0_zvknhb1p0_zvkt1p0 -x c -E -dM %s -o - \ +// RUN: | FileCheck --check-prefix=CHECK-COMBINE-INTO-ZVKN %s +// CHECK-COMBINE-INTO-ZVKN: __riscv_zvkn 1000000{{$}} + +// RUN: %clang -target riscv32 -menable-experimental-extensions \ +// RUN: -march=rv32iv_zvbb1p0_zvbc1p0_zvkned1p0_zvknhb1p0_zvkt1p0 -x c -E -dM %s -o - \ +// RUN: | FileCheck --check-prefix=CHECK-COMBINE-INTO-ZVKNC %s +// RUN: %clang -target riscv64 -menable-experimental-extensions \ +// RUN: -march=rv64iv_zvbb1p0_zvbc1p0_zvkned1p0_zvknhb1p0_zvkt1p0 -x c -E -dM %s -o - \ +// RUN: | FileCheck --check-prefix=CHECK-COMBINE-INTO-ZVKNC %s +// CHECK-COMBINE-INTO-ZVKNC: __riscv_zvkn 1000000{{$}} +// CHECK-COMBINE-INTO-ZVKNC: __riscv_zvknc 1000000{{$}} + +// RUN: %clang -target riscv32 -menable-experimental-extensions \ +// RUN: -march=rv32iv_zvbb1p0_zvkg1p0_zvkned1p0_zvknhb1p0_zvkt1p0 -x c -E -dM %s -o - \ +// RUN: | FileCheck --check-prefix=CHECK-COMBINE-INTO-ZVKNG %s +// RUN: %clang -target riscv64 -menable-experimental-extensions \ +// RUN: -march=rv64iv_zvbb1p0_zvkg1p0_zvkned1p0_zvknhb1p0_zvkt1p0 -x c -E -dM %s -o - \ +// RUN: | FileCheck --check-prefix=CHECK-COMBINE-INTO-ZVKNG %s +// CHECK-COMBINE-INTO-ZVKNG: __riscv_zvkn 1000000{{$}} +// CHECK-COMBINE-INTO-ZVKNG: __riscv_zvkng 1000000{{$}} + +// RUN: %clang -target riscv32 -menable-experimental-extensions \ +// RUN: -march=rv32iv_zvbb1p0_zvksed1p0_zvksh1p0_zvkt1p0 -x c -E -dM %s -o - \ +// RUN: | FileCheck --check-prefix=CHECK-COMBINE-INTO-ZVKS %s +// RUN: %clang -target riscv64 -menable-experimental-extensions \ +// RUN: -march=rv64iv_zvbb1p0_zvksed1p0_zvksh1p0_zvkt1p0 -x c -E -dM %s -o - \ +// RUN: | FileCheck --check-prefix=CHECK-COMBINE-INTO-ZVKS %s +// CHECK-COMBINE-INTO-ZVKS: __riscv_zvks 1000000{{$}} + +// RUN: %clang -target riscv32 -menable-experimental-extensions \ +// RUN: -march=rv32iv_zvbb1p0_zvbc1p0_zvksed1p0_zvksh1p0_zvkt1p0 -x c -E -dM %s -o - \ +// RUN: | FileCheck --check-prefix=CHECK-COMBINE-INTO-ZVKSC %s +// RUN: %clang -target riscv64 -menable-experimental-extensions \ +// RUN: -march=rv64iv_zvbb1p0_zvbc1p0_zvksed1p0_zvksh1p0_zvkt1p0 -x c -E -dM %s -o - \ +// RUN: | FileCheck --check-prefix=CHECK-COMBINE-INTO-ZVKSC %s +// CHECK-COMBINE-INTO-ZVKSC: __riscv_zvks 1000000{{$}} +// CHECK-COMBINE-INTO-ZVKSC: __riscv_zvksc 1000000{{$}} + +// RUN: %clang -target riscv32 -menable-experimental-extensions \ +// RUN: -march=rv32iv_zvbb1p0_zvkg1p0_zvksed1p0_zvksh1p0_zvkt1p0 -x c -E -dM %s -o - \ +// RUN: | FileCheck --check-prefix=CHECK-COMBINE-INTO-ZVKSG %s +// RUN: %clang -target riscv64 -menable-experimental-extensions \ +// RUN: -march=rv64iv_zvbb1p0_zvkg1p0_zvksed1p0_zvksh1p0_zvkt1p0 -x c -E -dM %s -o - \ +// RUN: | FileCheck --check-prefix=CHECK-COMBINE-INTO-ZVKSG %s +// CHECK-COMBINE-INTO-ZVKSG: __riscv_zvks 1000000{{$}} +// CHECK-COMBINE-INTO-ZVKSG: __riscv_zvksg 1000000{{$}}
Index: llvm/lib/Support/RISCVISAInfo.cpp =================================================================== --- llvm/lib/Support/RISCVISAInfo.cpp +++ llvm/lib/Support/RISCVISAInfo.cpp @@ -1095,6 +1095,12 @@ {{"zk"}, {ImpliedExtsZk}}, {{"zkn"}, {ImpliedExtsZkn}}, {{"zks"}, {ImpliedExtsZks}}, + {{"zvkn"}, {ImpliedExtsZvkn}}, + {{"zvknc"}, {ImpliedExtsZvknc}}, + {{"zvkng"}, {ImpliedExtsZvkng}}, + {{"zvks"}, {ImpliedExtsZvks}}, + {{"zvksc"}, {ImpliedExtsZvksc}}, + {{"zvksg"}, {ImpliedExtsZvksg}}, }; void RISCVISAInfo::updateCombination() { Index: clang/test/Preprocessor/riscv-target-features.c =================================================================== --- clang/test/Preprocessor/riscv-target-features.c +++ clang/test/Preprocessor/riscv-target-features.c @@ -719,3 +719,55 @@ // RUN: -march=rv64ifzvfbfwma0p6 -x c -E -dM %s \ // RUN: -o - | FileCheck --check-prefix=CHECK-ZVFBFWMA-EXT %s // CHECK-ZVFBFWMA-EXT: __riscv_zvfbfwma 6000{{$}} + +// RUN: %clang -target riscv32 -menable-experimental-extensions \ +// RUN: -march=rv32iv_zvbb1p0_zvkned1p0_zvknhb1p0_zvkt1p0 -x c -E -dM %s -o - \ +// RUN: | FileCheck --check-prefix=CHECK-COMBINE-INTO-ZVKN %s +// RUN: %clang -target riscv64 -menable-experimental-extensions \ +// RUN: -march=rv64iv_zvbb1p0_zvkned1p0_zvknhb1p0_zvkt1p0 -x c -E -dM %s -o - \ +// RUN: | FileCheck --check-prefix=CHECK-COMBINE-INTO-ZVKN %s +// CHECK-COMBINE-INTO-ZVKN: __riscv_zvkn 1000000{{$}} + +// RUN: %clang -target riscv32 -menable-experimental-extensions \ +// RUN: -march=rv32iv_zvbb1p0_zvbc1p0_zvkned1p0_zvknhb1p0_zvkt1p0 -x c -E -dM %s -o - \ +// RUN: | FileCheck --check-prefix=CHECK-COMBINE-INTO-ZVKNC %s +// RUN: %clang -target riscv64 -menable-experimental-extensions \ +// RUN: -march=rv64iv_zvbb1p0_zvbc1p0_zvkned1p0_zvknhb1p0_zvkt1p0 -x c -E -dM %s -o - \ +// RUN: | FileCheck --check-prefix=CHECK-COMBINE-INTO-ZVKNC %s +// CHECK-COMBINE-INTO-ZVKNC: __riscv_zvkn 1000000{{$}} +// CHECK-COMBINE-INTO-ZVKNC: __riscv_zvknc 1000000{{$}} + +// RUN: %clang -target riscv32 -menable-experimental-extensions \ +// RUN: -march=rv32iv_zvbb1p0_zvkg1p0_zvkned1p0_zvknhb1p0_zvkt1p0 -x c -E -dM %s -o - \ +// RUN: | FileCheck --check-prefix=CHECK-COMBINE-INTO-ZVKNG %s +// RUN: %clang -target riscv64 -menable-experimental-extensions \ +// RUN: -march=rv64iv_zvbb1p0_zvkg1p0_zvkned1p0_zvknhb1p0_zvkt1p0 -x c -E -dM %s -o - \ +// RUN: | FileCheck --check-prefix=CHECK-COMBINE-INTO-ZVKNG %s +// CHECK-COMBINE-INTO-ZVKNG: __riscv_zvkn 1000000{{$}} +// CHECK-COMBINE-INTO-ZVKNG: __riscv_zvkng 1000000{{$}} + +// RUN: %clang -target riscv32 -menable-experimental-extensions \ +// RUN: -march=rv32iv_zvbb1p0_zvksed1p0_zvksh1p0_zvkt1p0 -x c -E -dM %s -o - \ +// RUN: | FileCheck --check-prefix=CHECK-COMBINE-INTO-ZVKS %s +// RUN: %clang -target riscv64 -menable-experimental-extensions \ +// RUN: -march=rv64iv_zvbb1p0_zvksed1p0_zvksh1p0_zvkt1p0 -x c -E -dM %s -o - \ +// RUN: | FileCheck --check-prefix=CHECK-COMBINE-INTO-ZVKS %s +// CHECK-COMBINE-INTO-ZVKS: __riscv_zvks 1000000{{$}} + +// RUN: %clang -target riscv32 -menable-experimental-extensions \ +// RUN: -march=rv32iv_zvbb1p0_zvbc1p0_zvksed1p0_zvksh1p0_zvkt1p0 -x c -E -dM %s -o - \ +// RUN: | FileCheck --check-prefix=CHECK-COMBINE-INTO-ZVKSC %s +// RUN: %clang -target riscv64 -menable-experimental-extensions \ +// RUN: -march=rv64iv_zvbb1p0_zvbc1p0_zvksed1p0_zvksh1p0_zvkt1p0 -x c -E -dM %s -o - \ +// RUN: | FileCheck --check-prefix=CHECK-COMBINE-INTO-ZVKSC %s +// CHECK-COMBINE-INTO-ZVKSC: __riscv_zvks 1000000{{$}} +// CHECK-COMBINE-INTO-ZVKSC: __riscv_zvksc 1000000{{$}} + +// RUN: %clang -target riscv32 -menable-experimental-extensions \ +// RUN: -march=rv32iv_zvbb1p0_zvkg1p0_zvksed1p0_zvksh1p0_zvkt1p0 -x c -E -dM %s -o - \ +// RUN: | FileCheck --check-prefix=CHECK-COMBINE-INTO-ZVKSG %s +// RUN: %clang -target riscv64 -menable-experimental-extensions \ +// RUN: -march=rv64iv_zvbb1p0_zvkg1p0_zvksed1p0_zvksh1p0_zvkt1p0 -x c -E -dM %s -o - \ +// RUN: | FileCheck --check-prefix=CHECK-COMBINE-INTO-ZVKSG %s +// CHECK-COMBINE-INTO-ZVKSG: __riscv_zvks 1000000{{$}} +// CHECK-COMBINE-INTO-ZVKSG: __riscv_zvksg 1000000{{$}}
_______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits