This is an archive of the discontinued LLVM Phabricator instance.

[X86] Potential improvement for v4i32->v4f64 uint_to_fp for AVX1/AVX2 targets.
ClosedPublic

Authored by craig.topper on Dec 29 2019, 12:10 AM.

Diff Detail

Event Timeline

craig.topper created this revision.Dec 29 2019, 12:10 AM
Herald added a project: Restricted Project. · View Herald TranscriptDec 29 2019, 12:10 AM
Herald added a subscriber: hiraditya. · View Herald Transcript
RKSimon added inline comments.Jan 2 2020, 8:57 AM
llvm/test/CodeGen/X86/vec_int_to_fp.ll
3589

Why does it have separate constant loads for OR/FSUB - do they have to be treated as volatile?

craig.topper marked an inline comment as done.Jan 2 2020, 9:18 AM
craig.topper added inline comments.
llvm/test/CodeGen/X86/vec_int_to_fp.ll
3589

I think something weird happened with the extract_subvector and bitcast propagation. We ended with two different build_vectors, one with integer type and one with fp type. They both became loads of the same constant pool entry

RKSimon accepted this revision.Jan 5 2020, 5:07 AM

LGTM - but if we can fix the repeated constant load (else raise a bug+testcase for it) - that'd be great.

This revision is now accepted and ready to land.Jan 5 2020, 5:07 AM