createInstructionSimplifierPass() has been removed in LLVM. This is used in a few places in SWR; looks like this can safely be removed because it is always preceded by createInstructionCombiningPass() which seems to be a superset of what createInstructionSimplifierPass() used to do. Fixing this just unmasks another problem though - Intrinsic::x86_fma_vfmadd_ps_256 is gone. Not sure how to replace that properly.
(In reply to Bernhard Rosenkraenzer from comment #0) > createInstructionSimplifierPass() has been removed in LLVM. This is used in > a few places in SWR; looks like this can safely be removed because it is > always preceded by createInstructionCombiningPass() which seems to be a > superset of what createInstructionSimplifierPass() used to do. > > Fixing this just unmasks another problem though - > Intrinsic::x86_fma_vfmadd_ps_256 is gone. Not sure how to replace that > properly. I believe the caller doesn't actually care if it's fma or fmul/fadd combo. In this case it should just be replaced with llvm.fmuladd - this works will all (supported by swr) llvm versions, and you don't need to distinguish in the caller if the cpu supports fma or not, llvm will automatically emit either fma or fmul/fadd.
Created attachment 140731 [details] [review] proposed patch See my attachment for a proposed patch - I encounted this error too and removed the references to the vfmaddps, and I removed the SimplePass's due to them being unnecessary. Please feel free to correct me or the patch if it's wrong. Instead of the vfmaddps it will use mul add.
(In reply to Bernhard Rosenkraenzer from comment #0) > createInstructionSimplifierPass() has been removed in LLVM. This is used in > a few places in SWR; looks like this can safely be removed because it is > always preceded by createInstructionCombiningPass() which seems to be a > superset of what createInstructionSimplifierPass() used to do. > > Fixing this just unmasks another problem though - > Intrinsic::x86_fma_vfmadd_ps_256 is gone. Not sure how to replace that > properly. I can confirm we're seeing this issue as well. (In reply to Philip Meulengracht from comment #2) > Created attachment 140731 [details] [review] [review] > proposed patch > > See my attachment for a proposed patch - I encounted this error too and > removed the references to the vfmaddps, and I removed the SimplePass's due > to them being unnecessary. Please feel free to correct me or the patch if > it's wrong. > > Instead of the vfmaddps it will use mul add. Thanks for the patch! I'm looking into this now.
-- GitLab Migration Automatic Message -- This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity. You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/mesa/mesa/issues/196.
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.