[PATCH] D41126: [SelectionDAG] Fixed f16-from-vector promotion problem

Matt Arsenault via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Dec 13 13:24:53 PST 2017


arsenm added a comment.

In https://reviews.llvm.org/D41126#954337, @tpr wrote:

> Sorry, I mean the other way round: the fp16_to_fp has input i16 and result v1f32, and my theory was that this is illegal.


OK, I see. ScalarizeVectorOperand doesn't handle this, but it's already broken at this point because it isn't v1*<->v1*. Maybe bitcast is special, but I still would not expect to see a v1 input here. You aren't just doing a promote here, you are also manually doing the scalarize. The equivalent bitcast promote for integer types does not worry about this, but both should have the same problem. I think something is off, and ScalarizeVecOp_BITCAST should be fixing this


https://reviews.llvm.org/D41126





More information about the llvm-commits mailing list