Opaque ptr types have a size in bits of 0. The legalised type is an i64 or vector of i64s, which do have size. Because of this difference in size, target hook getMemoryOpCost modelled stores of ptr types as extending/truncating load/stores. Now we just check for opaque ptr types and return the legalised cost. This makes stores of pointers cheaper, and as a result we now SLP vectorise the changed test case.
Details
Details
Diff Detail
Diff Detail
Event Timeline
Comment Actions
Thanks Dave. I am going to look more into this area (for different cases), so will take that into account.