Two of the reviewers for the PR that adds this new feature disagreed about something (whether the Register Allocator needs an extra match rule in the architecture description file to prevent register spilling - cause for multiplication it doesn’t matter the order!) so I needed to test it. I designed a small test case and extra logging which helped me test whether it was needed (this look a while), and it turned out that the extra match rule wasn’t needed, so I removed it in the commit I just pushed. The testing I made for this was just temporary & shouldn’t become a part of OpenJDK, so it wasn’t pushed. You can see a screenshot of the output of the test case I made to trace this down attached - note in the assembly output that there is NOT excessive shuffling. I have highlighted the important part in red in case you don’t understand OptoAssembly. You can also see the new “mulhilo” node I made in this screenshot :D
Log in to leave a comment