[llvm-commits] XOP Intrinsics patch
Jan Sjodin
jan_sjodin at yahoo.com
Tue Jan 3 12:00:48 PST 2012
>All integer vector loads in patterns need to be memopv2i64(!28-bit) or memopv4i64(256-bit) and bitcasted to the correct type because all integer vector loads are promoted to v2i64 or v4i64. So for instance
>
>+def : Pat<(int_x86_xop_vphsubwd (alignedloadv8i16 addr:$src1)),
>+ (VPHSUBWDrm addr:$src1)>;
>
>Needs to be
>
>+def : Pat<(int_x86_xop_vphsubwd (bc_v8i16 (memopv2i64 addr:$src1))),
>+ (VPHSUBWDrm addr:$src1)>;
>
If the promotion always happens, maybe it would be best to remove patterns like:
def memopv8i16 : PatFrag<(ops node:$ptr), (v8i16 (memop node:$ptr))>;
def memopv16i8 : PatFrag<(ops node:$ptr), (v16i8 (memop node:$ptr))>;
- Jan
More information about the llvm-commits
mailing list