fallback: legalize: G_CLMUL s128

Run:explore-04ca53e65f-20261014-114124
Kind:fallback
Category:legalize: G_CLMUL s128
Occurrences:58 in 12 configs, 3 test files
Snippet from:clmul.ll @clmul_i128 via llvm-extract
Config:-mtriple=riscv32 -mattr=+m -verify-machineinstrs
Local check:reproduces at 04ca53e65f
Compiler Explorer:not uploaded (over --godbolt-limit or disabled)

Snippet:

define i128 @clmul_i128(i128 %x, i128 %y) {
  %a = call i128 @llvm.clmul.i128(i128 %x, i128 %y)
  ret i128 %a
}

; Function Attrs: nocallback nocreateundeforpoison nofree nosync nounwind speculatable willreturn memory(none)
declare i128 @llvm.clmul.i128(i128, i128) #0

attributes #0 = { nocallback nocreateundeforpoison nofree nosync nounwind speculatable willreturn memory(none) }

Reproduce:

llc -mtriple=riscv32 -mattr=+m -verify-machineinstrs -global-isel -global-isel-abort=2 -pass-remarks-missed=gisel.* snippet.ll -o -
llc -mtriple=riscv32 -mattr=+m -verify-machineinstrs -global-isel=0 snippet.ll -o -

Local llc output:

remark: <unknown>:0:0: unable to legalize instruction: %5:_(s128) = G_CLMUL %0:_, %1:_ (in function: clmul_i128)
warning: Instruction selection used fallback path for clmul_i128

Occurrences (58) (first 50):

