[all-commits] [llvm/llvm-project] ccc624: [RISCV][Clang] Add RVV Widening Integer Add/Subtra...
Zakk Chen via All-commits
all-commits at lists.llvm.org
Sun Apr 11 19:30:17 PDT 2021
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: ccc624bfd417c92b30581becf6974b42aba82a10
https://github.com/llvm/llvm-project/commit/ccc624bfd417c92b30581becf6974b42aba82a10
Author: Zakk Chen <zakk.chen at sifive.com>
Date: 2021-04-11 (Sun, 11 Apr 2021)
Changed paths:
M clang/include/clang/Basic/riscv_vector.td
A clang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vwadd.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vwsub.c
A clang/test/CodeGen/RISCV/rvv-intrinsics/vwadd.c
A clang/test/CodeGen/RISCV/rvv-intrinsics/vwsub.c
Log Message:
-----------
[RISCV][Clang] Add RVV Widening Integer Add/Subtract intrinsic functions.
Reviewed By: craig.topper
Authored-by: Roger Ferrer Ibanez <rofirrim at gmail.com>
Co-Authored-by: Zakk Chen <zakk.chen at sifive.com>
Differential Revision: https://reviews.llvm.org/D99526
Commit: 007ea0e736432ef1f6be7d88378012822d96767b
https://github.com/llvm/llvm-project/commit/007ea0e736432ef1f6be7d88378012822d96767b
Author: Zakk Chen <zakk.chen at sifive.com>
Date: 2021-04-11 (Sun, 11 Apr 2021)
Changed paths:
M clang/include/clang/Basic/riscv_vector.td
A clang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vfdiv.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vfmax.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vfmin.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vfmul.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vfrdiv.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vfrsub.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vfsgnj.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vfsub.c
A clang/test/CodeGen/RISCV/rvv-intrinsics/vfdiv.c
A clang/test/CodeGen/RISCV/rvv-intrinsics/vfmax.c
A clang/test/CodeGen/RISCV/rvv-intrinsics/vfmin.c
A clang/test/CodeGen/RISCV/rvv-intrinsics/vfmul.c
A clang/test/CodeGen/RISCV/rvv-intrinsics/vfrdiv.c
A clang/test/CodeGen/RISCV/rvv-intrinsics/vfrsub.c
A clang/test/CodeGen/RISCV/rvv-intrinsics/vfsgnj.c
A clang/test/CodeGen/RISCV/rvv-intrinsics/vfsub.c
Log Message:
-----------
[RISCV][Clang] Add some RVV Floating-Point intrinsic functions.
Support the following instructions which have the same class.
1. Vector Single-Width Floating-Point Subtract Instructions
2. Vector Single-Width Floating-Point Multiply/Divide Instructions
3. Vector Floating-Point MIN/MAX Instructions
4. Vector Floating-Point Sign-Injection Instructions
Reviewed By: craig.topper
Authored-by: Roger Ferrer Ibanez <rofirrim at gmail.com>
Co-Authored-by: Zakk Chen <zakk.chen at sifive.com>
Differential Revision: https://reviews.llvm.org/D99668
Commit: 98a3ff9d05250807867be3dd82fdb10ee5c4030a
https://github.com/llvm/llvm-project/commit/98a3ff9d05250807867be3dd82fdb10ee5c4030a
Author: Zakk Chen <zakk.chen at sifive.com>
Date: 2021-04-11 (Sun, 11 Apr 2021)
Changed paths:
M clang/include/clang/Basic/riscv_vector.td
A clang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vfmacc.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vfmadd.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vfmsac.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vfmsub.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vfnmacc.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vfnmadd.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vfnmsac.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vfnmsub.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vfwadd.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vfwmacc.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vfwmsac.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vfwmul.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vfwnmacc.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vfwnmsac.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vfwsub.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vmfeq.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vmfge.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vmfgt.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vmfle.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vmflt.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vmfne.c
A clang/test/CodeGen/RISCV/rvv-intrinsics/vfmacc.c
A clang/test/CodeGen/RISCV/rvv-intrinsics/vfmadd.c
A clang/test/CodeGen/RISCV/rvv-intrinsics/vfmsac.c
A clang/test/CodeGen/RISCV/rvv-intrinsics/vfmsub.c
A clang/test/CodeGen/RISCV/rvv-intrinsics/vfnmacc.c
A clang/test/CodeGen/RISCV/rvv-intrinsics/vfnmadd.c
A clang/test/CodeGen/RISCV/rvv-intrinsics/vfnmsac.c
A clang/test/CodeGen/RISCV/rvv-intrinsics/vfnmsub.c
A clang/test/CodeGen/RISCV/rvv-intrinsics/vfwadd.c
A clang/test/CodeGen/RISCV/rvv-intrinsics/vfwmacc.c
A clang/test/CodeGen/RISCV/rvv-intrinsics/vfwmsac.c
A clang/test/CodeGen/RISCV/rvv-intrinsics/vfwmul.c
A clang/test/CodeGen/RISCV/rvv-intrinsics/vfwnmacc.c
A clang/test/CodeGen/RISCV/rvv-intrinsics/vfwnmsac.c
A clang/test/CodeGen/RISCV/rvv-intrinsics/vfwsub.c
A clang/test/CodeGen/RISCV/rvv-intrinsics/vmfeq.c
A clang/test/CodeGen/RISCV/rvv-intrinsics/vmfge.c
A clang/test/CodeGen/RISCV/rvv-intrinsics/vmfgt.c
A clang/test/CodeGen/RISCV/rvv-intrinsics/vmfle.c
A clang/test/CodeGen/RISCV/rvv-intrinsics/vmflt.c
A clang/test/CodeGen/RISCV/rvv-intrinsics/vmfne.c
Log Message:
-----------
[RISCV][Clang] Add more RVV Floating-Point intrinsic functions.
Support below instructions.
1. Vector Widening Floating-Point Add/Subtract Instructions
2. Vector Widening Floating-Point Multiply
3. Vector Single-Width Floating-Point Fused Multiply-Add Instructions
4. Vector Widening Floating-Point Fused Multiply-Add Instructions
5. Vector Floating-Point Compare Instructions
Reviewed By: craig.topper, HsiangKai
Authored-by: Roger Ferrer Ibanez <rofirrim at gmail.com>
Co-Authored-by: Zakk Chen <zakk.chen at sifive.com>
Differential Revision: https://reviews.llvm.org/D99669
Commit: 5f7739b60e983dadc3c669b0ddf930d4d8242c4c
https://github.com/llvm/llvm-project/commit/5f7739b60e983dadc3c669b0ddf930d4d8242c4c
Author: Zakk Chen <zakk.chen at sifive.com>
Date: 2021-04-11 (Sun, 11 Apr 2021)
Changed paths:
M clang/include/clang/Basic/riscv_vector.td
A clang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vfclass.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vfmerge.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vfrec7.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vfrsqrt7.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vfsqrt.c
A clang/test/CodeGen/RISCV/rvv-intrinsics/vfclass.c
A clang/test/CodeGen/RISCV/rvv-intrinsics/vfmerge.c
A clang/test/CodeGen/RISCV/rvv-intrinsics/vfrec7.c
A clang/test/CodeGen/RISCV/rvv-intrinsics/vfrsqrt7.c
A clang/test/CodeGen/RISCV/rvv-intrinsics/vfsqrt.c
Log Message:
-----------
[RISCV][Clang] Add some RVV Floating-Point intrinsic functions.
Support vfclass, vfmerge, vfrec7, vfrsqrt7, vfsqrt instructions.
Reviewed By: craig.topper
Authored-by: Roger Ferrer Ibanez <rofirrim at gmail.com>
Co-Authored-by: Zakk Chen <zakk.chen at sifive.com>
Differential Revision: https://reviews.llvm.org/D99741
Commit: 01fa222b6d9febc5f5c654ce40137380b6e4c540
https://github.com/llvm/llvm-project/commit/01fa222b6d9febc5f5c654ce40137380b6e4c540
Author: Zakk Chen <zakk.chen at sifive.com>
Date: 2021-04-11 (Sun, 11 Apr 2021)
Changed paths:
M clang/include/clang/Basic/riscv_vector.td
A clang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vfcvt.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vfncvt.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vfwcvt.c
A clang/test/CodeGen/RISCV/rvv-intrinsics/vfcvt.c
A clang/test/CodeGen/RISCV/rvv-intrinsics/vfncvt.c
A clang/test/CodeGen/RISCV/rvv-intrinsics/vfwcvt.c
M clang/utils/TableGen/RISCVVEmitter.cpp
Log Message:
-----------
[RISCV][Clang] Add RVV Type-Convert intrinsic functions.
Fix extension macro condition.
Support below instructions:
1. Single-Width Floating-Point/Integer Type-Convert Instructions
2. Widening Floating-Point/Integer Type-Convert Instructions
3. Narrowing Floating-Point/Integer Type-Convert Instructions
Reviewed By: craig.topper
Differential Revision: https://reviews.llvm.org/D99742
Commit: 07c3854a75bcbb7521f27e1e775bc79f4d0340f7
https://github.com/llvm/llvm-project/commit/07c3854a75bcbb7521f27e1e775bc79f4d0340f7
Author: Zakk Chen <zakk.chen at sifive.com>
Date: 2021-04-11 (Sun, 11 Apr 2021)
Changed paths:
M clang/include/clang/Basic/riscv_vector.td
A clang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vmerge.c
A clang/test/CodeGen/RISCV/rvv-intrinsics/vmerge.c
Log Message:
-----------
[RISCV][Clang] Add RVV merge intrinsic functions.
Authored-by: Roger Ferrer Ibanez <rofirrim at gmail.com>
Co-Authored-by: Zakk Chen <zakk.chen at sifive.com>
Reviewed By: craig.topper
Differential Revision: https://reviews.llvm.org/D99963
Commit: c680b0dabf367046c9acb397cddc5e3a2194bbaa
https://github.com/llvm/llvm-project/commit/c680b0dabf367046c9acb397cddc5e3a2194bbaa
Author: Zakk Chen <zakk.chen at sifive.com>
Date: 2021-04-11 (Sun, 11 Apr 2021)
Changed paths:
M clang/include/clang/Basic/riscv_vector.td
A clang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vfredmax.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vfredmin.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vfredsum.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vfwredsum.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vredand.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vredmax.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vredmin.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vredor.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vredsum.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vredxor.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vwredsum.c
A clang/test/CodeGen/RISCV/rvv-intrinsics/vfredmax.c
A clang/test/CodeGen/RISCV/rvv-intrinsics/vfredmin.c
A clang/test/CodeGen/RISCV/rvv-intrinsics/vfredsum.c
A clang/test/CodeGen/RISCV/rvv-intrinsics/vfwredosum.c
A clang/test/CodeGen/RISCV/rvv-intrinsics/vfwredsum.c
A clang/test/CodeGen/RISCV/rvv-intrinsics/vredand.c
A clang/test/CodeGen/RISCV/rvv-intrinsics/vredmax.c
A clang/test/CodeGen/RISCV/rvv-intrinsics/vredmin.c
A clang/test/CodeGen/RISCV/rvv-intrinsics/vredor.c
A clang/test/CodeGen/RISCV/rvv-intrinsics/vredsum.c
A clang/test/CodeGen/RISCV/rvv-intrinsics/vredxor.c
A clang/test/CodeGen/RISCV/rvv-intrinsics/vwredsum.c
Log Message:
-----------
[RISCV][Clang] Add all RVV Reduction intrinsic functions.
Authored-by: Roger Ferrer Ibanez <rofirrim at gmail.com>
Co-Authored-by: Zakk Chen <zakk.chen at sifive.com>
Reviewed By: craig.topper
Differential Revision: https://reviews.llvm.org/D99964
Commit: e5a821926407713a3955409a74089de6ebf36493
https://github.com/llvm/llvm-project/commit/e5a821926407713a3955409a74089de6ebf36493
Author: Zakk Chen <zakk.chen at sifive.com>
Date: 2021-04-11 (Sun, 11 Apr 2021)
Changed paths:
M clang/include/clang/Basic/riscv_vector.td
A clang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vlse.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vse.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vsoxei.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vsse.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vsuxei.c
M clang/test/CodeGen/RISCV/rvv-intrinsics/vle.c
A clang/test/CodeGen/RISCV/rvv-intrinsics/vlse.c
M clang/test/CodeGen/RISCV/rvv-intrinsics/vse.c
A clang/test/CodeGen/RISCV/rvv-intrinsics/vsoxei.c
A clang/test/CodeGen/RISCV/rvv-intrinsics/vsse.c
A clang/test/CodeGen/RISCV/rvv-intrinsics/vsuxei.c
Log Message:
-----------
[RISCV][Clang] Add more RVV load/store intrinsic functions.
Support the following instructions.
1. Mask load and store
2. Vector Strided Instructions
3. Vector Indexed Store Instructions
Authored-by: Roger Ferrer Ibanez <rofirrim at gmail.com>
Co-Authored-by: Zakk Chen <zakk.chen at sifive.com>
Reviewed By: craig.topper
Differential Revision: https://reviews.llvm.org/D99965
Commit: a8fc0e445cad91a5c2f207e39ee9220253eb5578
https://github.com/llvm/llvm-project/commit/a8fc0e445cad91a5c2f207e39ee9220253eb5578
Author: Zakk Chen <zakk.chen at sifive.com>
Date: 2021-04-11 (Sun, 11 Apr 2021)
Changed paths:
M clang/include/clang/Basic/riscv_vector.td
A clang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vfirst.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vid.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/viota.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vmand.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vmnand.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vmnor.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vmor.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vmsbf.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vmsif.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vmsof.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vmxnor.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vmxor.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vpopc.c
A clang/test/CodeGen/RISCV/rvv-intrinsics/vfirst.c
A clang/test/CodeGen/RISCV/rvv-intrinsics/vid.c
A clang/test/CodeGen/RISCV/rvv-intrinsics/viota.c
A clang/test/CodeGen/RISCV/rvv-intrinsics/vmand.c
A clang/test/CodeGen/RISCV/rvv-intrinsics/vmclr.c
A clang/test/CodeGen/RISCV/rvv-intrinsics/vmnand.c
A clang/test/CodeGen/RISCV/rvv-intrinsics/vmnor.c
A clang/test/CodeGen/RISCV/rvv-intrinsics/vmor.c
A clang/test/CodeGen/RISCV/rvv-intrinsics/vmsbf.c
A clang/test/CodeGen/RISCV/rvv-intrinsics/vmset.c
A clang/test/CodeGen/RISCV/rvv-intrinsics/vmsif.c
A clang/test/CodeGen/RISCV/rvv-intrinsics/vmsof.c
A clang/test/CodeGen/RISCV/rvv-intrinsics/vmxnor.c
A clang/test/CodeGen/RISCV/rvv-intrinsics/vmxor.c
A clang/test/CodeGen/RISCV/rvv-intrinsics/vpopc.c
M clang/utils/TableGen/RISCVVEmitter.cpp
M llvm/include/llvm/IR/IntrinsicsRISCV.td
Log Message:
-----------
[RISCV][Clang] Add all RVV Mask intrinsic functions.
1. Redefine vpopc and vfirst IR intrinsic so it could adapt on
clang tablegen generator which always appends a type for vl
in IntrinsicType of clang codegen.
2. Remove `c` type transformer and add `u` and `l` for unsigned long
and long type.
Authored-by: Roger Ferrer Ibanez <rofirrim at gmail.com>
Co-Authored-by: Zakk Chen <zakk.chen at sifive.com>
Reviewed By: craig.topper
Differential Revision: https://reviews.llvm.org/D100120
Commit: 59d5b8c27b43021887dbf63e23800c340386080c
https://github.com/llvm/llvm-project/commit/59d5b8c27b43021887dbf63e23800c340386080c
Author: Zakk Chen <zakk.chen at sifive.com>
Date: 2021-04-11 (Sun, 11 Apr 2021)
Changed paths:
M clang/include/clang/Basic/riscv_vector.td
A clang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vfslide1down.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vfslide1up.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vrgather.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vslide1down.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vslide1up.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vslidedown.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vslideup.c
A clang/test/CodeGen/RISCV/rvv-intrinsics/vfslide1down.c
A clang/test/CodeGen/RISCV/rvv-intrinsics/vfslide1up.c
A clang/test/CodeGen/RISCV/rvv-intrinsics/vrgather.c
A clang/test/CodeGen/RISCV/rvv-intrinsics/vslide1down.c
A clang/test/CodeGen/RISCV/rvv-intrinsics/vslide1up.c
A clang/test/CodeGen/RISCV/rvv-intrinsics/vslidedown.c
A clang/test/CodeGen/RISCV/rvv-intrinsics/vslideup.c
Log Message:
-----------
[RISCV][Clang] Add some RVV Permutation intrinsic functions.
Support the following instructions.
1. Vector Slide Instructions
2. Vector Register Gather Instructions
3. Vector Compress Instruction
Authored-by: Roger Ferrer Ibanez <rofirrim at gmail.com>
Co-Authored-by: Zakk Chen <zakk.chen at sifive.com>
Reviewed By: craig.topper
Differential Revision: https://reviews.llvm.org/D100127
Compare: https://github.com/llvm/llvm-project/compare/a3bfddbb6a27...59d5b8c27b43
More information about the All-commits
mailing list