The resulting output is semantically closer to what the DAG emits and
is more compatible with the existing CCAssignFns.
The returns of f32 in f80 are clearly broken, but they were broken
before when using G_ANYEXT to go from f32 to f80.
Paths
| Differential D100709
X86/GlobalISel: Rely on default assignValueToRe ClosedPublic Authored by arsenm on Apr 17 2021, 10:00 AM.
Details Summary The resulting output is semantically closer to what the DAG emits and The returns of f32 in f80 are clearly broken, but they were broken
Diff Detail Event Timelinearsenm added a parent revision: D100708: GlobalISel: Relax verification of physical register copy types.Apr 17 2021, 10:00 AM Comment Actions Also handle the outgoing case. Changes f32 return promotion from broken, to different broken arsenm added a child revision: D101238: X86/GlobalISel: Use generic version of splitToValueTypes.Apr 24 2021, 9:42 AM This revision is now accepted and ready to land.May 4 2021, 9:35 AM
Revision Contents
Diff 338325 llvm/lib/Target/X86/X86CallLowering.cpp
llvm/test/CodeGen/X86/GlobalISel/irtranslator-callingconv.ll
llvm/test/CodeGen/X86/GlobalISel/x86_64-irtranslator-struct-return.ll
llvm/test/CodeGen/X86/GlobalISel/x86_64-irtranslator.ll
|