InputFunctionConfig
clmul.llclmul_i128-mtriple=riscv32 -mattr=+m -verify-machineinstrs
clmul.llclmul_i128_zext-mtriple=riscv32 -mattr=+m -verify-machineinstrs
clmul.llclmul_i128-mtriple=riscv32 -mattr=+m,+zbc -verify-machineinstrs
clmul.llclmul_i128_zext-mtriple=riscv32 -mattr=+m,+zbc -verify-machineinstrs
clmul.llclmul_i128-mtriple=riscv32 -mattr=+m,+zbs -verify-machineinstrs
clmul.llclmul_i128_zext-mtriple=riscv32 -mattr=+m,+zbs -verify-machineinstrs
clmul.llclmul_i128-mtriple=riscv32 -mattr=+m,+zvbc -verify-machineinstrs
clmul.llclmul_i128_zext-mtriple=riscv32 -mattr=+m,+zvbc -verify-machineinstrs
clmul.llclmul_i128-mtriple=riscv32 -verify-machineinstrs
clmul.llclmul_i128_zext-mtriple=riscv32 -verify-machineinstrs
clmul.llclmul_i128-mtriple=riscv64 -mattr=+m -verify-machineinstrs
clmul.llclmul_i128_zext-mtriple=riscv64 -mattr=+m -verify-machineinstrs
clmul.llclmul_i128-mtriple=riscv64 -mattr=+m,+zbc -verify-machineinstrs
clmul.llclmul_i128_zext-mtriple=riscv64 -mattr=+m,+zbc -verify-machineinstrs
clmul.llclmul_i128-mtriple=riscv64 -mattr=+m,+zbs -verify-machineinstrs
clmul.llclmul_i128_zext-mtriple=riscv64 -mattr=+m,+zbs -verify-machineinstrs
clmul.llclmul_i128-mtriple=riscv64 -mattr=+m,+zvbc -verify-machineinstrs
clmul.llclmul_i128_zext-mtriple=riscv64 -mattr=+m,+zvbc -verify-machineinstrs
clmul.llclmul_i128-mtriple=riscv64 -verify-machineinstrs
clmul.llclmul_i128_zext-mtriple=riscv64 -verify-machineinstrs
rv64zbc-intrinsic.llllvm_clmulr_i64-mtriple=riscv64 -mattr=+zbc -verify-machineinstrs
rv64zbc-zbkc-intrinsic.llllvm_clmulh_i64-mtriple=riscv64 -mattr=+zbc -verify-machineinstrs
rv64zbc-zbkc-intrinsic.llllvm_clmulh_i64-mtriple=riscv64 -mattr=+zbkc -verify-machineinstrs
clmul.090f674934.ll (mutant of clmul.ll)clmul_i128-mtriple=riscv64 -mattr=+m -verify-machineinstrs
clmul.0efd4d0f0e.ll (mutant of clmul.ll)clmul_i128-mtriple=riscv32 -verify-machineinstrs
clmul.122edccf08.ll (mutant of clmul.ll)clmul_i128_zext-mtriple=riscv32 -mattr=+m,+zbs -verify-machineinstrs
clmul.1a0fc2d5dd.ll (mutant of clmul.ll)clmul_i128_zext-mtriple=riscv64 -mattr=+m,+zvbc -verify-machineinstrs
clmul.214ea14d04.ll (mutant of clmul.ll)clmul_i128_zext-mtriple=riscv32 -mattr=+m,+zvbc -verify-machineinstrs
clmul.23ff3a464c.ll (mutant of clmul.ll)clmul_i128-mtriple=riscv64 -mattr=+m,+zbc -verify-machineinstrs
clmul.2fdc20e646.ll (mutant of clmul.ll)clmul_i128_zext-mtriple=riscv64 -mattr=+m -verify-machineinstrs
clmul.30257e3823.ll (mutant of clmul.ll)clmul_i128-mtriple=riscv32 -mattr=+m,+zvbc -verify-machineinstrs
clmul.3260931539.ll (mutant of clmul.ll)clmul_i128-mtriple=riscv64 -mattr=+m,+zvbc -verify-machineinstrs
clmul.3e162c876e.ll (mutant of clmul.ll)clmul_i128_zext-mtriple=riscv64 -verify-machineinstrs
clmul.3e2c61db92.ll (mutant of clmul.ll)clmul_i128-mtriple=riscv32 -mattr=+m,+zbc -verify-machineinstrs
clmul.4b8e4de433.ll (mutant of clmul.ll)clmul_i128-mtriple=riscv32 -mattr=+m -verify-machineinstrs
clmul.4c1ab36848.ll (mutant of clmul.ll)clmul_i128-mtriple=riscv32 -mattr=+m,+zbc -verify-machineinstrs
clmul.5247ecf478.ll (mutant of clmul.ll)clmul_i128-mtriple=riscv32 -mattr=+m,+zbs -verify-machineinstrs
clmul.5764d9a7ff.ll (mutant of clmul.ll)clmul_i128-mtriple=riscv64 -mattr=+m,+zbs -verify-machineinstrs
clmul.5a52cff887.ll (mutant of clmul.ll)clmul_i128_zext-mtriple=riscv32 -mattr=+m,+zbc -verify-machineinstrs
clmul.5a5485fa3a.ll (mutant of clmul.ll)clmul_i128-mtriple=riscv32 -mattr=+m,+zbs -verify-machineinstrs
clmul.5da67f527d.ll (mutant of clmul.ll)clmul_i128-mtriple=riscv32 -mattr=+m,+zvbc -verify-machineinstrs
clmul.6a63550195.ll (mutant of clmul.ll)clmul_i128_zext-mtriple=riscv64 -mattr=+m,+zbs -verify-machineinstrs
clmul.8e15492cfe.ll (mutant of clmul.ll)clmul_i128-mtriple=riscv64 -mattr=+m,+zbs -verify-machineinstrs
clmul.9372b12eb6.ll (mutant of clmul.ll)clmul_i128_zext-mtriple=riscv64 -mattr=+m,+zbc -verify-machineinstrs
clmul.a041d4187e.ll (mutant of clmul.ll)clmul_i128_zext-mtriple=riscv32 -verify-machineinstrs
clmul.bec811e5ef.ll (mutant of clmul.ll)clmul_i128-mtriple=riscv32 -verify-machineinstrs
clmul.c21f81197b.ll (mutant of clmul.ll)clmul_i128-mtriple=riscv64 -mattr=+m,+zvbc -verify-machineinstrs
clmul.da3442da73.ll (mutant of clmul.ll)clmul_i128-mtriple=riscv64 -mattr=+m,+zbc -verify-machineinstrs
clmul.e6209407a9.ll (mutant of clmul.ll)clmul_i128-mtriple=riscv64 -verify-machineinstrs
clmul.f5c2f70b8a.ll (mutant of clmul.ll)clmul_i128_zext-mtriple=riscv32 -mattr=+m -verify-machineinstrs

Generated 2026-10-15 08:05 UTC.