[PATCH] D35498: [LoopVectorizer] Use two step casting for float to pointer types.

Manoj Gupta via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Sep 1 06:44:02 PDT 2017


manojgupta marked an inline comment as done.
manojgupta added inline comments.


================
Comment at: test/CodeGen/ARM/loopvectorize_pr33804.ll:63
+}
+
+declare i32 @__gxx_personality_v0(...)
----------------
Ayal wrote:
> manojgupta wrote:
> > Ayal wrote:
> > > What about tests for float<->pointer conversions on interleaved groups of loads?
> > Because of my limited knowledge of how loop vectorizer works,  I am not yet able to create a test case for loads which triggers float <-> pointer casting. Will try to create a test case for loads in a follow up commit. 
> > I did add another test case for double <-> pointer for AArch64.
> You can simply first load the two fields, say fadd 0.5 to one and do pointer++ using gep to the other, then store them back; or even just copy them from one array to another.
Tried that but still no luck. Storing back to same addresses or even to some globals inside/outside the loop didn't help.
Is to ok to check this in first and try adding a test case for load in a follow up commit?


https://reviews.llvm.org/D35498





More information about the llvm-commits mailing list