1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-23 11:13:28 +01:00
llvm-mirror/lib/Target/VE/VEInstrIntrinsicVL.td
Kazushi (Jam) Marukawa 109cb6b0ac [VE] Add lsv/lvs intrinsic instructions
Add lsv/lvs intrinsic instructions and a regression test.

Reviewed By: simoll

Differential Revision: https://reviews.llvm.org/D91526
2020-11-16 23:42:51 +09:00

23 lines
959 B
TableGen

// Pattern Matchings for VEL Intrinsics
// Define intrinsics written by hand
// The lsv and lvs patterns
def : Pat<(int_ve_vl_lsv_vvss v256f64:$pt, i32:$sy, i64:$sz),
(LSVrr_v (INSERT_SUBREG (i64 (IMPLICIT_DEF)), i32:$sy, sub_i32),
i64:$sz, v256f64:$pt)>;
def : Pat<(int_ve_vl_lvsl_svs v256f64:$vx, i32:$sy),
(LVSvr v256f64:$vx,
(INSERT_SUBREG (i64 (IMPLICIT_DEF)), i32:$sy, sub_i32))>;
def : Pat<(int_ve_vl_lvsd_svs v256f64:$vx, i32:$sy),
(LVSvr v256f64:$vx,
(INSERT_SUBREG (i64 (IMPLICIT_DEF)), i32:$sy, sub_i32))>;
def : Pat<(int_ve_vl_lvss_svs v256f64:$vx, i32:$sy),
(EXTRACT_SUBREG (LVSvr v256f64:$vx,
(INSERT_SUBREG (i64 (IMPLICIT_DEF)), i32:$sy,
sub_i32)),
sub_f32)>;
// Define intrinsics automatically generated
include "VEInstrIntrinsicVL.gen.td"