fallback: legalize: G_AND <4 x s32>

Run:explore-bc8218b282-20261015-075519
Kind:fallback
Category:legalize: G_AND <4 x s32> NEW
Occurrences:53 in 37 configs, 14 test files
Snippet from:half-zfa-fli.0528b815ca.ll (mutant of half-zfa-fli.ll) @loadfpimm9 via llvm-extract + llvm-reduce
Config:-mtriple=riscv64 -target-abi lp64f -mattr=+zfa,+zfhmin
Local check:reproduces at bc8218b282
Compiler Explorer:https://godbolt.org/z/1KG7haKrE (llc-assertions-trunk, checked 2026-10-15 08:05 UTC): G reproduces

Snippet:

define <4 x i32> @loadfpimm9(<4 x i32> %LGV) {
  %B = and <4 x i32> %LGV, splat (i32 1)
  ret <4 x i32> %B
}

Compiler Explorer panes:

PaneOptionsExitInstsstderr
GlobalISel-mtriple=riscv64 -target-abi lp64f -mattr=+zfa,+zfhmin -global-isel -global-isel-abort=2 -pass-remarks-missed=gisel.*013remark: <unknown>:0:0: unable to legalize instruction: %5:_(<4 x s32>) = G_AND %0:_, %3:_ (in function: loadfpimm9)
warning: Instruction selection used fallback path for loadfpimm9
SelectionDAG (control)-mtriple=riscv64 -target-abi lp64f -mattr=+zfa,+zfhmin -global-isel=0013-

Reproduce:

llc -mtriple=riscv64 -target-abi lp64f -mattr=+zfa,+zfhmin -global-isel -global-isel-abort=2 -pass-remarks-missed=gisel.* snippet.ll -o -
llc -mtriple=riscv64 -target-abi lp64f -mattr=+zfa,+zfhmin -global-isel=0 snippet.ll -o -

Local llc output:

remark: <unknown>:0:0: unable to legalize instruction: %5:_(<4 x s32>) = G_AND %0:_, %3:_ (in function: loadfpimm9)
warning: Instruction selection used fallback path for loadfpimm9

Occurrences (53) (first 50):

