The added testcase, which triggered this, was derived from a shader-db case via bugpoint. A separate question is why scalar branching wasn't used.
Ended up uploading the wrong version, sorry.
LGTM.