I'm optimizing code. My old code uses an if statement and a goto on true and false. My new code looks up data in an array (which I thought might raise stalled backend) then uses a goto on true and false to different labels.
Branch misses dropped 0.01%. Total branches by 0.05%. However stalled-cycles-frontend went from 0.52% to %0.79 which makes it overall slower.
How do I figure out the problem? I'm planning on blindly changing the function structure in hopes frontend cycles will go down. The only other thing I notice is the old gotos went backwards while the new gotos 1 goes forward (close to current line) 1 goes backwards (different location and closer than old two)