[PATCH] D26305: [Power9] vector load/store with length - llvm portion
Nemanja Ivanovic via llvm-commits
llvm-commits at lists.llvm.org
Tue Nov 8 05:39:36 PST 2016
nemanjai requested changes to this revision.
nemanjai added inline comments.
This revision now requires changes to proceed.
================
Comment at: include/llvm/IR/IntrinsicsPowerPC.td:724
Intrinsic<[llvm_v2f64_ty], [llvm_ptr_ty], [IntrReadMem, IntrArgMemOnly]>;
+def int_ppc_vsx_lxvl :
+ Intrinsic<[llvm_v4i32_ty], [llvm_ptr_ty, llvm_i32_ty], [IntrReadMem,
----------------
I realized after we spoke yesterday that we have to change this. The length operand is in bits 0-7 of the second GPR operand. It therefore means that we cannot model this with an i32 so the instructions operands need to be G8RC and this has to be llvm_i64_ty.
================
Comment at: lib/Target/PowerPC/PPCInstrVSX.td:2298
// Load Vector (Left-justified) with Length
- def LXVL : X_XT6_RA5_RB5<31, 269, "lxvl" , vsrc, []>;
- def LXVLL : X_XT6_RA5_RB5<31, 301, "lxvll" , vsrc, []>;
+ def LXVL : XX1Form<31, 269, (outs vsrc:$XT), (ins memr:$src, gprc:$rB),
+ "lxvl $XT, $src, $rB", IIC_LdStLoad,
----------------
See comment above.
https://reviews.llvm.org/D26305
More information about the llvm-commits
mailing list