InputFunctionConfig
branch.8053842e5c.ll (mutant of branch.ll)foo-mtriple=riscv32 -verify-machineinstrs
branch.e2bd151b89.ll (mutant of branch.ll)foo-mtriple=riscv32 -verify-machineinstrs -block-placement-predecessor-limit=10
bswap-bitreverse.00008ea979.ll (mutant of bswap-bitreverse.ll)test_bswap_bitreverse_i16-mtriple=riscv64 -mattr=+zbb -verify-machineinstrs
bswap-bitreverse.1a44b013a5.ll (mutant of bswap-bitreverse.ll)test_bswap_bitreverse_i16-mtriple=riscv32 -verify-machineinstrs
bswap-bitreverse.24ef41cc12.ll (mutant of bswap-bitreverse.ll)test_bswap_bitreverse_i16-mtriple=riscv32 -mattr=+zbb -verify-machineinstrs
bswap-bitreverse.348b19ad34.ll (mutant of bswap-bitreverse.ll)test_bswap_bitreverse_i16-mtriple=riscv64 -mattr=+zbkb -verify-machineinstrs
bswap-bitreverse.85104f6f73.ll (mutant of bswap-bitreverse.ll)test_bswap_bitreverse_i16-mtriple=riscv32 -mattr=+zbb,+experimental-p -verify-machineinstrs
bswap-bitreverse.8ad58d6b8e.ll (mutant of bswap-bitreverse.ll)test_bswap_bitreverse_i16-mtriple=riscv64 -verify-machineinstrs
bswap-bitreverse.c584bd46bd.ll (mutant of bswap-bitreverse.ll)test_bswap_bitreverse_i16-mtriple=riscv32 -mattr=+zbkb -verify-machineinstrs
bswap-bitreverse.dedbcaa294.ll (mutant of bswap-bitreverse.ll)test_bswap_bitreverse_i16-mtriple=riscv64 -mattr=+zbb,+experimental-p -verify-machineinstrs
double_reduct.e04650ceb8.ll (mutant of double_reduct.ll)and_i32-mtriple=riscv64 -mattr=+d,+zfh,+zvfh,+v,+m -target-abi=lp64d -verify-machineinstrs
double_reduct.fcfec5b501.ll (mutant of double_reduct.ll)and_i32-mtriple=riscv32 -mattr=+d,+zfh,+zvfh,+v,+m -target-abi=ilp32d -verify-machineinstrs
fold-mem-offset.7a13abbce6.ll (mutant of fold-mem-offset.ll)test_scaled_index_addi-mtriple=riscv32
fold-mem-offset.82afced764.ll (mutant of fold-mem-offset.ll)test_scaled_index_addi-mtriple=riscv64 -mattr=+zba
fold-mem-offset.91db9c95db.ll (mutant of fold-mem-offset.ll)test_scaled_index_addi-mtriple=riscv64
fold-mem-offset.f23dbc76c0.ll (mutant of fold-mem-offset.ll)test_scaled_index_addi-mtriple=riscv32 -mattr=+zba
half-zfa-fli.0528b815ca.ll (mutant of half-zfa-fli.ll)loadfpimm9-mtriple=riscv64 -target-abi lp64f -mattr=+zfa,+zfhmin
half-zfa-fli.6e93461393.ll (mutant of half-zfa-fli.ll)loadfpimm9-mtriple=riscv64 -target-abi lp64f -mattr=+zfa,+zfh
half-zfa-fli.794abffcfe.ll (mutant of half-zfa-fli.ll)loadfpimm9-mtriple=riscv32 -target-abi ilp32f -mattr=+zfa,+zfhmin
half-zfa-fli.bd91628c65.ll (mutant of half-zfa-fli.ll)loadfpimm9-mtriple=riscv32 -target-abi ilp32f -mattr=+zfa,+zfh
libcall-tail-calls.040ea67891.ll (mutant of libcall-tail-calls.ll)sin_f64-mtriple=riscv64 -mattr=+d -verify-machineinstrs -target-abi=lp64d
libcall-tail-calls.5e6d487c5d.ll (mutant of libcall-tail-calls.ll)sin_f64-mtriple=riscv32 -mattr=+d -verify-machineinstrs -target-abi=ilp32
libcall-tail-calls.6371224da6.ll (mutant of libcall-tail-calls.ll)sin_f64-mtriple=riscv32 -mattr=+d -verify-machineinstrs -target-abi=ilp32d
libcall-tail-calls.878f92d1f6.ll (mutant of libcall-tail-calls.ll)sin_f64-mtriple=riscv32 -verify-machineinstrs
libcall-tail-calls.9dd57dd5f0.ll (mutant of libcall-tail-calls.ll)sin_f64-mtriple=riscv32 -mattr=+f -verify-machineinstrs -target-abi=ilp32f
libcall-tail-calls.af86f750e2.ll (mutant of libcall-tail-calls.ll)sin_f64-mtriple=riscv64 -mattr=+f -verify-machineinstrs -target-abi=lp64f
libcall-tail-calls.b76f64bd07.ll (mutant of libcall-tail-calls.ll)sin_f64-mtriple=riscv64 -verify-machineinstrs
libcall-tail-calls.e410674e57.ll (mutant of libcall-tail-calls.ll)sin_f64-mtriple=riscv64 -mattr=+d -verify-machineinstrs -target-abi=lp64
llvm.frexp.037bbd5392.ll (mutant of llvm.frexp.ll)test_frexp_v4f32_v4i32_only_use_exp-mtriple=riscv64 -verify-machineinstrs
llvm.frexp.8b6e7fd0e0.ll (mutant of llvm.frexp.ll)test_frexp_v4f32_v4i32_only_use_exp-mtriple=riscv64 -mattr=+d -verify-machineinstrs -target-abi=lp64d
llvm.frexp.d536056939.ll (mutant of llvm.frexp.ll)test_frexp_v4f32_v4i32_only_use_exp-mtriple=riscv32 -mattr=+d -verify-machineinstrs -target-abi=ilp32d
llvm.frexp.dc1a807f1c.ll (mutant of llvm.frexp.ll)test_frexp_v4f32_v4i32_only_use_exp-mtriple=riscv64 -mattr=+zdinx -verify-machineinstrs -target-abi=lp64
llvm.frexp.ed2a330917.ll (mutant of llvm.frexp.ll)test_frexp_v4f32_v4i32_only_use_exp-mtriple=riscv32 -mattr=+zdinx -verify-machineinstrs -target-abi=ilp32
llvm.frexp.f953c928c0.ll (mutant of llvm.frexp.ll)test_frexp_v4f32_v4i32_only_use_exp-mtriple=riscv32 -verify-machineinstrs
narrow-shl-cst.317e8a5625.ll (mutant of narrow-shl-cst.ll)test9-mtriple=riscv64
narrow-shl-cst.a1baf77916.ll (mutant of narrow-shl-cst.ll)test9-mtriple=riscv32
reduction-formation.9bc39f9be2.ll (mutant of reduction-formation.ll)reduce_xor_4xi32-mtriple=riscv32 -verify-machineinstrs
reduction-formation.ccc638ada3.ll (mutant of reduction-formation.ll)reduce_xor_4xi32-mtriple=riscv64 -verify-machineinstrs
rv64m-exhaustive-w-insts.6aaae34c02.ll (mutant of rv64m-exhaustive-w-insts.ll)sext_divw_sext_sext-mtriple=riscv64 -mattr=+m -verify-machineinstrs
shadowcallstack.001a1d0330.ll (mutant of shadowcallstack.ll)f4_hw-mtriple=riscv32 -verify-machineinstrs -mattr=+zcmp,+zimop
shadowcallstack.2ec8303781.ll (mutant of shadowcallstack.ll)f4_hw-mtriple=riscv64 -verify-machineinstrs -mattr=+zcmp,+zimop,+zcmop
shadowcallstack.4ccc375a9c.ll (mutant of shadowcallstack.ll)f4_hw-mtriple=riscv32 -verify-machineinstrs
shadowcallstack.6887060a3a.ll (mutant of shadowcallstack.ll)f4_hw-mtriple=riscv32 -mattr=+zimop -verify-machineinstrs
shadowcallstack.7b62c193dd.ll (mutant of shadowcallstack.ll)f4_hw-mtriple=riscv32 -mattr=+zimop,+zcmop -M no-aliases -verify-machineinstrs
shadowcallstack.7d5a3b089c.ll (mutant of shadowcallstack.ll)f4_hw-mtriple=riscv64 -verify-machineinstrs
shadowcallstack.b83c8f9ad5.ll (mutant of shadowcallstack.ll)f4_hw-mtriple=riscv64 -mattr=+zimop,+zcmop -M no-aliases -verify-machineinstrs
shadowcallstack.e8d4ee50f0.ll (mutant of shadowcallstack.ll)f4_hw-mtriple=riscv64 -mattr=+zimop -verify-machineinstrs
signbit-test.4e467576a4.ll (mutant of signbit-test.ll)test_clear_mask_i32_i8-mtriple=riscv64 -verify-machineinstrs
signbit-test.5759982807.ll (mutant of signbit-test.ll)test_clear_mask_i32_i8-mtriple=riscv32 -verify-machineinstrs
xqcibi.0a67ab30c3.ll (mutant of xqcibi.ll)bltimm16-mtriple=riscv32 -mattr=+xqcibi -verify-machineinstrs

Generated 2026-10-15 08:05 UTC.