aboutsummaryrefslogtreecommitdiff
path: root/gcc/gimple-loop-interchange.cc
diff options
context:
space:
mode:
authorTsukasa OI <research_trasio@irq.a4lg.com>2023-09-06 06:28:39 +0000
committerTsukasa OI <research_trasio@irq.a4lg.com>2023-09-16 01:24:18 +0000
commita1751681867a3ce760ea6924c3c632f1b81db97e (patch)
tree2131ce913ea0022a0404034a76082a31a267f9fa /gcc/gimple-loop-interchange.cc
parent23224f06c980533d474b3a29d2437e5537916fc0 (diff)
downloadgcc-a1751681867a3ce760ea6924c3c632f1b81db97e.zip
gcc-a1751681867a3ce760ea6924c3c632f1b81db97e.tar.gz
gcc-a1751681867a3ce760ea6924c3c632f1b81db97e.tar.bz2
RISC-V: Make bit manipulation value / round number and shift amount types for builtins unsigned
For bit manipulation operations, input(s) and the manipulated output are better to be unsigned like other target-independent builtins like __builtin_bswap32 and __builtin_popcount. Although this is not completely compatible as before (as the type changes), most code will run normally, even without warnings (with -Wall -Wextra). To make consistent to the LLVM commit 599421ae36c3 ("[RISCV] Use unsigned instead of signed types for Zk* and Zb* builtins."), round numbers and shift amount on the scalar crypto instructions are also changed to unsigned. gcc/ChangeLog: * config/riscv/riscv-builtins.cc (RISCV_ATYPE_UQI): New for uint8_t. (RISCV_ATYPE_UHI): New for uint16_t. (RISCV_ATYPE_QI, RISCV_ATYPE_HI, RISCV_ATYPE_SI, RISCV_ATYPE_DI): Removed as no longer used. (RISCV_ATYPE_UDI): New for uint64_t. * config/riscv/riscv-cmo.def: Make types unsigned for not working "zicbop_cbo_prefetchi" and working bit manipulation clmul builtin argument/return types. * config/riscv/riscv-ftypes.def: Make bit manipulation, round number and shift amount types unsigned. * config/riscv/riscv-scalar-crypto.def: Ditto. gcc/testsuite/ChangeLog: * gcc.target/riscv/zbc32.c: Make signed type to unsigned. * gcc.target/riscv/zbc64.c: Ditto. * gcc.target/riscv/zbkb32.c: Ditto. * gcc.target/riscv/zbkb64.c: Ditto. * gcc.target/riscv/zbkc32.c: Ditto. * gcc.target/riscv/zbkc64.c: Ditto. * gcc.target/riscv/zbkx32.c: Ditto. * gcc.target/riscv/zbkx64.c: Ditto. * gcc.target/riscv/zknd32.c: Ditto. * gcc.target/riscv/zknd64.c: Ditto. * gcc.target/riscv/zkne32.c: Ditto. * gcc.target/riscv/zkne64.c: Ditto. * gcc.target/riscv/zknh-sha256.c: Ditto. * gcc.target/riscv/zknh-sha512-32.c: Ditto. * gcc.target/riscv/zknh-sha512-64.c: Ditto. * gcc.target/riscv/zksed32.c: Ditto. * gcc.target/riscv/zksed64.c: Ditto. * gcc.target/riscv/zksh32.c: Ditto. * gcc.target/riscv/zksh64.c: Ditto.
Diffstat (limited to 'gcc/gimple-loop-interchange.cc')
0 files changed, 0 insertions, 0 deletions