The logic is written for what loads/stores should be selectable. There
are a set of cases that should be selectable, but due to missing MVTs
and/or selection patterns, will fail to select. I think eventually
load/store select patterns should ignore the type and only look at the
value size, but until that happens, bitcast these to equivalent i32
vectors.
Details
Details
Diff Detail
Diff Detail
Event Timeline
Comment Actions
Why does this need a command line flag? I realise it's a workaround but couldn't it still be enabled unconditionally?
Comment Actions
Mostly so I don’t have to delete all the regbankselect and select tests I wrote to check the handling of these. The regbank code it supposed to be able to handle the splits of the scalar or vector multiples case
Comment Actions
When is inst select using the legalizer anyway? Is there some risk of differences in behavior between what's being tested and the default case without the flag?
Comment Actions
By default in a debug build the selector asserts the input instructions are legal. The failure output changes depending on this check (there is a flag to disable it which might also work in this case)