[PATCH] D137140: [SDAG] Allow scalable vectors in ComputeKnownBits

Philip Reames via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Dec 5 08:38:39 PST 2022


reames added a comment.

Ok, I think this is a Hexagon target bug.  What's going on here is that Hexagon appears to be using SPLAT_VECTOR for fixed length vector types, and are legalizing build_vector splats of narrow types to SPLAT_VECTOR of i32.

The problem is that this doesn't work.  Generic DAG combine canonicalizes the other way given known bits information.  Before this change, that wasn't *visible* and didn't kick in because generic DAG couldn't see the SPLAT_VALUE known bits, but that's it.

I'm going to remove the implicit truncation support in SPLAT_VECTOR from this patch (that hides the above bug), and then check this in again.  Someone on the Hexagon side should definite figure out how to fix this properly and add back the implicit truncation.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D137140/new/

https://reviews.llvm.org/D137140



More information about the llvm-commits mailing list