fallback: legalize: G_CLMUL s128

Run:explore-bc8218b282-20261015-075519
Kind:fallback
Category:legalize: G_CLMUL s128
Occurrences:48 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 bc8218b282
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 (48):

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.0496fa590c.ll (mutant of clmul.ll)clmul_i128_zext-mtriple=riscv32 -mattr=+m,+zbs -verify-machineinstrs
clmul.0f5735b99f.ll (mutant of clmul.ll)clmul_i128_zext-mtriple=riscv64 -verify-machineinstrs
clmul.1824459440.ll (mutant of clmul.ll)clmul_i128_zext-mtriple=riscv64 -mattr=+m,+zbs -verify-machineinstrs
clmul.1aab5cbcdd.ll (mutant of clmul.ll)clmul_i128_zext-mtriple=riscv32 -verify-machineinstrs
clmul.1c0684c19c.ll (mutant of clmul.ll)clmul_i128_zext-mtriple=riscv64 -mattr=+m,+zvbc -verify-machineinstrs
clmul.233000f046.ll (mutant of clmul.ll)clmul_i128_zext-mtriple=riscv64 -mattr=+m -verify-machineinstrs
clmul.3692010aca.ll (mutant of clmul.ll)clmul_i128-mtriple=riscv64 -mattr=+m,+zvbc -verify-machineinstrs
clmul.40a8470c1f.ll (mutant of clmul.ll)clmul_i128_zext-mtriple=riscv64 -mattr=+m,+zbc -verify-machineinstrs
clmul.47cebd0107.ll (mutant of clmul.ll)clmul_i128-mtriple=riscv32 -mattr=+m,+zbs -verify-machineinstrs
clmul.4b425f5c3f.ll (mutant of clmul.ll)clmul_i128-mtriple=riscv64 -verify-machineinstrs
clmul.5e9d60e34a.ll (mutant of clmul.ll)clmul_i128-mtriple=riscv32 -mattr=+m,+zvbc -verify-machineinstrs
clmul.7fa1a69cd4.ll (mutant of clmul.ll)clmul_i128-mtriple=riscv64 -mattr=+m -verify-machineinstrs
clmul.8b9db93b5d.ll (mutant of clmul.ll)clmul_i128_zext-mtriple=riscv32 -mattr=+m -verify-machineinstrs
clmul.9b7cc29b76.ll (mutant of clmul.ll)clmul_i128_zext-mtriple=riscv32 -mattr=+m,+zbc -verify-machineinstrs
clmul.a77b31e1f7.ll (mutant of clmul.ll)clmul_i128-mtriple=riscv32 -mattr=+m,+zbc -verify-machineinstrs
clmul.b0edcfb101.ll (mutant of clmul.ll)clmul_i128-mtriple=riscv32 -verify-machineinstrs
clmul.c9fd5b1f76.ll (mutant of clmul.ll)clmul_i128-mtriple=riscv32 -mattr=+m -verify-machineinstrs
clmul.f40b339ef1.ll (mutant of clmul.ll)clmul_i128-mtriple=riscv64 -mattr=+m,+zbc -verify-machineinstrs
clmul.f570c195ed.ll (mutant of clmul.ll)clmul_i128_zext-mtriple=riscv32 -mattr=+m,+zvbc -verify-machineinstrs
clmul.fd40a3d154.ll (mutant of clmul.ll)clmul_i128-mtriple=riscv64 -mattr=+m,+zbs -verify-machineinstrs
rv64zbc-intrinsic.8607803b88.ll (mutant of rv64zbc-intrinsic.ll)llvm_clmulr_i64-mtriple=riscv64 -mattr=+zbc -verify-machineinstrs
rv64zbc-zbkc-intrinsic.4ff83776bd.ll (mutant of rv64zbc-zbkc-intrinsic.ll)llvm_clmulh_i64-mtriple=riscv64 -mattr=+zbc -verify-machineinstrs
rv64zbc-zbkc-intrinsic.9fc8ff9275.ll (mutant of rv64zbc-zbkc-intrinsic.ll)llvm_clmulh_i64-mtriple=riscv64 -mattr=+zbkc -verify-machineinstrs
rv64zbc-zbkc-intrinsic.c999675dcc.ll (mutant of rv64zbc-zbkc-intrinsic.ll)llvm_clmulh_i64-mtriple=riscv64 -mattr=+zbc -verify-machineinstrs
rv64zbc-zbkc-intrinsic.f1fb3289fd.ll (mutant of rv64zbc-zbkc-intrinsic.ll)llvm_clmulh_i64-mtriple=riscv64 -mattr=+zbkc -verify-machineinstrs

Generated 2026-10-15 08:05 UTC.