Details | Last modification | View Log | RSS feed
| Rev | Author | Line No. | Line |
|---|---|---|---|
| 14 | pmbaty | 1 | //==- BuiltinsRISCV.def - RISC-V Builtin function database -------*- C++ -*-==// |
| 2 | // |
||
| 3 | // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. |
||
| 4 | // See https://llvm.org/LICENSE.txt for license information. |
||
| 5 | // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception |
||
| 6 | // |
||
| 7 | //===----------------------------------------------------------------------===// |
||
| 8 | // |
||
| 9 | // This file defines the RISC-V-specific builtin function database. Users of |
||
| 10 | // this file must define the BUILTIN macro to make use of this information. |
||
| 11 | // |
||
| 12 | //===----------------------------------------------------------------------===// |
||
| 13 | |||
| 14 | #if defined(BUILTIN) && !defined(TARGET_BUILTIN) |
||
| 15 | # define TARGET_BUILTIN(ID, TYPE, ATTRS, FEATURE) BUILTIN(ID, TYPE, ATTRS) |
||
| 16 | #endif |
||
| 17 | |||
| 18 | // Zbb extension |
||
| 19 | TARGET_BUILTIN(__builtin_riscv_orc_b_32, "ZiZi", "nc", "zbb") |
||
| 20 | TARGET_BUILTIN(__builtin_riscv_orc_b_64, "WiWi", "nc", "zbb,64bit") |
||
| 21 | TARGET_BUILTIN(__builtin_riscv_clz_32, "ZiZi", "nc", "zbb") |
||
| 22 | TARGET_BUILTIN(__builtin_riscv_clz_64, "WiWi", "nc", "zbb,64bit") |
||
| 23 | TARGET_BUILTIN(__builtin_riscv_ctz_32, "ZiZi", "nc", "zbb") |
||
| 24 | TARGET_BUILTIN(__builtin_riscv_ctz_64, "WiWi", "nc", "zbb,64bit") |
||
| 25 | |||
| 26 | // Zbc or Zbkc extension |
||
| 27 | TARGET_BUILTIN(__builtin_riscv_clmul, "LiLiLi", "nc", "zbc|zbkc") |
||
| 28 | TARGET_BUILTIN(__builtin_riscv_clmulh, "LiLiLi", "nc", "zbc|zbkc") |
||
| 29 | TARGET_BUILTIN(__builtin_riscv_clmulr, "LiLiLi", "nc", "zbc") |
||
| 30 | |||
| 31 | // Zbkx |
||
| 32 | TARGET_BUILTIN(__builtin_riscv_xperm4, "LiLiLi", "nc", "zbkx") |
||
| 33 | TARGET_BUILTIN(__builtin_riscv_xperm8, "LiLiLi", "nc", "zbkx") |
||
| 34 | |||
| 35 | // Zbkb extension |
||
| 36 | TARGET_BUILTIN(__builtin_riscv_brev8, "LiLi", "nc", "zbkb") |
||
| 37 | TARGET_BUILTIN(__builtin_riscv_zip_32, "ZiZi", "nc", "zbkb,32bit") |
||
| 38 | TARGET_BUILTIN(__builtin_riscv_unzip_32, "ZiZi", "nc", "zbkb,32bit") |
||
| 39 | |||
| 40 | // Zknd extension |
||
| 41 | TARGET_BUILTIN(__builtin_riscv_aes32dsi_32, "ZiZiZiIUc", "nc", "zknd,32bit") |
||
| 42 | TARGET_BUILTIN(__builtin_riscv_aes32dsmi_32, "ZiZiZiIUc", "nc", "zknd,32bit") |
||
| 43 | TARGET_BUILTIN(__builtin_riscv_aes64ds_64, "WiWiWi", "nc", "zknd,64bit") |
||
| 44 | TARGET_BUILTIN(__builtin_riscv_aes64dsm_64, "WiWiWi", "nc", "zknd,64bit") |
||
| 45 | TARGET_BUILTIN(__builtin_riscv_aes64im_64, "WiWi", "nc", "zknd,64bit") |
||
| 46 | |||
| 47 | // Zknd & zkne |
||
| 48 | TARGET_BUILTIN(__builtin_riscv_aes64ks1i_64, "WiWiIUi", "nc", "zknd|zkne,64bit") |
||
| 49 | TARGET_BUILTIN(__builtin_riscv_aes64ks2_64, "WiWiWi", "nc", "zknd|zkne,64bit") |
||
| 50 | |||
| 51 | // Zkne extension |
||
| 52 | TARGET_BUILTIN(__builtin_riscv_aes32esi_32, "ZiZiZiIUc", "nc", "zkne,32bit") |
||
| 53 | TARGET_BUILTIN(__builtin_riscv_aes32esmi_32, "ZiZiZiIUc", "nc", "zkne,32bit") |
||
| 54 | TARGET_BUILTIN(__builtin_riscv_aes64es_64, "WiWiWi", "nc", "zkne,64bit") |
||
| 55 | TARGET_BUILTIN(__builtin_riscv_aes64esm_64, "WiWiWi", "nc", "zkne,64bit") |
||
| 56 | |||
| 57 | // Zknh extension |
||
| 58 | TARGET_BUILTIN(__builtin_riscv_sha256sig0, "LiLi", "nc", "zknh") |
||
| 59 | TARGET_BUILTIN(__builtin_riscv_sha256sig1, "LiLi", "nc", "zknh") |
||
| 60 | TARGET_BUILTIN(__builtin_riscv_sha256sum0, "LiLi", "nc", "zknh") |
||
| 61 | TARGET_BUILTIN(__builtin_riscv_sha256sum1, "LiLi", "nc", "zknh") |
||
| 62 | |||
| 63 | TARGET_BUILTIN(__builtin_riscv_sha512sig0h_32, "ZiZiZi", "nc", "zknh,32bit") |
||
| 64 | TARGET_BUILTIN(__builtin_riscv_sha512sig0l_32, "ZiZiZi", "nc", "zknh,32bit") |
||
| 65 | TARGET_BUILTIN(__builtin_riscv_sha512sig1h_32, "ZiZiZi", "nc", "zknh,32bit") |
||
| 66 | TARGET_BUILTIN(__builtin_riscv_sha512sig1l_32, "ZiZiZi", "nc", "zknh,32bit") |
||
| 67 | TARGET_BUILTIN(__builtin_riscv_sha512sum0r_32, "ZiZiZi", "nc", "zknh,32bit") |
||
| 68 | TARGET_BUILTIN(__builtin_riscv_sha512sum1r_32, "ZiZiZi", "nc", "zknh,32bit") |
||
| 69 | TARGET_BUILTIN(__builtin_riscv_sha512sig0_64, "WiWi", "nc", "zknh,64bit") |
||
| 70 | TARGET_BUILTIN(__builtin_riscv_sha512sig1_64, "WiWi", "nc", "zknh,64bit") |
||
| 71 | TARGET_BUILTIN(__builtin_riscv_sha512sum0_64, "WiWi", "nc", "zknh,64bit") |
||
| 72 | TARGET_BUILTIN(__builtin_riscv_sha512sum1_64, "WiWi", "nc", "zknh,64bit") |
||
| 73 | |||
| 74 | // Zksed extension |
||
| 75 | TARGET_BUILTIN(__builtin_riscv_sm4ed, "LiLiLiIUc", "nc", "zksed") |
||
| 76 | TARGET_BUILTIN(__builtin_riscv_sm4ks, "LiLiLiIUc", "nc", "zksed") |
||
| 77 | |||
| 78 | // Zksh extension |
||
| 79 | TARGET_BUILTIN(__builtin_riscv_sm3p0, "LiLi", "nc", "zksh") |
||
| 80 | TARGET_BUILTIN(__builtin_riscv_sm3p1, "LiLi", "nc", "zksh") |
||
| 81 | |||
| 82 | #undef BUILTIN |
||
| 83 | #undef TARGET_BUILTIN |