Closed
Description
I've got a Rust minimal repro code (a.rs), its mir output (a.mir), its x86 codegen output (a.x86.ll) and its gnu-x32 codegen output (a.gnux32.ll) All these files are in this this gist.
Currently, llc a.gnux32.ll
fails, saying "llvm error cannot emit physreg copy instruction".
I don't understand llvm ir at all myself, but i tried commenting out L309, L311 & L314 out (all accessing a special 'variable?' called 'unsized_tmp') and llc
it passes, then i uncomment L309 and llc fails again.
This issue is blocking #59500. Maybe @eddyb, @oli-obk or someone else who's familiar with rust/src/librustc_codegen_ssa/mir/operand.rs
could have a look or give me a hint about this?